03de7c4a4447803a39ec308dc15ea21fb1ba792c
[chise/xemacs-chise.git] / src / ChangeLog
1 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * char-ucs.h (encode_char_2): New inline function.
4         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
5
6 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * chartab.c (Fput_char_attribute): Convert char-specs to
9         characters in value of `ideographic-structure'.
10         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
11         for `{<-|->}simplified(@...)'.
12         (Fdefine_char): bTry to use predefined character's id.
13
14 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
15
16         * fns.c (simplify_char_spec): Try to convert builtin chars to
17         defined chars.
18
19 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
20
21         * chartab.c (Fput_char_attribute): Convert char-refs in value of
22         `<-simplified[^*]*' to characters and put reverse links.
23
24 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
25
26         * chartab.c (Q_subsumptive): Renamed from Q_unified.
27         (Q_subsumptive_from): Renamed from Q_unified_from.
28         (Fchar_feature): Use `Q_subsumptive_from' instead of
29         `Q_unified_from'.
30         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
31         `Q_unified'.
32         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
33         `<-unified' to `<-subsumptive'.
34
35 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
36
37         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
38         inheritance itself; fix typo; stop recursive search if cyclic
39         inheritance is found.
40
41 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
42
43         * chartab.c (Q_denotational): New variable.
44         (Q_denotational_from): New variable.
45         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
46         (put_char_attribute): New function.
47         (Fput_char_attribute): Use `put_char_attribute'; regard
48         `->denotational' and `<-denotational' as same as `->unified' and
49         `<-unified'.
50         (syms_of_chartab): Add new symbols `->denotational' and
51         `<-denotational'.
52
53 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
54
55         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
56         `Fget_char_attribute'.
57         (Fchar_variants): Likewise.
58         (get_char_table): Likewise.
59         (Fchar_feature): New function.
60         (put_char_composition): Use `Fchar_feature' instead of
61         `Fget_char_attribute'.
62         (Fput_char_attribute): Likewise; don't put the target character
63         into its `->unified' value.
64         (syms_of_chartab): Add new builtin function `char-feature'.
65
66 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
67
68         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
69         `Fget_char_attribute'.
70         (char_encode_utf8): Likewise.
71
72         * chartab.h: Add an EXFUN for `Fchar_feature'.
73
74 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
75
76         * chartab.c (Vnext_defined_char_id): New variable.
77         (Fput_char_attribute): Accept characters in `->unified'.
78         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
79         new characters which are not related with builtin char-id ranges.
80         (vars_of_chartab): Add new variable `next-defined-char-id'.
81
82 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
83
84         * chartab.c (Q_unified): New variable.
85         (Q_unified_from): New variable.
86         (Fput_char_attribute): Add code for `->unified'.
87         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
88         XEmacs CHISE.
89
90 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
91
92         * mule-charset.c (decode_ccs_conversion): New function.
93         (decode_defined_char): Use `decode_ccs_conversion'.
94         (decode_builtin_char): Likewise.
95
96 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
97
98         * char-ucs.h: Change some charset-ids of private coded-charsets.
99
100 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
101
102         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
103         (char_encode_as_entity_reference): Likewise.
104         (decode_coding_big5): Modify for `decode_defined_char' and
105         `DECODE_CHAR'.
106         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
107         avoid compiler warning.
108         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
109
110         * mule-charset.c (decode_defined_char): Add new argument
111         `without_inheritance'.
112         (Fdecode_char): Add new optional argument `without_inheritance'.
113         (Fdecode_builtin_char): Modify for `Fdecode_char'.
114
115         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
116         (simplify_char_spec): Likewise.
117
118         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
119         setting.
120
121         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
122         (map_char_table): Likewise.
123         (Fdefine_char): Use `Fdecode_char' without inheritance.
124         (Ffind_char): Modify for `Fdecode_char'.
125
126         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
127
128         * char-ucs.h (decode_defined_char): Add new argument
129         `without_inheritance'.
130         (DECODE_CHAR): Likewise.
131         (MAKE_CHAR): Modify for `DECODE_CHAR'.
132
133 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
134
135         * chartab.c (Vchise_system_db_directory): New variable.
136         (vars_of_chartab): Add new variable `chise-system-db-directory'.
137
138 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
139
140         * chartab.c: EXFUN `Fmount_char_attribute_table'.
141         (print_chartab_range): Don't define when `UTF2000' is defined.
142         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
143         `CHISE_DS_open'.
144
145 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
146
147         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
148         and optional argument `rehash' is specified, call
149         `open_chise_data_source_maybe' before
150         `chise_ds_foreach_char_feature_name' is called.
151
152 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
153
154         * chartab.c (char_attribute_list_reset_map_func): New function
155         when HAVE_LIBCHISE is defined.
156         (Fchar_attribute_list): Add new optional argument `rehash' when
157         HAVE_LIBCHISE is defined.
158         (open_chise_data_source_maybe): Use "chise-db" instead of
159         "char-db".
160         (char_attribute_system_db_file): Likewise.
161         (Fload_char_attribute_table): Use
162         `chise_feature_foreach_char_with_value' instead of
163         `chise_char_feature_value_iterate'.
164
165 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
166
167         * chartab.c (Vchise_db_directory): New variable.
168         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
169
170 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
171
172         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
173         instead of HAVE_CHISE to specify using with libchise.
174
175         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
176
177         * chartab.h: Don't use HAVE_CHISE_CLIENT.
178
179         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
180         defined or HAVE_LIBCHISE_LIBCHISE is defined.
181         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
182         is defined.
183         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
184         HAVE_CHISE to specify using with libchise.
185         (syms_of_chartab): Don't define symbol `system-char-id' when
186         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
187
188 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
189
190         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
191         specify CHISE DB support.
192         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
193         of `char_attribute_system_db_file' to check feature DB file.
194
195         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
196         HAVE_CHISE_CLIENT to specify CHISE DB support.
197
198         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
199         specify CHISE DB support.
200         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
201         not defined.
202         (Freset_char_attribute_table): Use `chise_feature_setup_db'
203         instead of `char_attribute_system_db_file' to check feature DB
204         file.
205
206 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
207
208         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
209         `HAVE_CHISE_CLIENT'.
210
211 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
212
213         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
214         (Fsave_charset_mapping_table): Don't use
215         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
216
217         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
218         (HAVE_LIBCHISE): New macro.
219
220         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
221
222         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
223         (Fsave_char_attribute_table): Don't use
224         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
225
226 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
227
228         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
229         defined.
230         (save_uint16_byte_table): Likewise.
231         (save_byte_table): Likewise.
232         (char_table_get_db): Use `chise_ds_load_char_feature_value'
233         instead of `chise_char_load_feature_value'.
234         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
235
236 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
237
238         * chartab.h (struct Lisp_Char_Table): Delete member
239         `feature_table' if CHISE is defined.
240
241         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
242         (Fcopy_char_table): Likewise.
243         (char_table_open_db_maybe): Likewise.
244         (char_table_close_db_maybe): Likewise.
245         (char_table_get_db): Likewise.
246         (Fmount_char_attribute_table): Likewise.
247         (Fload_char_attribute_table): Likewise.
248
249 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
250
251         * mule-charset.c (load_char_decoding_entry_maybe): Use
252         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
253         `chise_ccs_decode'.
254
255 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
256
257         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
258         instead of `chise_open_data_source'.
259         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
260         `chise_ds_close'.
261
262 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
263
264         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
265         instead of `chise_ds_open_feature_table'.
266         (char_table_close_db_maybe): Don't use `chise_ft_close'.
267
268 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
269
270         * mule-charset.c (Fsave_charset_mapping_table): Use
271         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
272         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
273         `chise_ccs_sync' instead of `chise_ccst_close'.
274         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
275
276         * chartab.c (open_chise_data_source_maybe): Modify for
277         `chise_open_data_source'.
278         (char_table_open_db_maybe): Modify for
279         `chise_ds_open_feature_table'.
280
281 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
282
283         * mule-charset.c (load_char_decoding_entry_maybe): Use
284         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
285         `chise_ccst_close'.
286
287 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
288
289         * mule-charset.c (Fsave_charset_mapping_table): Use
290         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
291         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
292         `chise_dt_put_char' and `chise_dt_close'.
293         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
294         `chise_ccs_decode' and `chise_ccst_close' instead of
295         `chise_ds_open_decoding_table', `chise_dt_get_char' and
296         `chise_dt_close'.
297
298         * chartab.c (char_table_get_db): Use
299         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
300         (load_char_attribute_table_map_func): Modify for
301         `chise_char_feature_value_iterate'.
302         (Fload_char_attribute_table): Use
303         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
304
305 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
306
307         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
308
309 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
310
311         * chartab.c (put_char_table): Modify for inherited coded-charsets
312         in XEmacs CHISE.
313
314 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
315
316         * chartab.c (Fput_char_table_map_function): Fixed.
317         (word_boundary_p): Don't check charset in XEmacs CHISE.
318
319 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
320
321         * mule-charset.c (Fsave_charset_mapping_table): Use
322         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
323         instead of `chise_open_decoding_table'; refer
324         `default_chise_data_source'; use `chise_dt_close' instead of
325         `chise_close_decoding_table'.
326         (load_char_decoding_entry_maybe): Likewise.
327
328         * chartab.c (default_chise_data_source): New variable when `CHISE'
329         is defined.
330         (Fcopy_char_table): `ct->ds' is deleted.
331         (open_chise_data_source_maybe): New function.
332         (Fclose_char_data_source): New function.
333         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
334         use `chise_ds_open_feature_table' instead of
335         `chise_open_feature_table'.
336         (char_table_close_db_maybe): Use `chise_ft_close' instead of
337         `chise_close_feature_table'; `cit->ds' is deleted.
338         (syms_of_chartab): Add new builtin function
339         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
340
341         * chartab.h (default_chise_data_source): New extern variable.
342         (open_chise_data_source_maybe): New prototype.
343         (struct Lisp_Char_Table): Delete `ds'.
344
345 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
346
347         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
348         `CHISE' is defined.
349
350 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
351
352         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
353         not defined; add code for non-libchise setting.
354         (char_table_close_db_maybe): Likewise.
355         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
356         defined.
357         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
358         even if `CHISE' is not defined.
359         (Freset_char_attribute_table): Likewise.
360         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
361         `char_table_close_db_maybe' even if `CHISE' is not defined; use
362         `char_table_get_db'.
363         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
364         `char_table_close_db_maybe' even if `CHISE' is not defined.
365
366 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
367
368         * chartab.c (char_table_open_db_maybe): New function.
369         (char_table_close_db_maybe): New function.
370         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
371         (Freset_char_attribute_table): Likewise.
372         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
373         `char_table_close_db_maybe'.
374         (Fload_char_attribute_table): Likewise.
375
376 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
377
378         * chartab.c: Don't include <chise.h> because it is included in
379         chartab.h.
380         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
381         defined.
382         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
383         `CHISE' is defined.
384         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
385         `CHISE' is defined.
386         (Fclose_char_attribute_table): Close `ct->feature_table' and
387         `ct->ds' when `CHISE' is defined.
388         (Freset_char_attribute_table): Likewise.
389         (load_char_attribute_maybe): Use `cit->ds' and
390         `cit->feature_table' when `CHISE' is defined.
391         (Fload_char_attribute_table): Likewise.
392
393         * chartab.h: Include <chise.h> when `CHISE' is defined.
394         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
395         when `CHISE' is defined.
396
397 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
398
399         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
400         is defined.
401         (char_table_description): Likewise.
402         (Fmake_char_table): Likewise.
403         (Fcopy_char_table): Likewise.
404         (Fmount_char_attribute_table): Likewise.
405         (Fclose_char_attribute_table): Likewise.
406         (Freset_char_attribute_table): Likewise.
407         (load_char_attribute_maybe): Likewise.
408         (Fload_char_attribute_table): Likewise.
409
410         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
411         defined.
412
413 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
414
415         * chartab.c (load_char_attribute_table_map_func): New function
416         when CHISE is defined.
417         (Qload_char_attribute_table_map_function): Don't define when CHISE
418         is defined.
419         (Fload_char_attribute_table_map_function): Likewise.
420         (Fload_char_attribute_table): Use libchise when `CHISE' is
421         defined.
422         (syms_of_chartab): Don't define
423         `load-char-attribute-table-map-function' when CHISE is defined.
424
425 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
426
427         * chartab.c: Include <chise.h> when `CHISE' is defined.
428         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
429
430 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
431
432         * mule-charset.c (charset_code_point): Fix problem when searching
433         in mother CCS fails with `defined_only' mode.
434
435 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
436
437         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
438         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
439         (put_char_composition): Likewise.
440         (Fput_char_attribute): Likewise.
441         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
442
443 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
444
445         * chartab.c (Q_ucs): Deleted.
446         (Fput_char_attribute): Don't refer `->ucs'.
447         (Fdefine_char): Likewise.
448         (Ffind_char): Likewise.
449         (syms_of_chartab): Delete `->ucs'.
450
451 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
452
453         * mule-charset.c (Qmap_cns11643_2): Renamed from
454         `Qchinese_cns11643_2'.
455         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
456         `chinese-cns11643-2'.
457         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
458         `=cns11643-2'.
459
460 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
461
462         * mule-charset.c (Qmap_cns11643_1): Renamed from
463         `Qchinese_cns11643_1'.
464         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
465         `chinese-cns11643-1'.
466         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
467         `=cns11643-1'.
468
469 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
470
471         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
472         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
473         `chinese-gb12345'.
474         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
475         `=gb12345'.
476
477 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
478
479         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
480         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
481         `chinese-gb2312'.
482         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
483         `=gb2312'.
484
485 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
486
487         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
488         (syms_of_mule_charset): Add new symbol `=big5' instead of
489         `chinese-big5'.
490         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
491
492 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
493
494         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
495         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
496         `korean-ksc5601'.
497         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
498         `=ks-x1001'.
499
500 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
501
502         * mule-charset.c (Qmap_jis_x0212): Renamed from
503         `Qjapanese_jisx0212'.
504         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
505         `japanese-jisx0212'.
506         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
507         `=jis-x0212'.
508
509 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
510
511         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
512         `Qjapanese_jisx0208'.
513         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
514         of `japanese-jisx0208'.
515         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
516         `=jis-x0208-1983'.
517
518 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
519
520         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
521         `Qjapanese_jisx0208_1978'.
522         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
523         of `japanese-jisx0208-1978'.
524         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
525         `=jis-x0208-1978'.
526
527 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
528
529         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
530         only for XEmacs CHISE.
531
532 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
533
534         * char-ucs.h: Compact non-ISO-IR charset-ids.
535         (LEADING_BYTE_UCS): Changed to -177.
536         (LEADING_BYTE_CONTROL_1): Changed to -77.
537         (LEADING_BYTE_UCS_BMP): Changed to -176.
538         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
539
540 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
541
542         * mule-charset.c (Qiso_ir): New variable.
543         (Fmake_charset): Recognise new property `iso-ir'.
544         (syms_of_mule_charset): Add new symbol `iso-ir'.
545
546 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
547
548         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
549         n to -n; charset-id of non ISO-IR sets are changed to positive
550         numbers.
551
552 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
553
554         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
555         for &MCS-XXXXXXXX; values.
556
557 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
558
559         * mule.c (Vxemacs_chise_version): Renamed from
560         `Vutf_2000_version'.
561         (vars_of_mule): Add new variable `xemacs-chise-version'; define
562         `utf-2000-version' as an alias for `xemacs-chise-version'.
563
564 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
565
566         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
567         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
568         defined.
569
570         * config.h.in (CHISE): New macro.
571
572 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
573
574         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
575         of `ucs'.
576         (Qmap_ucs): New variable.
577         (syms_of_mule_charset): Add new symbol `=ucs'.
578         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
579
580         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
581         (simplify_char_spec): Likewise.
582
583         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
584
585         * char-ucs.h (Qmap_ucs): New extern variable.
586
587 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
588
589         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
590         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
591         don't define it when UTF2000 is not defined.
592         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
593         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
594         when UTF2000 is not defined.
595         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
596         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
597
598 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
599
600         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
601
602         * mule-charset.c (Vcharset_ucs_gb): Deleted.
603         (Qucs_gb): Deleted.
604         (syms_of_mule_charset): Delete `ucs-gb'.
605         (complex_vars_of_mule_charset): Likewise.
606
607 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
608
609         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
610
611         * mule-charset.c (Vcharset_ucs_cns): Deleted.
612         (Qucs_cns): Deleted.
613         (syms_of_mule_charset): Delete `ucs-cns'.
614         (complex_vars_of_mule_charset): Likewise.
615
616 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
617
618         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
619
620         * mule-charset.c (Vcharset_ucs_jis): Deleted.
621         (Qucs_jis): Deleted.
622         (syms_of_mule_charset): Delete `ucs-jis'.
623         (complex_vars_of_mule_charset): Likewise.
624
625 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
626
627         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
628
629         * mule-charset.c (Vcharset_ucs_ks): Deleted.
630         (Qucs_ks): Deleted.
631         (syms_of_mule_charset): Delete `ucs-ks'.
632         (complex_vars_of_mule_charset): Likewise.
633
634 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
635
636         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
637         (Qideograph_daikanwa_2): Deleted.
638         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
639         (complex_vars_of_mule_charset): Likewise.
640
641         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
642         (LEADING_BYTE_DAIKANWA_1): Deleted.
643         (LEADING_BYTE_DAIKANWA_2): Deleted.
644         (MIN_CHAR_DAIKANWA): Deleted.
645         (MAX_CHAR_DAIKANWA): Deleted.
646
647 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
648
649         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
650         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
651         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
652
653         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
654         (Vcharset_ideograph_daikanwa): Deleted.
655         (Qideograph_hanziku_{1..12}): Deleted.
656         (Qideograph_daikanwa): Deleted.
657         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
658         Vcharset_ideograph_daikanwa.
659         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
660         `ideograph-hanziku-{1..12}'.
661         (complex_vars_of_mule_charset): Likewise.
662
663 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
664
665         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
666
667         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
668         (Qideograph_gt_pj_{1..11}): Deleted.
669         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
670         (complex_vars_of_mule_charset): Likewise.
671
672 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
673
674         * mule-charset.c (Vcharset_ucs_big5): Deleted.
675         (Vcharset_ideograph_gt): Deleted.
676         (Qucs_big5): Deleted.
677         (Qideograph_gt): Deleted.
678         (syms_of_mule_charset): Delete symbol `ucs-big5' and
679         `ideograph-gt'.
680         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
681         and `ideograph-gt'.
682
683         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
684         (LEADING_BYTE_GT): Deleted.
685         (MIN_CHAR_GT): Deleted.
686         (MAX_CHAR_GT): Deleted.
687
688 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
689
690         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
691
692 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
693
694         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
695         (save_uint16_byte_table): Likewise.
696         (save_byte_table): Likewise; convert values by it.
697         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
698         for `ideographic-structure'.
699         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
700         as the filter for `ideographic-structure'.
701
702 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
703
704         * chartab.c (put_char_composition): New function.
705         (Fput_char_attribute): Use `put_char_composition'; use
706         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
707
708         * fns.c (simplify_char_spec): New function.
709         (char_ref_simplify_spec): New function.
710         (Fchar_refs_simplify_char_specs): New function.
711         (syms_of_fns): Add new builtin function
712         `char-refs-simplify-char-specs'.
713
714 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
715
716         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
717         (Qideograph_cbeta): Deleted.
718         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
719         (complex_vars_of_mule_charset): Likewise.
720
721         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
722         (MIN_CHAR_CBETA): Comment out.
723         (MAX_CHAR_CBETA): Likewise.
724
725 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
726
727         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
728         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
729         CHISE client feature.
730
731 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
732
733         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
734
735 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
736
737         * mule-charset.c (charset_lookup_description_1): Use
738         `NUM_LEADING_BYTES' in UTF-2000.
739
740 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
741
742         * char-ucs.h (GC_CHARSETP): Deleted.
743
744 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
745
746         * char-ucs.h (MAX_CHAR_GT): Updated.
747
748 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
749
750         * text-coding.c: Sync with XEmacs 21.4.10.
751
752 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
753
754         * mule-charset.c (Vcharset_china3_jef): Deleted.
755         (Qchina3_jef): Deleted.
756         (syms_of_mule_charset): Don't define `china3-jef'.
757         (complex_vars_of_mule_charset): Likewise.
758
759         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
760         (MIN_CHAR_CHINA3_JEF): Comment out.
761         (MAX_CHAR_CHINA3_JEF): Comment out.
762
763 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
764
765         * mule-charset.c (Vcharset_ucs_gb): New variable.
766         (Qucs_gb): New variable.
767         (syms_of_mule_charset): Add new symbol `ucs-gb'.
768         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
769
770         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
771
772 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
773
774         * mule-charset.c (charset_code_point): if a coded-charset has a
775         final-byte, don't inherit the builtin range of the mother CCS.
776
777 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
778
779         * mule-charset.c (charset_code_point): Fix problem about
780         inheritance.
781
782 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
783
784         * mule-charset.c (decode_builtin_char): Reorganized.
785
786 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
787
788         * text-coding.c (char_encode_as_entity_reference): Modify for
789         `charset_code_point'.
790         (char_encode_shift_jis): Likewise.
791         (char_encode_big5): Likewise.
792         (char_encode_utf8): Likewise.
793         (char_encode_iso2022): Likewise.
794
795         * mule-charset.c (charset_code_point): Add new argument
796         `defined_only'.
797         (Fencode_char): Add new optional argument `defined_only'.
798
799         * chartab.c (put_char_table): Modify for `charset_code_point'.
800
801         * char-ucs.h (charset_code_point): Add new argument
802         `defined_only'.
803         (encode_char_1): Modify for `charset_code_point'.
804
805 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
806
807         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
808         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
809
810 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
811
812         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
813         (Qjis_x0208): Likewise.
814         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
815         XCHARSET_FINAL(charset).
816         (charset_code_point): Modify condition for final-byte based
817         builtin-chars.
818         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
819         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
820         in UTF-2000; specify `=jis-x0208' as the mother of
821         `japanese-jisx0208-1978', `japanese-jisx0208' and
822         `japanese-jisx0208-1990' in UTF-2000.
823
824 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
825
826         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
827
828 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
829
830         * text-coding.c (decode_coding_utf16): Support UTF-16.
831         (char_encode_utf16): Fixed.
832
833 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
834
835         * text-coding.c (Qutf16): New variable in MULE.
836         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
837         (Fcoding_system_type): Add `utf-16' in MULE.
838         (struct detection_state): Add a structure for utf16 in MULE.
839         (detect_coding_type): Setup st->utf16.mask in MULE.
840         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
841         MULE.
842         (reset_encoding_stream): Use `char_encode_utf16' and
843         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
844         (detect_coding_utf16): New function [incomplete].
845         (decode_coding_utf16): New function [support only UCS-2].
846         (char_encode_utf16): New function.
847         (char_finish_utf16): New function.
848         (syms_of_file_coding): Add new symbol `utf-16'; setup
849         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
850
851         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
852         UTF-2000.
853         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
854         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
855
856 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
857
858         * chartab.c (put_char_table): When a charset is specified as a
859         range in UTF-2000, don't support builtin characters.
860
861 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
862
863         * mule-charset.c (decode_defined_char): Don't refer external
864         database if Qunbound or Qnil are found.
865         (Fsave_charset_mapping_table): Don't define it if
866         HAVE_CHISE_CLIENT is not defined.
867         (Freset_charset_mapping_table): New function.
868         (load_char_decoding_entry_maybe): Store Qnil if a character is not
869         found in external database.
870         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
871         if HAVE_CHISE_CLIENT is not defined; add new builtin function
872         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
873
874 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
875
876         * text-coding.c (decode_coding_utf8): Check CCS is specified or
877         not.
878
879 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
880
881         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
882         Q_lowercase, Q_uppercase in UTF-2000.
883
884         * chartab.c (get_char_table): Add special code for the standard
885         case table to use character attribute `->downcase' and
886         `->uppercase' for case operations in UTF-2000.
887
888         * casetab.c (Qflippedcase): New variable in UTF-2000.
889         (Q_lowercase): Likewise.
890         (Q_uppercase): Likewise.
891         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
892         and `->uppercase' in UTF-2000.
893         (complex_vars_of_casetab): Assign attribute name `downcase' to
894         downcase and CANON table of Vstandard_case_table in UTF-2000;
895         assign attribute name `flippedcase' to upcase and EQV table of
896         Vstandard_case_table in UTF-2000.
897
898 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
899
900         * text-coding.c (decode_add_er_char): Support isolated-chars.
901         (char_encode_as_entity_reference): Likewise.
902
903 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
904
905         * emacs.c (Vutf_2000_lisp_directory): New variable.
906         (Vconfigure_utf_2000_lisp_directory): Likewise.
907         (complex_vars_of_emacs): Add new variable
908         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
909
910 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
911
912         * char-ucs.h (DECODE_CHAR): Delete special code for
913         `chinese-big5-1' and `chinese-big5-2'.
914
915         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
916         (Qbig5_2): Likewise.
917         (decode_defined_char): Support CONVERSION_BIG5_1 and
918         CONVERSION_BIG5_2.
919         (decode_builtin_char): Likewise.
920         (charset_code_point): Likewise.
921         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
922         'conversion in UTF-2000.
923         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
924         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
925         `chinese-big5-2' as children of `chinese-big5'.
926
927         * char-ucs.h (CONVERSION_BIG5_1): New macro.
928         (CONVERSION_BIG5_2): New macro.
929
930 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
931
932         * text-coding.c (char_encode_big5): Support entity-reference.
933
934 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
935
936         * text-coding.c (char_encode_as_entity_reference): New function.
937         (char_encode_utf8): Use `char_encode_as_entity_reference'.
938
939 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
940
941         * text-coding.c (decode_coding_big5): Support entity-reference
942         decoding feature.
943
944 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
945
946         * text-coding.c (allocate_coding_system): Initialize initial
947         charsets for CODESYS_UTF8.
948         (Fmake_coding_system): Accept charset-g0, charset-g1 and
949         charset-g2 for CODESYS_UTF8.
950         (decode_coding_utf8): Use charset-g0.
951         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
952         to force variants to map to UCS.
953
954 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
955
956         * text-coding.c (Qutf_8_mcs): New variable.
957         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
958         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
959         instead of `utf-8' in UTF-2000.
960
961 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
962
963         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
964         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
965         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
966         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
967         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
968         CONVERSION_96x96x96x96 are introduced.
969         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
970         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
971         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
972
973         * char-ucs.h (CONVERSION_94): New macro.
974         (CONVERSION_96): New macro.
975         (CONVERSION_94x94): New macro.
976         (CONVERSION_96x96): New macro.
977         (CONVERSION_94x94x94): New macro.
978         (CONVERSION_96x96x96): New macro.
979         (CONVERSION_94x94x94x60): New macro.
980         (CONVERSION_94x94x94x94): New macro.
981         (CONVERSION_96x96x96x96): New macro.
982
983 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
984
985         * chartab.c (Vcharacter_variant_table): Deleted.
986         (Fchar_variants): Use character-attribute `->ucs-variants' instead
987         of `Vcharacter_variant_table'.
988         (Fput_char_attribute): Likewise.
989         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
990         (complex_vars_of_chartab): Likewise.
991
992 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
993
994         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
995
996         * fns.c (Qideographic_structure): New variable.
997         (Qkeyword_char): New variable.
998         (ids_format_unit): New function.
999         (Fideographic_structure_to_ids): New function.
1000         (syms_of_fns): Add new symbols `ideographic-structure' and
1001         `:char'; add new builtin function `ideographic-structure-to-ids'.
1002
1003         * data.c (Fchar_ref_p): New function.
1004         (syms_of_data): Add new builtin function `char-ref-p'.
1005
1006         * chartab.h: Add an EXFUN for `Ffind_char'.
1007
1008 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1009
1010         * text-coding.c (Vcharacter_composition_table): Deleted.
1011         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1012         in every UTF-2000.
1013
1014         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1015         UTF-2000.
1016         (Vcharacter_composition_table): Deleted.
1017         (Fget_composite_char): Use the implementation for external-DB
1018         support in every UTF-2000.
1019         (Fput_char_attribute): Likewise.
1020         (char_attribute_system_db_file): Don't define if external-DB
1021         feature is not available.
1022         (Fsave_char_attribute_table): Likewise.
1023         (Fmount_char_attribute_table): Likewise.
1024         (Fclose_char_attribute_table): Likewise.
1025         (Freset_char_attribute_table): Likewise.
1026         (Fload_char_attribute_table): Likewise.
1027         (syms_of_chartab): Don't define `save-char-attribute-table',
1028         `mount-char-attribute-table', `reset-char-attribute-table',
1029         `close-char-attribute-table' and `load-char-attribute-table' if
1030         external-DB feature is not available.
1031         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1032
1033 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1034
1035         * text-coding.c (Qcomposition): Add extern if external-DB feature
1036         is supported.
1037         (Vcharacter_composition_table): Don't add extern if external-DB
1038         feature is supported.
1039         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1040         character composition rule if external-DB feature is supported.
1041
1042         * chartab.c (Vcharacter_composition_table): Don't define if
1043         external-DB feature is supported.
1044         (Qcomposition): New variable.
1045         (Fget_composite_char): New implementation for external-DB support.
1046         (Fput_char_attribute): Use `composition' property of each
1047         character instead of `Vcharacter_composition_table' to store
1048         character-composition rules if external-DB feature is supported.
1049         (syms_of_chartab): Add new symbol `composition'.
1050         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1051         external-DB feature is supported.
1052
1053 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1054
1055         * chartab.c (Vchar_db_stingy_mode): New variable.
1056         (load_char_attribute_maybe): Close database if
1057         Vchar_db_stingy_mode is not NIL.
1058         (Fload_char_attribute_table_map_function): Use
1059         `get_char_id_table_0' instead of `get_char_id_table'.
1060         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1061
1062         * chartab.h (get_char_id_table_0): New inline function.
1063         (get_char_id_table): Use `get_char_id_table_0'.
1064
1065 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1066
1067         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1068         and `COMPOSE_ADD_CHAR'.
1069         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1070
1071 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1072
1073         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1074         instead of `DECODE_ADD_UCS_CHAR'.
1075         (COMPOSE_ADD_CHAR): Likewise.
1076
1077 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1078
1079         * text-coding.c (decode_flush_er_chars): New inline function.
1080         (decode_add_er_char): New function.
1081         (decode_coding_utf8): Use `decode_flush_er_chars' and
1082         `decode_add_er_char'.
1083
1084 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1085
1086         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1087         done before `decode_output_utf8_partial_char'.
1088
1089         * mule-charset.c (complex_vars_of_mule_charset): Specify
1090         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1091         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1092
1093 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1094
1095         * mule-charset.c (decode_defined_char): New function; search
1096         mother.
1097         (decode_builtin_char): Don't search mother if
1098         XCHARSET_MAX_CODE(charset) == 0.
1099         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1100         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1101         (Fdecode_char): Use `decode_defined_char' instead of
1102         `DECODE_DEFINED_CHAR'.
1103         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1104         mother of `Vcharset_ucs_jis'.
1105
1106         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1107         instead of `DECODE_DEFINED_CHAR'.
1108
1109         * char-ucs.h (decode_defined_char): Renamed from
1110         `DECODE_DEFINED_CHAR'; changed to normal function.
1111         (DECODE_CHAR): Use `decode_defined_char' instead of
1112         `DECODE_DEFINED_CHAR'.
1113
1114         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1115
1116 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1117
1118         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1119
1120         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1121         variable.
1122         (Quse_entity_reference): New variable.
1123         (Qd): New variable.
1124         (Qx): New variable.
1125         (QX): New variable.
1126         (coding_system_description): Add description for
1127         `ccs_priority_list'.
1128         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1129         (allocate_coding_system): Initialize `ccs_priority_list' in
1130         UTF-2000.
1131         (Fmake_coding_system): Add description about
1132         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1133         (codesys).
1134         (Fcoding_system_property): Accept `disable-composition' and
1135         `use-entity-reference' in UTF-2000.
1136         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1137         in UTF-2000.
1138         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1139         (decode_coding_utf8): Decode entity-reference if
1140         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1141         (char_encode_utf8): Encode non-Unicode characters as
1142         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1143         (str->codesys).
1144         (syms_of_file_coding): Add new symbols `use-entity-reference',
1145         `d', `x', `X'.
1146         (vars_of_file_coding): Add new variable
1147         `coded-charset-entity-reference-alist'.
1148         (complex_vars_of_file_coding): Declare `disable-composition' and
1149         `use-entity-reference' to be coding-system-properties in UTF-2000.
1150
1151         * file-coding.h (struct Lisp_Coding_System): Add new member
1152         `use_entity_reference' and `ccs_priority_list'.
1153         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1154         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1155         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1156
1157 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1158
1159         * chartab.c (save_uint8_byte_table): Don't clear the table.
1160         (save_uint16_byte_table): Likewise.
1161         (save_byte_table): Likewise.
1162         (Fmount_char_attribute_table): New function.
1163         (syms_of_chartab): Add new builtin function
1164         `mount-char-attribute-table'.
1165
1166 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1167
1168         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1169         "w+" mode.
1170         (load_char_decoding_entry_maybe): Open database as read-only mode.
1171
1172         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1173         open database as "w+" mode.
1174         (load_char_attribute_maybe): Open database as read-only mode.
1175         (Fload_char_attribute_table): Likewise.
1176
1177 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1178
1179         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1180         (char_table_description): Delete member `db_file'.
1181         (Fmake_char_table): Don't refer `ct->db_file'.
1182         (Fcopy_char_table): Likewise.
1183         (Fsave_char_attribute_table): Likewise.
1184         (Fclose_char_attribute_table): Likewise.
1185         (Freset_char_attribute_table): Likewise.
1186         (load_char_attribute_maybe): Likewise.
1187         (Fload_char_attribute_table): Likewise.
1188
1189         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1190
1191 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1192
1193         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1194         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1195         `ct->db' is living.
1196         (load_char_attribute_maybe): Likewise.
1197         (Fload_char_attribute_table): Likewise.
1198
1199 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1200
1201         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1202         `ct->db_file' unconditionally.
1203
1204 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1205
1206         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1207         UTF-2000.
1208         (char_table_description): Add description for `db_file' and `db'
1209         in UTF-2000.
1210         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1211         UTF-2000.
1212         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1213         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1214         (Fclose_char_attribute_table): New function.
1215         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1216         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1217         and `cit->db'.
1218         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1219         (syms_of_chartab): Add new builtin function
1220         `Fclose_char_attribute_table'.
1221
1222 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1223
1224         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1225         `db' in UTF-2000.
1226         (load_char_attribute_maybe): Change interface.
1227         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1228
1229 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1230
1231         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1232
1233 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1234
1235         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1236         instead of `DECODE_CHAR' for mother; don't use special code for
1237         chinese-big5 to use code space of chinese-big5-1 and
1238         chinese-big5-2.
1239         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1240         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1241
1242         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1243         (MAX_CHAR_BIG5_CDP): Revival.
1244
1245 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1246
1247         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1248         the XLFD registry-encoding name of `chinese-big5'.
1249
1250 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1251
1252         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1253         (Qchinese_big5_cdp): Deleted.
1254         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1255         (complex_vars_of_mule_charset): Delete coded-charset
1256         `chinese-big5-cdp'.
1257
1258         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1259         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1260         `CHARSET_ID_OFFSET - n' for private CCS.
1261         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1262         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1263         of `MIN_LEADING_BYTE'.
1264         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1265         `(CHARSET_ID_OFFSET - 97)'.
1266         (MIN_CHAR_BIG5_CDP): Deleted.
1267         (MAX_CHAR_BIG5_CDP): Deleted.
1268
1269 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1270
1271         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1272
1273 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1274
1275         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1276         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1277         chartab.c].
1278
1279         * chartab.c (Vutf_2000_version): Moved to mule.c.
1280         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1281
1282 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1283
1284         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1285         when HAVE_CHISE_CLIENT is not defined.
1286
1287         * mule.c (vars_of_mule): Provide feature `chise' when
1288         HAVE_CHISE_CLIENT is defined.
1289
1290 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1291
1292         * config.h.in (UTF2000): Add comment.
1293         (HAVE_CHISE_CLIENT): New macro.
1294
1295 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1296
1297         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1298         CONSP.
1299         (Fput_char_attribute): Likewise.
1300         (char_attribute_system_db_file): Encode file-name of attribute.
1301         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1302         the initial value.
1303
1304 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1305
1306         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1307         (Fsave_charset_mapping_table): Use
1308         `char_attribute_system_db_file'.
1309         (load_char_decoding_entry_maybe): Likewise.
1310
1311         * chartab.h (Qsystem_char_id): New external variable.
1312         (char_attribute_system_db_file): New prototype.
1313
1314         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1315         (char_attribute_system_db_file): New function.
1316         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1317         (Freset_char_attribute_table): Likewise.
1318         (load_char_attribute_maybe): Likewise.
1319         (Fload_char_attribute_table): Likewise.
1320         (syms_of_chartab): Add new symbol `system-char-id'.
1321
1322 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1323
1324         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1325         `XCHARSET_GRAPHIC(ccs)'.
1326
1327 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1328
1329         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1330
1331 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1332
1333         * chartab.c (Q_ucs_variants): New variable.
1334         (syms_of_chartab): Add new symbol `->ucs-variants'.
1335         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1336         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1337         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1338
1339         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1340
1341         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1342         `HAVE_DATABASE' is defined.
1343         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1344         `HAVE_DATABASE' is defined.
1345
1346 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1347
1348         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1349         attribute-table.
1350         (Freset_char_attribute_table): New function.
1351         (syms_of_chartab): Add new builtin function
1352         `reset-char-attribute-table'.
1353
1354 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1355
1356         * chartab.c (load_char_attribute_maybe): Don't make directories.
1357
1358 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1359
1360         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1361
1362         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1363         for decoding-table.
1364
1365 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1366
1367         * mule-charset.c (Fsave_charset_mapping_table): Use
1368         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1369
1370         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1371         instead of `XCHARSET_CHARS'.
1372
1373 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1374
1375         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1376         (XCHARSET_BYTE_SIZE): Likewise.
1377
1378         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1379         mule-charset.c].
1380         (XCHARSET_BYTE_SIZE): Likewise.
1381
1382 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1383
1384         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1385         data-directory to store database.
1386         (Fsave_char_attribute_table): Likewise.
1387         (load_char_attribute_maybe): Likewise.
1388         (Fload_char_attribute_table): Likewise.
1389
1390 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1391
1392         * mule-charset.c (Fsave_charset_mapping_table): New function.
1393         (syms_of_mule_charset): Add new builtin function
1394         `save-charset-mapping-table'.
1395
1396 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1397
1398         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1399         (get_ccs_octet_table): New inline function.
1400         (put_ccs_octet_table): Likewise.
1401         (decoding_table_put_char): Use `get_ccs_octet_table' and
1402         `put_ccs_octet_table'.
1403         (decoding_table_remove_char): Use `decoding_table_put_char'.
1404         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1405
1406         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1407         into encoding_table.
1408         (make_charset): Use Qunbound instead Qnil as initial value of
1409         decoding_table.
1410
1411 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1412
1413         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1414         element is Qunloaded.
1415         (map_over_uint16_byte_table): Likewise.
1416         (map_over_byte_table): Likewise.
1417         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1418         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1419         database support, load encoding-table of the specified
1420         coded-charset if it is not loaded yet.
1421         (save_uint8_byte_table): New function of UTF-2000 with external
1422         database support.
1423         (save_uint16_byte_table): Likewise.
1424         (save_byte_table): Likewise.
1425         (Fput_char_attribute): Don't store value into external database
1426         even if the external database feature is supported in UTF-2000;
1427         set `attribute' as name of char-table if the external database
1428         feature is supported.
1429         (Fsave_char_attribute_table): New function in UTF-2000.
1430         (syms_of_chartab): Add new builtin function
1431         `save-char-attribute-table' in UTF-2000.
1432
1433 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1434
1435         * chartab.c (char_attribute_table_to_put): New variable in
1436         UTF-2000.
1437         (Qput_char_table_map_function): Likewise.
1438         (value_to_put): Likewise.
1439         (Fput_char_table_map_function): New function in UTF-2000.
1440         (put_char_table): Use `Fmap_char_attribute' for
1441         CHARTAB_RANGE_CHARSET in UTF-2000.
1442         (Fput_char_attribute): Store symbol instead of string in
1443         `XCHAR_TABLE_NAME (table)'.
1444         (load_char_attribute_maybe): Likewise.
1445         (syms_of_chartab): Add new symbol/function
1446         `put-char-table-map-function'.
1447
1448 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1449
1450         * database.h: Add new EXFUN for `Fmap_database'.
1451
1452         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1453         (syms_of_database): Likewise.
1454
1455         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1456         UTF-2000.
1457         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1458         (XCHAR_TABLE_UNLOADED): Likewise.
1459
1460         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1461         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1462         HAVE_DATABASE is defined.
1463         (char_attribute_table_to_load): New variable of UTF-2000 with
1464         external database support.
1465         (Qload_char_attribute_table_map_function): Likewise.
1466         (Fload_char_attribute_table_map_function): New function of
1467         UTF-2000 with external database support.
1468         (Fload_char_attribute_table): New function of UTF-2000.
1469         (Fmap_char_attribute): Call Fload_char_attribute_table if
1470         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1471         (syms_of_chartab): Add new symbol and function
1472         `load-char-attribute-table-map-function' in UTF-2000 with external
1473         database support; add new function `load-char-attribute-table' in
1474         UTF-2000.
1475
1476 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1477
1478         * chartab.h (load_char_attribute_maybe): New prototype for
1479         UTF-2000 with DATABASE support.
1480         (get_char_id_table): Use `load_char_attribute_maybe' if
1481         HAVE_DATABASE is defined.
1482
1483         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1484         with DATABASE support.
1485
1486 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1487
1488         * chartab.c (Fput_char_attribute): Use S-expression as key of
1489         external database.
1490
1491         * chartab.h (get_char_id_table): Use S-expression as key of
1492         external database.
1493
1494 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1495
1496         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1497         if an element is not loaded, load the corresponding attributes
1498         from an external database.
1499         (map_over_uint16_byte_table): Likewise.
1500         (map_over_byte_table): Likewise.
1501         (map_char_table): Modify for `map_over_uint8_byte_table',
1502         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1503         element is not loaded, load the corresponding attributes from an
1504         external database.
1505         (Fput_char_attribute): Change initial values to Qunloaded.
1506
1507         * chartab.h (get_char_id_table): If a character attribute is not
1508         loaded and the attribute value is not found in an external
1509         database, store Qunbound as the attribute value.
1510
1511 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1512
1513         * chartab.c (BT_UINT8_unloaded): New macro.
1514         (UINT8_VALUE_P): Accept Qunloaded.
1515         (UINT8_ENCODE): Likewise.
1516         (UINT8_DECODE): Likewise.
1517         (BT_UINT16_unloaded): New macro.
1518         (UINT16_VALUE_P): Accept Qunloaded.
1519         (UINT16_ENCODE): Likewise.
1520         (UINT16_DECODE): Likewise.
1521         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1522         BT_UINT16_unloaded.
1523         (mark_char_table): Mark `ct->name' in UTF-2000.
1524         (char_table_description): Add `name' in UTF-2000.
1525         (Fmake_char_table): Initialize `ct->name'.
1526         (Fcopy_char_table): Copy `ct->name'.
1527         (Fput_char_attribute): Store value into an external database if
1528         HAVE_DATABASE is defined.
1529
1530         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1531         UTF-2000.
1532         (CHAR_TABLE_NAME): New macro in UTF-2000.
1533         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1534         (get_char_id_table): Try to read an external database if Qunloaded
1535         is stored in a table.
1536
1537         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1538         Qunloaded.
1539
1540 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1541
1542         * database.h: Add EXFUN definitions for Fopen_database,
1543         Fput_database, Fget_database and Fclose_database.
1544
1545         * data.c (Qunloaded): New variable in UTF-2000.
1546
1547         * lisp.h (Qunloaded): New variable in UTF-2000.
1548
1549 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1550
1551         * mule-charset.c (put_char_ccs_code_point): Modify for
1552         `decoding_table_remove_char' and `decoding_table_put_char'.
1553         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1554
1555         * char-ucs.h (decoding_table_remove_char): Change arguments to
1556         hide decoding_table vector.
1557         (decoding_table_put_char): Likewise.
1558
1559 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1560
1561         * mule-charset.c (decoding_table_remove_char): Moved to
1562         char-ucs.h.
1563         (decoding_table_put_char): Likewise.
1564
1565         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1566         from mule-charset.c].
1567         (decoding_table_remove_char): New inline function [moved from
1568         mule-charset.c].
1569         (decoding_table_put_char): Likewise.
1570
1571 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1572
1573         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1574         extension.
1575
1576 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1577
1578         * mule-charset.c (decode_builtin_char): Support mother charsets.
1579
1580 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1581
1582         * mule-charset.c (Q94x94x60): New variable.
1583         (charset_code_point): Support conversion `94x94x60'.
1584         (Fmake_charset): Likewise.
1585         (syms_of_mule_charset): Add new symbol `94x94x60'.
1586
1587         * char-ucs.h (CONVERSION_94x94x60): New macro.
1588
1589 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1590
1591         * mule-charset.c (charset_code_point): Unify code about
1592         `code-offset'.
1593
1594 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1595
1596         * mule-charset.c (charset_code_point): Merge code about builtin
1597         characters into code about mother charsets; don't use
1598         `range_charset_code_point'.
1599         (range_charset_code_point): Deleted.
1600
1601 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1602
1603         * mule-charset.c (Qcode_offset): New variable.
1604         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1605         `max-code'; accept new property `code-offset'.
1606         (syms_of_mule_charset): Add new symbol `code-offset'.
1607
1608 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1609
1610         * mule-charset.c (range_charset_code_point): Fixed.
1611
1612 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1613
1614         * mule-charset.c (decode_builtin_char): Change semantics of
1615         code-offset of coded-charset.
1616         (charset_code_point): Likewise.
1617         (range_charset_code_point): Likewise.
1618         (complex_vars_of_mule_charset): Modify for the change.
1619
1620 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1621
1622         * mule-charset.c (Fencode_char): Reverse arguments.
1623
1624         * mule-charset.c (charset_code_point): Fixed.
1625
1626 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1627
1628         * mule-charset.c (Vcharset_mojikyo): Deleted.
1629         (Vcharset_mojikyo_2022_1): Deleted.
1630         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1631         (Qmin_code): New variable in UTF-2000.
1632         (Qmax_code): Likewise.
1633         (Qmother): Likewise.
1634         (Qconversion): Likewise.
1635         (Q94x60): Likewise.
1636         (Qmojikyo): Deleted.
1637         (Qmojikyo_2022_1): Deleted.
1638         (Qmojikyo_pj_{1..22}): Deleted.
1639         (mark_charset): Mark `cs->mother'.
1640         (charset_description): Add description for `mother'.
1641         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1642         new arguments `mother' and `conversion'; use
1643         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1644         (charset_code_point): Moved from char-ucs.h; support `mother'
1645         charset feature.
1646         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1647         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1648         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1649         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1650         allow 2 as the value of `graphic' in UTF-2000; add new properties
1651         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1652         require `final' in UTF-2000; modify for `make_charset'.
1653         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1654         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1655         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1656         (Fencode_char): New function.
1657         (syms_of_mule_charset): Add new builtin function `encode-char' in
1658         UTF-2000; add new symbols `min-code', `max-code', `mother',
1659         `conversion' and `94x60'; delete symbols `mojikyo',
1660         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1661         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1662         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1663         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1664
1665         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1666         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1667
1668         * char-ucs.h (Vcharset_mojikyo): Deleted.
1669         (Vcharset_mojikyo_2022_1): Deleted.
1670         (LEADING_BYTE_MOJIKYO): Deleted.
1671         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1672         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1673         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1674         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1675         add new member `mother'; add new member `conversion'.
1676         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1677         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1678         (CHARSET_MOTHER): New macro.
1679         (CHARSET_CONVERSION): New macro.
1680         (CONVERSION_IDENTICAL): New macro.
1681         (CONVERSION_94x60): New macro.
1682         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1683         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1684         (XCHARSET_MOTHER): New macro.
1685         (XCHARSET_CONVERSION): New macro.
1686         (MIN_CHAR_MOJIKYO): Deleted.
1687         (MAX_CHAR_MOJIKYO): Deleted.
1688         (DECODE_MOJIKYO_2022): Deleted.
1689         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1690         (charset_code_point): Changed to non-inline function.
1691         (encode_char_1): Use `charset_code_point'.
1692         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1693
1694 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1695
1696         * lread.c (read_compiled_function): Fix prototype.
1697         (read_vector): Likewise.
1698
1699 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1700
1701         * lrecord.h (struct lrecord_header): Delete `older'.
1702         (set_lheader_implementation): Delete code for `older'.
1703         (set_lheader_older_implementation): Deleted.
1704         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1705         (OLDER_RECORD_P): Deleted.
1706         (OLDER_RECORD_HEADER_P): Deleted.
1707         (alloc_older_lcrecord): Deleted.
1708         (alloc_older_lcrecord_type): Deleted.
1709
1710         * alloc.c (all_older_lcrecords): Deleted.
1711         (alloc_older_lcrecord): Deleted.
1712         (disksave_object_finalization_1): Delete code for older objects.
1713         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1714         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1715
1716 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1717
1718         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1719         instead of `make_older_vector'.
1720         (put_char_ccs_code_point): Likewise.
1721         (mark_charset): Mark `cs->decoding_table'.
1722         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1723
1724         * lisp.h (make_older_vector): Deleted.
1725         (make_vector_newer): Deleted.
1726
1727         * config.h.in (HAVE_GGC): Deleted.
1728
1729         * alloc.c (make_older_vector): Deleted.
1730         (make_vector_newer_1): Deleted.
1731         (make_vector_newer): Deleted.
1732
1733 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1734
1735         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1736         (Qideograph_daikanwa_2): New variable.
1737         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1738         (complex_vars_of_mule_charset): Add new coded-charset
1739         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1740         `LEADING_BYTE_DAIKANWA'.
1741
1742         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1743         (LEADING_BYTE_DAIKANWA_1): New macro.
1744         (LEADING_BYTE_DAIKANWA_2): New macro.
1745         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1746
1747 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1748
1749         * mule-charset.c (complex_vars_of_mule_charset): Change
1750         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1751         the second revised version.
1752
1753 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1754
1755         * mule-charset.c (Vcharset_ucs_smp): New variable.
1756         (Vcharset_ucs_sip): New variable.
1757         (Qucs_smp): New variable.
1758         (Qucs_sip): New variable.
1759         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1760         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1761         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1762         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1763         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1764         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1765
1766         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1767         (LEADING_BYTE_UCS_SIP): New macro.
1768         (MIN_CHAR_SMP): New macro.
1769         (MAX_CHAR_SMP): New macro.
1770         (MIN_CHAR_SIP): New macro.
1771         (MAX_CHAR_SIP): New macro.
1772
1773 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1774
1775         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1776         utf-2000.
1777
1778 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1779
1780         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1781         value; don't store value into `encoding_table' of `Lisp_Charset'.
1782         (mark_charset): `encoding_table' was deleted.
1783         (charset_description): Likewise.
1784         (make_charset): Likewise.
1785         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1786         `put_char_ccs_code_point'.
1787
1788         * chartab.h (Fput_char_attribute): New EXFUN.
1789
1790         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1791         is unified with normal symbol space.
1792         (Fget_char_attribute): Likewise.
1793         (Fput_char_attribute): Likewise; behavior of
1794         `put_char_ccs_code_point' is changed.
1795
1796         * char-ucs.h: Include "elhash.h".
1797         (Vchar_attribute_hash_table): New external variable.
1798         (struct Lisp_Charset): Delete `encoding_table'.
1799         (CHARSET_ENCODING_TABLE): New implementation; refer
1800         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1801         `Lisp_Charset'.
1802
1803 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1804
1805         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1806         (cs) == 0.
1807
1808 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1809
1810         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1811         `chinese-big5'.
1812
1813 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1814
1815         * chartab.c (uint8_byte_table_description): New constant.
1816         (uint8-byte-table): Use `uint8_byte_table_description'.
1817         (uint16_byte_table_description): New constant.
1818         (uint16-byte-table): Use `uint16_byte_table_description'.
1819
1820 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1821
1822         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1823         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1824
1825 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1826
1827         * mule-charset.c (Vcharset_ucs_ks): New variable.
1828         (Qucs_ks): New variable.
1829         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1830         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1831
1832         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1833
1834 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1835
1836         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1837         (Fdecode_char): Likewise.
1838
1839         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1840         chartab.h.
1841         (Fdefine_char): Modify for Fdecode_char.
1842         (Ffind_char): Likewise.
1843
1844         * mule-charset.c (Fdecode_char): Add new optional argument
1845         `defined-only'.
1846         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1847
1848 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1849
1850         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1851         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1852         (allocate_coding_system): Initialize initial-charsets of
1853         CODESYS_BIG5 in XEmacs UTF-2000.
1854         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1855         CODESYS_BIG5 in XEmacs UTF-2000.
1856         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1857         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1858
1859         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1860         variables.
1861         (Qideograph_hanziku_{1 .. 12}): Likewise.
1862         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1863         .. 12}'.
1864         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1865         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1866         `ideograph-hanziku-{1 .. 12}'.
1867
1868         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1869         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1870         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1871         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1872         (DECODE_DEFINED_CHAR): New inline function.
1873         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1874
1875 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1876
1877         * mule-charset.c (Vcharset_china3_jef): Renamed from
1878         `Vcharset_japanese_jef_china3'.
1879         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1880         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1881         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1882         (syms_of_mule_charset): Rename `china3-jef' from
1883         `japanese-jef-china3'.
1884         (complex_vars_of_mule_charset): Likewise; rename
1885         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1886
1887         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1888         `LEADING_BYTE_JEF_CHINA3'.
1889         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1890         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1891
1892 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1893
1894         * mule-charset.c (encode_builtin_char_1): Comment out special code
1895         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1896
1897         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1898         (MAX_CHAR_MOJIKYO_0): Comment out.
1899         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1900         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1901         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1902         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1903
1904 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1905
1906         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1907         (Qideograph_cbeta): New variable.
1908         (encode_builtin_char_1): Comment out special code for
1909         coded-charset `mojikyo' and `japanese-jef-china3'.
1910         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1911         (complex_vars_of_mule_charset): Add new coded-charset
1912         `ideograph-cbeta'.
1913
1914         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1915         (MIN_CHAR_CBETA): New macro.
1916         (MAX_CHAR_CBETA): New macro.
1917
1918 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1919
1920         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1921         (LEADING_BYTE_JEF_CHINA3): New macro.
1922         (MIN_CHAR_JEF_CHINA3): New macro.
1923         (MAX_CHAR_JEF_CHINA3): Likewise.
1924         (DECODE_CHAR): Fixed.
1925
1926 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1927
1928         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1929         (Qjapanese_jef_china3): New variable.
1930         (encode_builtin_char_1): Support `japanese-jef-china3'.
1931         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1932         (complex_vars_of_mule_charset): Add new coded-charset
1933         `japanese-jef-china3'.
1934
1935 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1936
1937         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1938         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1939         94^4, 96^3, 96^4, 128^n and 256^n set.
1940         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1941         (map_char_table): Likewise.
1942
1943 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1944
1945         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1946         UTF-2000.
1947
1948 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1949
1950         * chartab.h (get_char_id_table): New inline function.
1951
1952         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1953         function.
1954
1955 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1956
1957         * chartab.h (decode_char_table_range): New prototype in XEmacs
1958         UTF-2000.
1959         (put_char_id_table): New inline function in XEmacs UTF-2000.
1960
1961         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1962         function.
1963         (decode_char_table_range): Delete static declaration in XEmacs
1964         UTF-2000.
1965
1966 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1967
1968         * chartab.c (put_char_id_table): Use `put_char_table'.
1969
1970 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1971
1972         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1973         (map_over_uint16_byte_table): Likewise.
1974         (map_over_byte_table): Likewise.
1975         (map_char_table): Modify for `map_over_uint8_byte_table',
1976         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1977         UTF-2000.
1978
1979 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1980
1981         * chartab.c (struct map_char_table_for_charset_arg): New
1982         structure.
1983         (map_char_table_for_charset_fun): New function.
1984         (map_char_table): Use `map_char_table' for encoding_table of
1985         `range->charset'.
1986
1987 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1988
1989         * chartab.c (map_char_table): Check a character is found in
1990         range->charset instead of non default value is defined in
1991         char-table when range is CHARTAB_RANGE_ROW.
1992
1993 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1994
1995         * chartab.c (map_char_id_table): Deleted.
1996         (Fmap_char_attribute): Use `map_char_table' instead of
1997         `map_char_id_table'.
1998
1999 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2000
2001         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2002         UTF-2000.
2003         (update_syntax_table): Deleted in XEmacs UTF-2000.
2004
2005         * syntax.c (find_defun_start): Use `syntax_table' instead of
2006         `mirror_syntax_table' in XEmacs UTF-2000.
2007         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2008         UTF-2000.
2009         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2010         XEmacs UTF-2000.
2011         (Fmatching_paren): Likewise.
2012         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2013         in XEmacs UTF-2000.
2014         (find_start_of_comment): Likewise.
2015         (find_end_of_comment): Likewise.
2016         (Fforward_comment): Likewise.
2017         (scan_lists): Likewise.
2018         (char_quoted): Likewise.
2019         (Fbackward_prefix_chars): Likewise.
2020         (scan_sexps_forward): Likewise.
2021         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2022         (update_syntax_table): Likewise.
2023
2024         * search.c (skip_chars): Use `syntax_table' instead of
2025         `mirror_syntax_table' in XEmacs UTF-2000.
2026         (wordify): Likewise.
2027         (Freplace_match): Likewise.
2028
2029         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2030         `mirror_syntax_table' in XEmacs UTF-2000.
2031         (WORDCHAR_P_UNSAFE): Likewise.
2032         (re_match_2_internal): Likewise.
2033
2034         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2035         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2036
2037         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2038         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2039
2040         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2041         XEmacs UTF-2000.
2042
2043         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2044         UTF-2000.
2045         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2046         (char_table_description): Delete `mirror_table' in XEmacs
2047         UTF-2000.
2048         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2049         UTF-2000.
2050         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2051         (Fcopy_char_table): Likewise.
2052         (put_char_table): Don't call `update_syntax_table' in XEmacs
2053         UTF-2000.
2054
2055         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2056         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2057         (casify_region_internal): Likewise.
2058
2059         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2060
2061         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2062         `mirror_syntax_table' in XEmacs UTF-2000.
2063
2064         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2065         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2066         (Fexpand_abbrev): Likewise.
2067
2068 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2069
2070         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2071
2072 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2073
2074         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2075         (map_over_uint16_byte_table): Likewise.
2076         (map_over_byte_table): Likewise.
2077         (get_char_id_table): Refer `cit->default_value'.
2078         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2079         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2080         of character-id ranges.
2081         (mark_char_table): Mark `ct->default_value'.
2082         (char_table_description): Add `default_value'.
2083         (fill_char_table): Use `default_value'.
2084         (decode_char_table_range): Decode `nil' as
2085         `CHARTAB_RANGE_DEFAULT'.
2086         (get_char_id_table): Refer `cit->default_value'.
2087         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2088         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2089         temporary hack; check value of char-table is bound or not.
2090         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2091
2092         * chartab.h (struct Lisp_Char_Table): Add new member
2093         `default_value' in XEmacs UTF-2000.
2094         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2095         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2096         UTF-2000.
2097
2098 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2099
2100         * chartab.h (Lisp_Char_ID_Table): Deleted.
2101
2102         * chartab.c (char_table_description): Fix typo.
2103         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2104         `Lisp_Char_ID_Table'.
2105
2106 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2107
2108         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2109         `CHAR_ID_TABLE_P'.
2110
2111         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2112         `CHAR_ID_TABLE_P'.
2113
2114         * chartab.h (XCHAR_ID_TABLE): Deleted.
2115         (XSETCHAR_ID_TABLE): Deleted.
2116         (CHAR_ID_TABLE_P): Deleted.
2117
2118         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2119         `CHAR_ID_TABLE_P'.
2120         (Fget_composite_char): Likewise.
2121         (put_char_table): Likewise.
2122         (add_char_attribute_alist_mapper): Fixed.
2123         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2124         `CHAR_ID_TABLE_P'.
2125         (Fget_char_attribute): Likewise.
2126         (Fget_char_attribute): Likewise.
2127         (Fmap_char_attribute): Likewise.
2128
2129         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2130         `CHAR_ID_TABLE_P'.
2131         (encode_char_1): Likewise.
2132
2133 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2134
2135         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2136         `XCHAR_ID_TABLE'.
2137
2138         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2139         instead of `XCHAR_ID_TABLE'.
2140         (remove_char_ccs): Likewise.
2141
2142         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2143         `XCHAR_ID_TABLE'.
2144         (Fget_composite_char): Likewise.
2145         (Fchar_variants): Likewise.
2146         (put_char_table): Likewise.
2147         (add_char_attribute_alist_mapper): Likewise.
2148         (Fchar_attribute_alist): Likewise.
2149         (Fget_char_attribute): Likewise.
2150         (Fput_char_attribute): Likewise.
2151         (Fmap_char_attribute): Likewise.
2152         (Fmap_char_attribute): Likewise.
2153
2154         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2155         `XCHAR_ID_TABLE'.
2156         (encode_char_1): Likewise.
2157
2158 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2159
2160         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2161         `Lisp_Char_ID_Table'.
2162         (mark_char_id_table): Deleted.
2163         (print_char_id_table): Likewise.
2164         (char_id_table_equal): Likewise.
2165         (char_id_table_hash): Likewise.
2166         (char_id_table_description): Likewise.
2167         (char_id_table): Likewise.
2168         (make_char_id_table): Use `Fmake_char_table' and
2169         `fill_char_table'.
2170         (get_char_id_table): Use `Lisp_Char_Table' instead of
2171         `Lisp_Char_ID_Table'.
2172         (put_char_id_table): Likewise.
2173         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2174         `XCHAR_ID_TABLE'.
2175         (Fremove_char_attribute): Likewise.
2176         (syms_of_chartab): Don't define type `char-id-table'.
2177
2178         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2179         (char_id_table): Likewise.
2180         (GC_CHAR_ID_TABLE_P): Likewise.
2181         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2182         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2183         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2184         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2185         (get_char_id_table): Use `Lisp_Char_Table' instead of
2186         `Lisp_Char_ID_Table'.
2187         (put_char_id_table_0): Likewise.
2188         (put_char_id_table): Likewise.
2189
2190 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2191
2192         * chartab.h: Lisp_Byte_Table related codes are moved from
2193         chartab.h.
2194
2195         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2196
2197 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2198
2199         * chartab.h: Don't include "chartab.h".
2200         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2201         (Lisp_Char_ID_Table): Likewise.
2202         (char_id_table): Likewise.
2203         (XCHAR_ID_TABLE): Likewise.
2204         (XSETCHAR_ID_TABLE): Likewise.
2205         (CHAR_ID_TABLE_P): Likewise.
2206         (GC_CHAR_ID_TABLE_P): Likewise.
2207         (get_char_id_table): Likewise.
2208
2209         * char-ucs.h: Include "chartab.h".
2210         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2211         (Lisp_Char_ID_Table): Likewise.
2212         (char_id_table): Likewise.
2213         (XCHAR_ID_TABLE): Likewise.
2214         (XSETCHAR_ID_TABLE): Likewise.
2215         (CHAR_ID_TABLE_P): Likewise.
2216         (GC_CHAR_ID_TABLE_P): Likewise.
2217         (get_char_id_table): Likewise.
2218
2219 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2220
2221         * chartab.c (copy_uint8_byte_table): New function.
2222         (copy_uint16_byte_table): New function.
2223         (copy_byte_table): New function.
2224         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2225         characters to call.
2226         (map_over_uint16_byte_table): Likewise.
2227         (map_over_byte_table): Likewise.
2228         (get_byte_table): Move prototype to chartab.h.
2229         (put_byte_table): Likewise.
2230         (put_char_id_table_0): Moved to chartab.h.
2231         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2232         (char_table_entry_equal): Likewise.
2233         (char_table_entry_hash): Likewise.
2234         (char_table_entry_description): Likewise.
2235         (char_table_entry): Likewise.
2236         (make_char_table_entry): Likewise.
2237         (copy_char_table_entry): Likewise.
2238         (get_non_ascii_char_table_value): Likewise.
2239         (map_over_charset_ascii): Likewise.
2240         (map_over_charset_control_1): Likewise.
2241         (map_over_charset_row): Likewise.
2242         (map_over_other_charset): Likewise.
2243         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2244         (print_char_table): Likewise.
2245         (char_table_equal): Likewise.
2246         (char_table_hash): Likewise.
2247         (char_table_description): Likewise.
2248         (fill_char_table): Likewise.
2249         (Fcopy_char_table): Likewise.
2250         (get_char_table): Likewise.
2251         (Fget_range_char_table): Likewise.
2252         (put_char_table): Likewise.
2253         (map_char_table): Likewise.
2254         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2255         UTF-2000.
2256
2257 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2258
2259         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2260         `Vauto_fill_chars' in XEmacs UTF-2000.
2261
2262         * chartab.h (get_byte_table): New prototype [moved from
2263         chartab.c].
2264         (put_byte_table): Likewise [moved from chartab.c].
2265         (put_char_id_table_0): New inline function [moved from chartab.c].
2266         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2267         (Lisp_Char_Table_Entry): Likewise.
2268         (char_table_entry): Likewise.
2269         (XCHAR_TABLE_ENTRY): Likewise.
2270         (XSETCHAR_TABLE_ENTRY): Likewise.
2271         (CHAR_TABLE_ENTRYP): Likewise.
2272         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2273         (NUM_ASCII_CHARS): Likewise.
2274         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2275         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2276
2277 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2278
2279         * chartab.c (get_char_id_table): Change interface.
2280         (put_char_id_table_0): New function.
2281         (put_char_id_table): Change interface; new implementation.
2282         (Fget_composite_char): Modify for interface change of
2283         `get_char_id_table'.
2284         (Fchar_variants): Likewise.
2285         (add_char_attribute_alist_mapper): Likewise.
2286         (Fchar_attribute_alist): Likewise.
2287         (Fget_char_attribute): Likewise.
2288         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2289         as same as character as the first argument like `put-char-table';
2290         modify for interface change of `put_char_id_table'.
2291         (Fremove_char_attribute): Modify for interface change of
2292         `put_char_id_table'.
2293
2294 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2295
2296         * text-coding.c: Sync up with XEmacs 21.2.41.
2297         (COMPOSE_ADD_CHAR): Modify for interface change of
2298         `get_char_id_table'.
2299
2300         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2301         change of `put_char_id_table'.
2302         (remove_char_ccs): Likewise.
2303
2304         * chartab.h (put_char_id_table): Change interface.
2305
2306         * char-ucs.h (get_char_id_table): Change interface.
2307         (charset_code_point): Modify for interface change of
2308         `get_char_id_table'.
2309         (encode_char_1): Likewise.
2310
2311 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2312
2313         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2314         argument `ccs'.
2315         (map_over_uint16_byte_table): Likewise.
2316         (map_over_byte_table): Likewise.
2317         (map_char_id_table): Add new argument `range' like
2318         `map_char_table'.
2319         (Fmap_char_attribute): Add new argument `range' like
2320         `Fmap_char_table'.
2321
2322 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2323
2324         * chartab.c (map_over_uint8_byte_table): Change interface of
2325         mapping function to use struct chartab_range instead of Emchar.
2326         (map_over_uint16_byte_table): Likewise.
2327         (map_over_byte_table): Likewise.
2328         (map_char_id_table): Likewise.
2329         (struct slow_map_char_id_table_arg): Deleted.
2330         (slow_map_char_id_table_fun): Deleted.
2331         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2332         function `slow_map_char_table_fun' instead of struct
2333         `slow_map_char_id_table_arg' and function
2334         `slow_map_char_id_table_fun'.
2335
2336 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2337
2338         * mule-charset.c: Move char-it-table related codes to chartab.c.
2339         (Vutf_2000_version): Moved to chartab.c.
2340         (Fdefine_char): Likewise.
2341         (Ffind_char): Likewise.
2342         (syms_of_mule_charset): Move types `uint8-byte-table',
2343         `uint16-byte-table', `byte-table' and `char-id-table' to
2344         chartab.c; move functions `char_attribute_list,
2345         `find_char_attribute_table, `char_attribute_alist,
2346         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2347         `map_char_attribute, `define_char, `find_char, `char_variants and
2348         `get_composite_char to chartab.c; move symbols `=>ucs',
2349         `->decomposition', `compat', `isolated', `initial', `medial',
2350         `final', `vertical', `noBreak', `fraction', `super', `sub',
2351         `circle', `square', `wide', `narrow', `small' and `font' to
2352         chartab.c.
2353         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2354         setting codes for `Vcharacter_composition_table' and
2355         `Vcharacter_variant_table' to chartab.c.
2356         (complex_vars_of_mule_charset): Move setting code for
2357         `Vchar_attribute_hash_table' to chartab.c.
2358
2359         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2360         (make_char_id_table): New prototype.
2361         (put_char_id_table): Likewise.
2362         (Fget_char_attribute): Likewise.
2363
2364         * chartab.c: Move char-id-table related code from mule-charset.c.
2365         (Vutf_2000_version): Moved from mule-charset.c.
2366
2367         * char-ucs.h (Qucs): New external variable.
2368         (put_char_ccs_code_point): New prototype.
2369         (remove_char_ccs): Likewise.
2370
2371 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2372
2373         * mule-charset.c (Vcharset_ucs_jis): New variable.
2374         (Qucs_jis): Likewise.
2375         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2376         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2377
2378         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2379
2380 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2381
2382         * mule-charset.c (map_over_uint8_byte_table): New function.
2383         (map_over_uint16_byte_table): Likewise.
2384         (map_over_byte_table): Likewise.
2385         (map_char_id_table): Likewise.
2386         (slow_map_char_id_table_fun): Likewise.
2387         (Fmap_char_attribute): Likewise.
2388         (syms_of_mule_charset): Add new function `map-char-attribute'.
2389
2390 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2391
2392         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2393         (syms_of_mule_charset): Add new function `find-char'.
2394
2395 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2396
2397         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2398         XEmacs UTF-2000.
2399         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2400         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2401         XEmacs UTF-2000.
2402         (complex_vars_of_mule_charset): Add new coded-charset
2403         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2404         `ideograph-gt-pj-*'.
2405
2406         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2407
2408 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2409
2410         * mule-charset.c (encode_builtin_char_1): Purge codes about
2411         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2412         {MIN|MAX}_CHAR_HEBREW.
2413         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2414         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2415
2416         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2417         (MAX_CHAR_GREEK): Purged.
2418         (MIN_CHAR_CYRILLIC): Purged.
2419         (MAX_CHAR_CYRILLIC): Purged.
2420         (MIN_CHAR_HEBREW): Commented out.
2421         (MAX_CHAR_HEBREW): Likewise.
2422
2423 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2424
2425         * mule-charset.c (Qto_ucs): New variable.
2426         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2427         (Fdefine_char): Likewise.
2428         (syms_of_mule_charset): Add new symbol `=>ucs'.
2429
2430 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2431
2432         * mule-charset.c (Fdecode_char): Fixed.
2433
2434 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2435
2436         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2437         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2438         "tcvn5712-1".
2439
2440 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2441
2442         * mule-charset.c (Vcharset_ucs_big5): New variable.
2443         (Qucs_big5): Likewise.
2444         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2445         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2446
2447         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2448
2449 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2450
2451         * mule-charset.c (decode_builtin_char): Check Big5 code range
2452         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2453
2454 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2455
2456         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2457         (Qchinese_gb12345): Likewise.
2458         (Fdecode_builtin_char): Fixed.
2459         (syms_of_mule_charset): Add `chinese-gb12345'.
2460         (complex_vars_of_mule_charset): Add coded-charset
2461         `chinese-gb12345'.
2462
2463         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2464         (LEADING_BYTE_CHINESE_GB12345): New macro.
2465
2466 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2467
2468         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2469         and `latin-viscii-upper' for `latin-viscii'.
2470
2471 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2472
2473         * mule-charset.c (Fdecode_builtin_char): Comment out
2474         regularization code for ISO-IR GR representation.
2475
2476 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2477
2478         * mule-charset.c (decode_builtin_char): New function; renamed from
2479         `make_builtin_char'; return -1 instead of signal.
2480         (Fdecode_builtin_char): Use `decode_builtin_char'.
2481
2482         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2483         `make_builtin_char'.
2484         (DECODE_CHAR): Use `decode_builtin_char' instead of
2485         `make_builtin_char'; use mapping table of `chinese-big5' for
2486         `chinese-big5-{1,2}'.
2487
2488 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2489
2490         * text-coding.c (char_encode_big5): New function.
2491         (char_finish_big5): Likewise.
2492         (reset_encoding_stream): Use `char_encode_big5' and
2493         `char_finish_big5' for CODESYS_BIG5.
2494         (mule_encode): Don't use `encode_coding_big5'.
2495         (encode_coding_big5): Deleted.
2496
2497 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2498
2499         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2500         0x81- in XEmacs UTF-2000.
2501         (detect_coding_big5): Likewise.
2502
2503 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2504
2505         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2506         generate character-id if the CCS property does not have
2507         corresponding predefined character.
2508         (make_builtin_char): Return -1 if corresponding predefined
2509         character is not found.
2510         (Fdecode_char): Return nil if corresponding character is not
2511         found.
2512         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2513         don't map to builtin ucs space.
2514
2515 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2516
2517         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2518         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2519
2520 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2521
2522         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2523         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2524         (Qideograph_gt): Likewise.
2525         (Qideograph_gt_pj_{1..11}): Likewise.
2526         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2527         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2528         `ideograph-gt-pj-11'.
2529         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2530         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2531         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2532
2533         * char-ucs.h (LEADING_BYTE_GT): New macro.
2534         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2535         (MIN_CHAR_GT): Likewise.
2536         (MAX_CHAR_GT): Likewise.
2537
2538 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2539
2540         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2541         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2542
2543         * doprnt.c (unsigned_int_converters): Add `c'.
2544         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2545
2546         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2547         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2548         `MIN_CHAR_MOJIKYO'.
2549         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2550         (MAX_CHAR_MOJIKYO_0): New macro.
2551         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2552
2553 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2554
2555         * mule-charset.c (Fdefine_char): Delete cemented out code.
2556         (encode_builtin_char_1): Modify for new allocation of builtin
2557         Mojikyo characters.
2558
2559         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2560
2561 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2562
2563         * mule-charset.c (Vcharset_ucs_cns): New variable.
2564         (Qucs_cns): New variable.
2565         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2566         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2567
2568 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2569
2570         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2571
2572 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2573
2574         * search.c (search_buffer): Make `charset_base_code' as
2575         character-id >> 6 to eliminate the corresponding last byte in
2576         UTF-8 representation [I'm not sure it is right thing].
2577         (boyer_moore): Likewise.
2578
2579 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2580
2581         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2582         representation in MULE.
2583
2584 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2585
2586         * text-coding.c (Fmake_coding_system): Use
2587         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2588         `EXTERNAL_PROPERTY_LIST_LOOP'.
2589
2590 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2591
2592         * text-coding.c (decode_output_utf8_partial_char): New function.
2593         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2594
2595 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2596
2597         * text-coding.c (decode_coding_utf8): Output original byte
2598         sequence if it is broken; change order of conditions.
2599
2600         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2601         of conditions.
2602
2603         * mb-multibyte.h (BYTE_ASCII_P):
2604         Use bit ops for char-signedness safety.
2605         (BYTE_C0_P): Use bit ops for char-signedness safety.
2606         (BYTE_C1_P): Use bit ops for char-signedness safety.
2607
2608         * character.h: (XCHAR_OR_CHAR_INT):
2609         Always use inline function.
2610         Remove redundant type checking assert() - XINT will abort quite
2611         nicely.
2612
2613 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2614
2615         * text-coding.c: (Fencode_shift_jis_char):
2616         (Fencode_big5_char):
2617         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2618         Replace 0 with '\0' when working with bytes.
2619         Replace initial "(" with "\(" in docstrings.
2620
2621         (Fmake_coding_system):
2622         When type is ccl and value is vector, register it with a proper
2623         symbol.  And checks whether the given ccl program is valid.
2624         (mule_decode): When calling ccl_driver, if src indicates
2625         NULL pointer, set an empty string instead.
2626         (mule_encode): Likewise.
2627
2628         (detect_eol_type):
2629         (detect_coding_sjis):
2630         (decode_coding_sjis):
2631         (detect_coding_big5):
2632         (decode_coding_big5):
2633         (detect_coding_ucs4):
2634         (decode_coding_ucs4):
2635         (detect_coding_utf8):
2636         (decode_coding_utf8):
2637         (detect_coding_iso2022):
2638         (decode_coding_iso2022):
2639         (decode_coding_no_conversion):
2640         (mule_decode):
2641         Make all detecting and decoding functions take an Extbyte * arg.
2642         (text_encode_generic):
2643         (encode_coding_big5):
2644         (encode_coding_no_conversion):
2645         (mule_encode):
2646         Make all encoding functions take a Bufbyte * arg.
2647         Use size_t instead of unsigned int for memory sizes.
2648         Only cast to unsigned char whenever dereferencing Extbyte *.
2649
2650         (struct lrecord_description fcd_description_1): Use countof.
2651         (complex_vars_of_file_coding):
2652         Use countof instead of sizeof.
2653         Use CHECK_NATNUM instead of CHECK_INT.
2654
2655 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2656
2657         * mule-charset.c (Fget_char_attribute): Add new optional argument
2658         `default-value'.
2659         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2660         (remove_char_ccs): Likewise.
2661
2662 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2663
2664         * text-coding.c (char_encode_shift_jis): New implementation in
2665         UTF-2000.
2666         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2667         ...)'.
2668
2669         * mule-charset.c (Vcharset_chinese_big5): New variable in
2670         UTF-2000.
2671         (Qchinese_big5): New variable in UTF-2000.
2672         (BIG5_SAME_ROW): New macro in UTF-2000.
2673         (make_builtin_char): Use builtin characters of
2674         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2675         characters of `Vcharset_chinese_big5'.
2676         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2677         (complex_vars_of_mule_charset): Add new coded-charset
2678         `chinese-big5' in UTF-2000.
2679
2680         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2681         (Vcharset_chinese_big5): New external variable declaration.
2682         (Vcharset_japanese_jisx0208_1990): Likewise.
2683
2684 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2685
2686         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2687         function.
2688         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2689
2690 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2691
2692         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2693         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2694         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2695         `mojikyo-pj-*'.
2696
2697 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2698
2699         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2700
2701 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2702
2703         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2704         to 0.17.
2705
2706 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2707
2708         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2709         for `CHARSET_BY_ATTRIBUTES'.
2710         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2711         `CHARSET_BY_ATTRIBUTES'.
2712
2713         * text-coding.c (struct decoding_stream): Rename member `CH' to
2714         `CPOS'.
2715         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2716         (decode_coding_sjis): Likewise.
2717         (decode_coding_big5): Likewise.
2718         (decode_coding_ucs4): Likewise.
2719         (decode_coding_utf8): Likewise.
2720         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2721         `CHARSET_BY_ATTRIBUTES'.
2722         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2723         `str->counter'; decode 3, 4 bytes sets.
2724         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2725         sets.
2726         (decode_coding_no_conversion): Use `str->cpos' instead of
2727         `str->ch'.
2728
2729         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2730         (Qmojikyo_2022_1): New variable.
2731         (make_charset): Don't use `CHARSET_TYPE_*'.
2732         (range_charset_code_point): Support coded-charset
2733         `mojikyo-2022-1'.
2734         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2735         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2736         `CHARSET_BY_ATTRIBUTES'.
2737         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2738         `CHARSET_BY_ATTRIBUTES'.
2739         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2740         (complex_vars_of_mule_charset): Add new coded-charset
2741         `mojikyo-2022-1'.
2742
2743         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2744         interface; changed to inline function.
2745
2746         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2747         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2748         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2749         (CHARSET_TYPE_94): Deleted.
2750         (CHARSET_TYPE_94X94): Deleted.
2751         (CHARSET_TYPE_96): Deleted.
2752         (CHARSET_TYPE_96X96): Deleted.
2753         (CHARSET_TYPE_128): Deleted.
2754         (CHARSET_TYPE_128X128): Deleted.
2755         (CHARSET_TYPE_256): Deleted.
2756         (CHARSET_TYPE_256X256): Deleted.
2757         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2758         to inline function.
2759         (DECODE_MOJIKYO_2022): New inline function.
2760         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2761         `Vcharset_mojikyo_2022_1'.
2762
2763 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2764
2765         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2766         instead of `EQ'.
2767         (put_byte_table): Likewise.
2768         (char_id_table_equal): Use `get_byte_table' [new implementation].
2769
2770 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2771
2772         * mule-charset.c: Include <limits.h> in UTF-2000.
2773         (BT_UINT8_MIN): New macro in UTF-2000.
2774         (BT_UINT8_MAX): New macro in UTF-2000.
2775         (BT_UINT8_t): New macro in UTF-2000.
2776         (BT_UINT8_nil): New macro in UTF-2000.
2777         (BT_UINT8_unbound): New macro in UTF-2000.
2778         (INT_UINT8_P): New inline function in UTF-2000.
2779         (UINT8_VALUE_P): New inline function in UTF-2000.
2780         (UINT8_ENCODE): New inline function in UTF-2000.
2781         (UINT8_DECODE): New inline function in UTF-2000.
2782         (mark_uint8_byte_table): New function in UTF-2000.
2783         (print_uint8_byte_table): New function in UTF-2000.
2784         (uint8_byte_table_equal): New function in UTF-2000.
2785         (uint8_byte_table_hash): New function in UTF-2000.
2786         (make_uint8_byte_table): New function in UTF-2000.
2787         (uint8_byte_table_same_value_p): New function in UTF-2000.
2788         (BT_UINT16_MIN): New macro in UTF-2000.
2789         (BT_UINT16_MAX): New macro in UTF-2000.
2790         (BT_UINT16_t): New macro in UTF-2000.
2791         (BT_UINT16_nil): New macro in UTF-2000.
2792         (BT_UINT16_unbound): New macro in UTF-2000.
2793         (INT_UINT16_P): New inline function in UTF-2000.
2794         (UINT16_VALUE_P): New inline function in UTF-2000.
2795         (UINT16_ENCODE): New inline function in UTF-2000.
2796         (UINT16_DECODE): New inline function in UTF-2000.
2797         (UINT8_TO_UINT16): New inline function in UTF-2000.
2798         (mark_uint16_byte_table): New function in UTF-2000.
2799         (print_uint16_byte_table): New function in UTF-2000.
2800         (uint16_byte_table_equal): New function in UTF-2000.
2801         (uint16_byte_table_hash): New function in UTF-2000.
2802         (make_uint16_byte_table): New function in UTF-2000.
2803         (uint16_byte_table_same_value_p): New function in UTF-2000.
2804         (print_byte_table): New function in UTF-2000.
2805         (byte-table): Use `print_byte_table' as printer.
2806         (make_byte_table): Delete second argument `older'.
2807         (byte_table_same_value_p): New function in UTF-2000.
2808         (copy_byte_table): Deleted.
2809         (get_byte_table): New function in UTF-2000.
2810         (put_byte_table): New function in UTF-2000.
2811         (print_char_id_table): New function in UTF-2000.
2812         (char-id-table): Use `print_char_id_table' as printer.
2813         (make_char_id_table): Delete second argument `older'.
2814         (get_char_id_table): Use `get_byte_table [new implementation].
2815         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2816         implementation].
2817         (Ffind_char_attribute_table): New function in UTF-2000.
2818         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2819         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2820         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2821         (syms_of_mule_charset): Add new function
2822         `find-char-attribute-table' in UTF-2000.
2823
2824         * lrecord.h (enum lrecord_type): Add
2825         `lrecord_type_uint16_byte_table' and
2826         `lrecord_type_uint8_byte_table'.
2827
2828         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2829         (Lisp_Uint8_Byte_Table): New type.
2830         (XUINT8_BYTE_TABLE): New macro.
2831         (XSETUINT8_BYTE_TABLE): New macro.
2832         (UINT8_BYTE_TABLE_P): New macro.
2833         (GC_UINT8_BYTE_TABLE_P): New macro.
2834         (struct Lisp_Uint16_Byte_Table): New structure.
2835         (Lisp_Uint16_Byte_Table): New type.
2836         (XUINT16_BYTE_TABLE): New macro.
2837         (XSETUINT16_BYTE_TABLE): New macro.
2838         (UINT16_BYTE_TABLE_P): New macro.
2839         (GC_UINT16_BYTE_TABLE_P): New macro.
2840
2841 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2842
2843         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2844         (Vcharacter_ideographic_strokes_table): Deleted.
2845         (Vcharacter_total_strokes_table): Deleted.
2846         (Vcharacter_morohashi_daikanwa_table): Deleted.
2847         (Vcharacter_decomposition_table): Deleted.
2848         (Qname): Deleted because it is duplicated.
2849         (Qideographic_radical): Deleted.
2850         (Qideographic_strokes): Deleted.
2851         (Qtotal_strokes): Deleted.
2852         (Qmorohashi_daikanwa): Deleted.
2853         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2854         `ideographic-radical', `ideographic-strokes', `total-strokes',
2855         `morohashi-daikanwa' and `->decomposition'.
2856         (Fget_char_attribute): Likewise.
2857         (Fput_char_attribute): Likewise; use `make-vector' instead of
2858         `make_older_vector' for `->decomposition' value.
2859         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2860         `ideograph-daikanwa'.
2861         (syms_of_mule_charset): Delete builtin symbols `name',
2862         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2863         `morohashi-daikanwa'.
2864         (vars_of_mule_charset): Don't setup
2865         `Vcharacter_ideographic_radical_table',
2866         `Vcharacter_ideographic_strokes_table',
2867         `Vcharacter_total_strokes_table',
2868         `Vcharacter_morohashi_daikanwa_table' and
2869         `Vcharacter_decomposition_table'.
2870
2871 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2872
2873         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2874         `make_older_vector', `make_vector_newer_1' and
2875         `make_vector_newer'.
2876
2877         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2878         `make_older_vector' and `make_vector_newer'.
2879
2880         * config.h.in (HAVE_GGC): New macro.
2881
2882 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2883
2884         * mule-charset.c (struct char_attribute_list_closure): New
2885         structure in UTF-2000.
2886         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2887         (Fchar_attribute_list): Likewise.
2888         (Fset_charset_mapping_table): Use `make_vector_newer'.
2889         (Fdecode_builtin_char): New function in UTF-2000.
2890         (syms_of_mule_charset): Add new function `char-attribute-list' and
2891         `decode-builtin-char' in UTF-2000.
2892
2893         * lisp.h (make_vector_newer): New prototype.
2894
2895         * alloc.c (make_vector_newer_1): New function.
2896         (make_vector_newer): New function.
2897
2898 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2899
2900         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2901         50100)'.
2902
2903 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2904
2905         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2906         (Vcharacter_attribute_table): Deleted.
2907         (Vcharacter_name_table): Deleted.
2908         (put_char_attribute): Deleted.
2909         (remove_char_attribute): Deleted.
2910         (struct char_attribute_alist_closure): New structure.
2911         (add_char_attribute_alist_mapper): New function.
2912         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2913         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2914         (Fget_char_attribute): Likewise.
2915         (Fput_char_attribute): Likewise.
2916         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2917         of `remove_char_attribute'.
2918         (Fdefine_char): Return character.
2919         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2920         and `Vcharacter_name_table'.
2921         (complex_vars_of_mule_charset): Likewise
2922         `Vchar_attribute_hash_table'.
2923
2924 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2925
2926         * character.h (CHARC_CHARSET): New macro.
2927         (CHARC_CHARSET_ID): New macro.
2928         (CHARC_CODE_POINT): New macro.
2929         (CHARC_COLUMNS): New macro.
2930         (CHARC_TO_CHAR): New inline function.
2931         (CHARC_EQ): New inline function.
2932         (CHARC_ASCII_EQ): New inline function.
2933         (CHARC_IS_SPACE): New inline function.
2934         (ASCII_TO_CHARC): New inline function.
2935
2936         * char-ucs.h (encode_char_2): Deleted.
2937         (ENCODE_CHAR): Use `encode_char_1' again.
2938         (breakup_char_1): Likewise.
2939         (CHAR_TO_CHARC): New inline function.
2940
2941         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2942
2943 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2944
2945         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2946         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2947         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2948         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2949         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2950         `CHARC_IS_SPACE'.
2951         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2952
2953         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2954         `CHARC_CODE_POINT'.
2955         (x_output_display_block): Use `CHARC_CHARSET' and
2956         `CHARC_ASCII_EQ'.
2957
2958         * redisplay-tty.c (tty_output_display_block): Use
2959         `CHARC_ASCII_EQ'.
2960         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2961
2962         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2963
2964         * insdel.c (find_charsets_in_charc_string): Use
2965         `CHARC_CHARSET_ID'.
2966         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2967         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2968         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2969         (convert_charc_string_into_malloced_string): Likewise.
2970
2971 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2972
2973         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2974         instead of <Emchar_dynarr *> for buf; use
2975         `convert_bufbyte_string_into_charc_dynarr' instead of
2976         `convert_bufbyte_string_into_emchar_dynarr'; use
2977         `find_charsets_in_charc_string' instead of
2978         `find_charsets_in_emchar_string'.
2979
2980         * redisplay.h:
2981         - Include "character.h".
2982         (struct rune): New member `cglyph'; delete member `chr'.
2983
2984         * redisplay.c (redisplay_text_width_charc_string): New function;
2985         delete `redisplay_text_width_emchar_string'.
2986         (rtw_charc_dynarr): New variable; renamed from
2987         `rtw_emchar_dynarr'.
2988         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2989         `rtw_emchar_dynarr'; use
2990         `convert_bufbyte_string_into_charc_dynarr' instead of
2991         `convert_bufbyte_string_into_emchar_dynarr'; use
2992         `redisplay_text_width_charc_string' instead of
2993         `redisplay_text_width_emchar_string'.
2994         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2995         instead of `rtw_emchar_dynarr'; use
2996         `convert_bufbyte_string_into_charc_dynarr' instead of
2997         `convert_bufbyte_string_into_emchar_dynarr'.
2998         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2999         `redisplay_text_width_charc_string' instead of
3000         `redisplay_text_width_emchar_string'.
3001         (create_text_block): Modify for <struct rune> change.
3002         (generate_formatted_string_db): Likewise.
3003         (create_string_text_block): Likewise.
3004         (pixel_to_glyph_translation): Likewise.
3005
3006         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3007         instead of <const Emchar *>.
3008         (x_text_width): Likewise.
3009         (x_output_display_block): Use <Charc_dynarr *> instead
3010         <Emchar_dynarr *>; modify for <structure rune> change.
3011         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3012         *>.
3013
3014         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3015         <const Emchar *>; use `charc_string_displayed_columns' instead of
3016         `emchar_string_displayed_columns'.
3017         (tty_output_display_block): Use <Charc_dynarr *> instead of
3018         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3019         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3020         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3021         `tty_output_emchar_dynarr_dynarr'.
3022         (tty_output_charc_dynarr): New function; delete
3023         `tty_output_charc_dynarr'.
3024
3025         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3026         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3027         <Emchar_dynarr *> for buf; use
3028         `convert_bufbyte_string_into_charc_dynarr' instead of
3029         `convert_bufbyte_string_into_emchar_dynarr'.
3030
3031         * frame.c (title_string_charc_dynarr): New variable; renamed from
3032         `title_string_emchar_dynarr'.
3033         (generate_title_string): Use `title_string_charc_dynarr' instead
3034         of `title_string_emchar_dynarr'; use
3035         `convert_charc_string_into_malloced_string' instead of
3036         `convert_emchar_string_into_malloced_string'.
3037         (init_frame): Use `title_string_charc_dynarr' instead of
3038         `title_string_emchar_dynarr'.
3039
3040         * console.h:
3041         - Include "character.h".
3042         (struct console_methods): Use <const Charc *> instead of <const
3043         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3044         <Emchar_dynarr *> in output_string_method.
3045
3046         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3047         <Emchar_dynarr *>.
3048
3049         * console-stream.c (stream_text_width): Use <const Charc *>
3050         instead of <const Emchar *>.
3051
3052         * character.h (Charc_dynarr): New type.
3053
3054         * char-ucs.h (structure Charc): New structure; define new type
3055         `Charc'.
3056
3057         * char-lb.h (DECODE_CHAR): New inline function.
3058         (encode_char_1): New inline function.
3059         (ENCODE_CHAR): New macro.
3060         (structure Charc): New structure; define new type `Charc'.
3061
3062         * char-1byte.h (Vcharset_control_1): New macro.
3063         (Vcharset_latin_iso8859_1): New macro.
3064         (DECODE_CHAR): New inline function.
3065         (encode_char_1): New inline function.
3066         (ENCODE_CHAR): New macro.
3067         (structure Charc): New structure; define new type `Charc'.
3068
3069         * insdel.c (find_charsets_in_charc_string): New function; delete
3070         `find_charsets_in_emchar_string'.
3071         (charc_string_displayed_columns): New function; delete
3072         `emchar_string_displayed_columns'.
3073         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3074         `convert_bufbyte_string_into_emchar_dynarr'.
3075         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3076         `convert_charc_string_into_bufbyte_dynarr'.
3077         (convert_charc_string_into_malloced_string): New function; delete
3078         `convert_charc_string_into_malloced_string'.
3079
3080         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3081         `find_charsets_in_emchar_string'.
3082         (charc_string_displayed_columns): New prototype; delete
3083         `emchar_string_displayed_columns'.
3084         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3085         `convert_charc_string_into_bufbyte_dynarr'.
3086         (convert_charc_string_into_malloced_string): New prototype; delete
3087         `convert_charc_string_into_malloced_string'.
3088
3089 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3090
3091         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3092
3093 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3094
3095         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3096
3097         * char-ucs.h: Use <short> for <Charset_ID>.
3098
3099         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3100         <Charset_ID>.
3101
3102 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3103
3104         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3105         to 0.16.
3106
3107 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3108
3109         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3110         variable.
3111         (Qmorohashi_daikanwa): New variable.
3112         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3113         for `morohashi-daikanwa' attribute.
3114         (Fget_char_attribute): Likewise.
3115         (Fput_char_attribute): Likewise.
3116         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3117         has the same value of `ideograph-daikanwa'.
3118         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3119         (vars_of_mule_charset): Setup
3120         `Vcharacter_morohashi_daikanwa_table'.
3121
3122 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3123
3124         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3125         attributes.
3126         (add_charset_to_list_mapper): Add `key' instead of
3127         `XCHARSET_NAME (value)' to return aliases.
3128
3129 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3130
3131         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3132         variable.
3133         (Vcharacter_ideographic_strokes_table): New variable.
3134         (Qideographic_radical): New variable.
3135         (Qideographic_strokes): New variable.
3136         (Fchar_attribute_alist): Use
3137         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3138         attribute; use `Vcharacter_ideographic_strokes_table' for
3139         `ideographic-strokes' attribute.
3140         (Fget_char_attribute): Likewise.
3141         (Fput_char_attribute): Likewise.
3142         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3143         `ideographic-strokes'.
3144         (vars_of_mule_charset): Setup
3145         `Vcharacter_ideographic_radical_table' and
3146         `Vcharacter_ideographic_strokes_table'.
3147
3148 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3149
3150         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3151         (Qtotal_strokes): New variable.
3152         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3153         `total-strokes' attribute.
3154         (Fget_char_attribute): Likewise.
3155         (Fput_char_attribute): Likewise.
3156         (syms_of_mule_charset): Add new symbol `total-strokes'.
3157         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3158
3159 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3160
3161         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3162         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3163         are found.
3164         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3165         `->decomposition' attribute.
3166         (Fput_char_attribute): Likewise.
3167         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3168
3169 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3170
3171         * mule-charset.c (decoding_table_check_elements): New function.
3172         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3173
3174 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3175
3176         * mule-charset.c (Fset_charset_mapping_table): Use
3177         `put_char_ccs_code_point'.
3178
3179 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3180
3181         * mule-charset.c (decoding_table_put_char): New inline function.
3182         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3183
3184 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3185
3186         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3187         (XCHARSET_BYTE_SIZE): New macro.
3188         (decoding_table_remove_char): New inline function.
3189         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3190         `decoding_table_remove_char'.
3191         (remove_char_ccs): Use `decoding_table_remove_char'.
3192         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3193
3194 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3195
3196         * mule-charset.c (Vcharacter_name_table): New variable.
3197         (Qname): New variable.
3198         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3199         attribute.
3200         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3201         `Vcharacter_name_table' for `name' attribute.
3202         (Fremove_char_attribute): Use function `remove_char_ccs'.
3203         (put_char_ccs_code_point): New function.
3204         (remove_char_ccs): New function.
3205         (syms_of_mule_charset): Add new symbol `name'.
3206         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3207
3208 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3209
3210         * mule-charset.c (make_byte_table): Add new argument `older'.
3211         (make_char_id_table): Likewise.
3212         (copy_char_id_table): Comment out because it is not used.
3213         (put_char_id_table): Modify for `make_byte_table'.
3214         (Fput_char_attribute): Make encoding_table as older object;
3215         inherit older bit of `Vcharacter_composition_table'.
3216         (mark_charset): Don't mark `cs->encoding_table'.
3217         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3218         normal object; make `Vcharacter_composition_table' as an older
3219         object; delete staticpro for `Vcharacter_composition_table'; make
3220         `Vcharacter_variant_table' as a normal object.
3221
3222         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3223         (mark_object): Don't check older object in UTF-2000.
3224
3225         * lrecord.h (struct lrecord_header): Add new member `older' in
3226         UTF-2000.
3227         (set_lheader_implementation): Setup `SLI_header->older' in
3228         UTF-2000.
3229         (set_lheader_older_implementation): New macro in UTF-2000.
3230         (OLDER_RECORD_P): New macro in UTF-2000.
3231         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3232         (alloc_older_lcrecord): New prototype in UTF-2000.
3233         (alloc_older_lcrecord_type): New macro in UTF-2000.
3234
3235 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3236
3237         * mule-charset.c (byte_table_description): Use
3238         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3239         (char_id_table_description): Delete bogus `, 1'.
3240         (Fget_char_attribute): Refer encoding_table of each coded-charset
3241         to get value of coded-charset attribute of a character.
3242         (Fput_char_attribute): Use `make_older_vector' instead of
3243         `make_vector'; use encoding_table of each coded-charset to store
3244         value of coded-charset attribute of a character.
3245         (Fremove_char_attribute): Use encoding_table of each coded-charset
3246         to store value of coded-charset attribute of a character.
3247         (mark_charset): Mark `cs->encoding_table'; don't mark
3248         `cs->decoding_table'.
3249         (charset_description): Add description of new member
3250         `encoding_table'.
3251         (make_charset): Initialize `encoding_table'.
3252
3253         * char-ucs.h (struct Lisp_Charset): Add new member
3254         `encoding_table'.
3255         (CHARSET_ENCODING_TABLE): New macro.
3256         (XCHARSET_ENCODING_TABLE): New macro.
3257         (charset_code_point): New implementation.
3258         (encode_char_1): Likewise.
3259
3260         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3261         (disksave_object_finalization_1): Call finalizers of
3262         `all_older_lcrecords' in UTF-2000.
3263         (make_older_vector): New function in UTF-2000.
3264         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3265         UTF-2000.
3266
3267         * lisp.h (make_older_vector): New prototype in UTF-2000.
3268
3269 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3270
3271         * lrecord.h (enum lrecord_type): Rename
3272         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3273
3274         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3275         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3276         `get_char_code_table'.
3277
3278         * mule-charset.c (mark_char_id_table): Renamed from
3279         `mark_char_code_table'.
3280         (char_id_table_equal): Renamed from `char_code_table_equal'.
3281         (char_id_table_hash): Renamed from `char_code_table_hash'.
3282         (make_char_id_table): Renamed from `make_char_code_table'.
3283         (copy_char_id_table): Renamed from `copy_char_code_table'.
3284         (get_char_id_table): Renamed from `get_char_code_table'.
3285         (put_char_id_table): Renamed from `put_char_code_table'.
3286         (to_char_id): Renamed from `to_char_code'.
3287
3288         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3289         `Lisp_Char_Code_Table'.
3290         (char_id_table): Renamed from `char_code_table'.
3291         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3292         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3293         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3294         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3295         (get_char_id_table): Renamed from `get_char_code_table'.
3296
3297 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3298
3299         * lrecord.h (enum lrecord_type): Rename
3300         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3301
3302         * mule-charset.c (mark_byte_table): Renamed from
3303         `mark_char_byte_table'.
3304         (byte_table_equal): Renamed from `char_byte_table_equal'.
3305         (byte_table_hash): Renamed from `byte_table_hash'.
3306         (make_byte_table): Renamed from `make_byte_table'.
3307         (copy_byte_table): Renamed from `copy_char_byte_table'.
3308
3309         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3310         `Lisp_Char_Byte_Table'.
3311         (byte_table): Renamed from `char_byte_table'.
3312         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3313         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3314         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3315         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3316
3317 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3318
3319         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3320         (dfc_convert_to_internal_format): Likewise.
3321         
3322         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3323         * text-coding.c (Fcoding_system_alias_p): New function.
3324         * text-coding.c (Fcoding_system_aliasee): New function.
3325         * text-coding.c (append_suffix_to_symbol): New function.
3326         * text-coding.c (dangling_coding_system_alias_p): New function.
3327         * text-coding.c (Ffind_coding_system):
3328         * text-coding.c (Fcopy_coding_system):
3329         * text-coding.c (encode_coding_no_conversion):
3330         * text-coding.c (syms_of_file_coding):
3331         * text-coding.c (vars_of_file_coding):
3332         Rewrite coding system alias code.
3333         Allow nested aliases, like symbolic links.
3334         Allow redefinition of coding system aliases.
3335         Prevent existence of dangling coding system aliases.
3336         Eliminate convert_to_external_format.
3337         Eliminate convert_to_internal_format.
3338         
3339         * text-coding.c: Change enum eol_type to eol_type_t.
3340
3341 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3342
3343         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3344         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3345
3346         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3347         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3348
3349 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3350
3351         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3352         `ideograph-daikanwa'.
3353
3354         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3355         (Vcharset_ucs_bmp): Likewise.
3356         (Vcharset_mojikyo): Add new extern variable definition.
3357         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3358         (Vcharset_latin_iso8859_3): Likewise.
3359         (Vcharset_latin_iso8859_4): Likewise.
3360         (Vcharset_latin_iso8859_9): Likewise.
3361         (Vcharset_latin_viscii_lower): Likewise.
3362         (Vcharset_latin_viscii_upper): Likewise.
3363         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3364         `mojikyo' code-point is used to decode.
3365         (encode_char_2): New function [to convert `mojikyo' code-point to
3366         Mojikyo font encoding].
3367         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3368         (breakup_char_1): Likewise.
3369         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3370
3371 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3372
3373         * text-coding.c (Fmake_coding_system): Add document about
3374         `disable-composition' property.
3375
3376 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3377
3378         * text-coding.c (Qdisable_composition): New variable; delete
3379         `Qcomposite'.
3380         (Fmake_coding_system): Add new property `disable-composite';
3381         delete property `composite'.
3382         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3383         instead of `!CODING_SYSTEM_COMPOSITE'.
3384         (syms_of_file_coding): Add new symbol `disable-composition';
3385         delete symbol `composite'.
3386
3387         * file-coding.h (struct Lisp_Coding_System): Add
3388         `disable_composition'; delete `enable_composition'.
3389         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3390         `CODING_SYSTEM_COMPOSITE'.
3391         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3392         `XCODING_SYSTEM_COMPOSITE'.
3393
3394 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3395
3396         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3397         to 0.15.
3398
3399 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3400
3401         * text-coding.c (Qcomposite): New variable.
3402         (Fmake_coding_system): Add new property `composite'.
3403         (struct decoding_stream): Add `combined_char_count',
3404         `combined_chars' and `combining_table' in UTF-2000.
3405         (COMPOSE_FLUSH_CHARS): New macro.
3406         (COMPOSE_ADD_CHAR): New macro.
3407         (reset_decoding_stream): Reset `str->combined_char_count' and
3408         `str->combining_table' in UTF-2000.
3409         (decode_coding_iso2022): Modify for character-decomposition.
3410         (syms_of_file_coding): Add new symbol `composite'.
3411
3412 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3413
3414         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3415         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3416         of `Vcharacter_composition_table' if `->decomposition' property
3417         has only 1 element.
3418         (Qlatin_tcvn5712): New variable.
3419         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3420         (complex_vars_of_mule_charset): Add new coded-charset
3421         `latin-tcvn5712'.
3422
3423         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3424
3425 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3426
3427         * file-coding.h (struct Lisp_Coding_System): Add
3428         `enable_composition'.
3429         (CODING_SYSTEM_COMPOSITE): New macro.
3430         (XCODING_SYSTEM_COMPOSITE): New macro.
3431
3432 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3433
3434         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3435
3436 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3437
3438         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3439         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3440
3441 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3442
3443         * mule-charset.c (Vcharset_mojikyo): New variable.
3444         (Fdefine_char): Don't use coded-charset which does not have
3445         non-builtin character range to allocate character-id.
3446         (Qmojikyo): New variable.
3447         (syms_of_mule_charset): Add new symbol `mojikyo'.
3448         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3449
3450         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3451         (LEADING_BYTE_MOJIKYO): New macro.
3452         (MIN_CHAR_MOJIKYO): New macro.
3453         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3454         (MAX_CHAR_MOJIKYO): New macro.
3455
3456 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3457
3458         * mule-charset.c (remove_char_attribute): Fixed.
3459
3460 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3461
3462         * mule-charset.c (remove_char_attribute): New function.
3463         (Fremove_char_attribute): New function.
3464         (encode_builtin_char_1): Comment out builtin-support for
3465         greek-iso8859-7 and cyrillic-iso8859-5.
3466         (Fdecode_char): Check `code' is an integer.
3467         (syms_of_mule_charset): Add `remove-char-attribute'.
3468         (MIN_CHAR_GREEK): Deleted.
3469         (MAX_CHAR_GREEK): Likewise.
3470         (MIN_CHAR_CYRILLIC): Likewise.
3471         (MAX_CHAR_CYRILLIC): Likewise.
3472         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3473         MAX_CHAR_GREEK for `greek-iso8859-7'.
3474
3475         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3476         (MAX_CHAR_GREEK): Likewise.
3477         (MIN_CHAR_CYRILLIC): Likewise.
3478         (MAX_CHAR_CYRILLIC): Likewise.
3479
3480 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3481
3482         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3483         format is used without `ucs' property.
3484         (Fdecode_char): Fix problem with GR representation.
3485         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3486         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3487
3488 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3489
3490         * mule-charset.c (make_builtin_char): New function.
3491         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3492         (Fset_charset_mapping_table): Modify for new representation of
3493         code-point.
3494         (Fdecode_char): New function.
3495         (syms_of_mule_charset): Add new builtin function `decode-char' in
3496         UTF-2000.
3497
3498         * char-ucs.h (make_builtin_char): New prototype.
3499         (DECODE_CHAR): New inline function.
3500         (MAKE_CHAR): Use `DECODE_CHAR'.
3501
3502 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3503
3504         * text-coding.c (parse_charset_conversion_specs): Use
3505         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3506         `XCHARSET_TYPE'.
3507         (iso2022_designate): Likewise.
3508
3509         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3510         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3511
3512         * mule-charset.c (Vcharset_ucs): New variable.
3513         (print_charset): Change design; use `CHARSET_CHARS' and
3514         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3515         (make_charset): Change signature to specify `chars' and
3516         `dimension' instead of `type'.
3517         (range_charset_code_point): Modify for 256^n-set.
3518         (encode_builtin_char_1): Encode as `ucs' in default.
3519         (Fmake_charset): Modify for `make_charset'.
3520         (Fmake_reverse_direction_charset): Likewise.
3521         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3522         UTF-2000.
3523         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3524         for `make_charset'.
3525
3526         * char-ucs.h (Vcharset_ucs): New variable.
3527         (LEADING_BYTE_UCS): New macro.
3528         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3529         and `chars' to `unsigned short' from `unsigned int'.
3530         (CHARSET_TYPE): Deleted.
3531         (XCHARSET_TYPE): Deleted.
3532
3533 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3534
3535         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3536
3537         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3538         (ENCODE_CHAR): New macro.
3539
3540 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3541
3542         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3543         to 0.14 (Kawachi-Katakami).
3544
3545 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3546
3547         * text-coding.c (char_encode_shift_jis): Modify for
3548         `charset_code_point'.
3549         (char_encode_iso2022): Likewise.
3550
3551         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3552         (integer) instead of list of <Lisp_Object>s (integers) as the
3553         format of code-point of a coded-charset.
3554         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3555         (encode_builtin_char_1): New function; delete
3556         `split_builtin_char'.
3557         (charset_code_point): Return <int> instead of <Lisp_Object>.
3558         (Fsplit_char): Don't use `SPLIT_CHAR'.
3559
3560         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3561         prototype for `split_builtin_char'.
3562         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3563         (charset_code_point): Likewise.
3564         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3565         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3566
3567 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3568
3569         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3570         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3571
3572 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3573
3574         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3575
3576         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3577         (MAX_CHAR_OBS_94x94): Deleted.
3578
3579 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3580
3581         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3582
3583         * char-ucs.h (MAX_CHAR_BMP): New macro.
3584
3585 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3586
3587         * text-coding.c: Sync with r21-2-24.
3588
3589 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3590
3591         * file-coding.c: Modify for UTF-2000.
3592
3593 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3594
3595         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3596         to 0.13 (Takaida).
3597
3598 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3599
3600         * mule-charset.c (split_builtin_char): Delete builtin support for
3601         `katakana-jisx0201'.
3602         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3603         BMP area in builtin representation.
3604
3605         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3606         `Vcharset_katakana_jisx0201'.
3607
3608 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3609
3610         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3611         (Qisolated): New variable.
3612         (Qinitial): New variable.
3613         (Qmedial): New variable.
3614         (Qfinal): New variable.
3615         (Qvertical): New variable.
3616         (Qsmall): New variable.
3617         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3618         `Qvertical' and `Qsmall'.
3619         (Qmojikyo_pj_[1 .. 21]): New variable.
3620         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3621         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3622         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3623         .. 21]'.
3624
3625 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3626
3627         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3628         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3629         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3630
3631 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3632
3633         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3634         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3635         BMP.
3636         (Qjapanese_jisx0208_1990): New variable.
3637         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3638         (complex_vars_of_mule_charset): Add new coded-charset
3639         `japanese-jisx0208-1990'.
3640
3641         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3642         (MIN_CHAR_JIS_X0208_1990): New macro.
3643         (MAX_CHAR_JIS_X0208_1990): New macro.
3644
3645 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3646
3647         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3648         coded-charset is not found.
3649
3650 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3651
3652         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3653         (Fdefine_char): Use `Fmake_char'.
3654
3655 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3656
3657         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3658         (Vcharset_hiragana_jisx0208): Deleted.
3659         (Vcharset_katakana_jisx0208): Deleted.
3660         (Qideograph_daikanwa): New variable.
3661         (Qhiragana_jisx0208): Deleted.
3662         (Qkatakana_jisx0208): Deleted.
3663         (split_builtin_char): Split `ideograph-daikanwa'.
3664         (Fsplit_char): New implementation for UTF-2000.
3665         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3666         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3667         (complex_vars_of_mule_charset): Add new coded-charset
3668         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3669         `katakana-jisx0208'.
3670
3671         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3672         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3673         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3674         (MIN_CHAR_DAIKANWA): New macro.
3675         (MAX_CHAR_DAIKANWA): New macro.
3676
3677 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3678
3679         * data.c (Fstring_to_number): Don't recognize floating point if
3680         base is not 10.
3681
3682 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3683
3684         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3685
3686 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3687
3688         * mule-charset.c (Qsquare): New variable.
3689         (to_char_code): Add `Qsquare'.
3690         (syms_of_mule_charset): Add new symbol `square'.
3691
3692 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3693
3694         * mule-charset.c (Qcircle): New variable.
3695         (to_char_code): Add `Qcircle'.
3696         (syms_of_mule_charset): Add new symbol `circle'.
3697
3698 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3699
3700         * mule-charset.c (Qfont): New variable.
3701         (to_char_code): Add `Qfont'.
3702         (syms_of_mule_charset): Add new symbol `font'.
3703
3704 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3705
3706         * mule-charset.c (Qsub): New variable.
3707         (to_char_code): Add `Qsub'.
3708         (syms_of_mule_charset): Add new symbol `sub'.
3709
3710 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3711
3712         * mule-charset.c (Fput_char_attribute): Convert each element of
3713         VALUE to GL position if ATTRIBUTE is a GR-set,
3714
3715 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3716
3717         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3718         coded-charset is a GR-set.
3719
3720 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3721
3722         * mule-charset.c (Fput_char_attribute): Check each element of
3723         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3724
3725 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3726
3727         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3728         UTF-2000.
3729         (Qethiopic_ucs): New variable in UTF-2000.
3730         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3731         (complex_vars_of_mule_charset): Add new coded-charset
3732         `ethiopic-ucs' in UTF-2000.
3733
3734         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3735         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3736         9)'.
3737         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3738         10)'.
3739         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3740
3741 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3742
3743         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3744         `ascii'.
3745
3746 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3747
3748         * mule-charset.c (Vcharacter_variant_table): New variable.
3749         (Q_ucs): New variable.
3750         (Fchar_variants): New function.
3751         (Fput_char_attribute): Register `->ucs' value to
3752         `Vcharacter_variant_table'.
3753         (syms_of_mule_charset): Add new function `char-variants' and new
3754         symbol `->ucs'.
3755         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3756
3757 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3758
3759         * mule-charset.c (get_char_code_table): Allow negative character
3760         code.
3761         (put_char_code_table): Likewise.
3762         (Vcharacter_composition_table): New variable.
3763         (Q_decomposition): New variable.
3764         (Qwide): New variable.
3765         (Qnarrow): New variable.
3766         (Qcompat): New variable.
3767         (QnoBreak): New variable.
3768         (Qsuper): New variable.
3769         (Qfraction): New variable.
3770         (to_char_code): New function.
3771         (Fget_composite_char): New function.
3772         (Fput_char_attribute): Register `->decomposition' value to
3773         `Vcharacter_composition_table'.
3774         (syms_of_mule_charset): Add new function `get-composite-char', new
3775         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3776         `super' and `fraction'.
3777         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3778
3779 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3780
3781         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3782         character; copy the return value.
3783
3784 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3785
3786         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3787
3788         * mule-charset.c (range_charset_code_point): Must use make_int.
3789         (split_builtin_char): New function.
3790
3791 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3792
3793         * mule-charset.c (char_byte_table): Change name from
3794         "char-code-table" to "char-byte-table".
3795         (mark_char_code_table): New function.
3796         (char_code_table_equal): New function.
3797         (char_code_table_hash): New function.
3798         (char_code_table_description): New constant.
3799         (char_code_table): New type.
3800         (make_char_code_table): New function.
3801         (copy_char_code_table): New function.
3802         (get_char_code_table): Modify for `char_code_table' type.
3803         (put_char_code_table): Likewise.
3804         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3805         (Kashiwara).
3806
3807         * char-ucs.h (char_code_table): New type.
3808         (XCHAR_CODE_TABLE): New macro.
3809         (XSETCHAR_CODE_TABLE): New macro.
3810         (CHAR_CODE_TABLE_P): New macro.
3811         (GC_CHAR_CODE_TABLE_P): New macro.
3812         (struct Lisp_Char_Code_Table): New structure.
3813
3814 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3815
3816         * mule-charset.c (Fmake_charset): Setup byte_offset for
3817         {94|96}^n-set.
3818
3819 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3820
3821         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3822         character.
3823
3824 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3825
3826         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3827         is found.
3828
3829 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3830
3831         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3832         charset, it is regarded as a charset.
3833         (put_char_attribute): New function in UTF-2000.
3834         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3835         charset, mapping-table of the charset is modified.
3836         (Fdefine_char): New function in UTF-2000.
3837         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3838         `Fput_char_attribute'.
3839         (syms_of_mule_charset): Add new function `define-char' and new
3840         symbol `ucs' in UTF-2000.
3841         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3842
3843 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3844
3845         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3846         non-UTF-2000 configuration.
3847
3848 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3849
3850         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3851         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3852
3853         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3854         deleted.
3855         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3856         (Fset_charset_mapping_table): Likewise.
3857
3858         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3859         (CHARSET_ENCODING_TABLE): Delete.
3860         (XCHARSET_ENCODING_TABLE): Delete.
3861         (charset_code_point): New interface.
3862
3863 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3864
3865         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3866         instead of `charset_get_byte1' and `charset_get_byte2'.
3867
3868         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3869         (charset_get_byte2): Deleted.
3870
3871 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3872
3873         * char-ucs.h (SPLIT_CHAR): New inline function.
3874         (breakup_char_1): Use `SPLIT_CHAR'.
3875
3876         * mule-charset.c (range_charset_code_point): New function.
3877         (charset_code_point): New function.
3878
3879         * char-ucs.h (range_charset_code_point): New interface.
3880         (breakup_char_1): Use `range_charset_code_point'.
3881
3882 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3883
3884         * mule-charset.c (Fmake_charset): Delete unused local variable
3885         `code_offset'.
3886
3887         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3888         (breakup_char_1): Find a charset and code-point in
3889         `Vcharacter_attribute_table'.
3890
3891 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3892
3893         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3894         to 0.10 (Yao).
3895
3896 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3897
3898         * mule-charset.c (Vcharacter_attribute_table): New variable.
3899         (Fchar_attribute_alist): New function.
3900         (Fget_char_attribute): New function.
3901         (Fput_char_attribute): New function.
3902         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3903         too.
3904         (syms_of_mule_charset): Add new function `char-attribute-alist',
3905         `get-char-attribute' and `put-char-attribute'.
3906         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3907
3908 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3909
3910         * mule-charset.c (Fmake_charset): Just use
3911         `get_unallocated_leading_byte'.
3912
3913         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3914         sets; don't use final-byte based number for private sets.
3915
3916 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3917
3918         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3919         integer.
3920
3921 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3922
3923         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3924         to 0.9.
3925
3926 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3927
3928         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3929         of `CHAR_LEADING_BYTE' in UTF-2000.
3930
3931         * insdel.c (find_charsets_in_bufbyte_string): Use
3932         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3933         (find_charsets_in_emchar_string): Likewise.
3934
3935         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3936         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3937
3938         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3939         (CHAR_CHARSET_ID): New macro.
3940
3941 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3942
3943         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3944         charset-id - MIN_LEADING_BYTE.
3945         (put_char_table): Likewise.
3946
3947 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3948
3949         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3950         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3951         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3952         (CHARSET_ID_OFFSET): New macro.
3953         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3954         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3955         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3956         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3957         4).
3958         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3959         5).
3960         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3961         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3962         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3963         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3964         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3965
3966 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3967
3968         * mule-charset.c (next_allocated_leading_byte): New variable in
3969         UTF-2000.
3970         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3971         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3972         (get_unallocated_leading_byte): Simply use
3973         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3974         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3975         UTF-2000.
3976
3977         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3978         (MAX_LEADING_BYTE_PRIVATE): New macro.
3979         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3980         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3981
3982 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3983
3984         * mule-charset.c (Fmake_charset): Allocate final-byte based
3985         charset-id for 94-set, 96-set and 94x94-set.
3986
3987 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3988
3989         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3990         ambiguous `else'.
3991         (Fmake_charset): Likewise.
3992         (complex_vars_of_mule_charset): Modify the font registry of
3993         `ucs-bmp' not to match `Ethiopic-Unicode'.
3994
3995 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3996
3997         * mule-charset.c (complex_vars_of_mule_charset): Add font
3998         registory of `ucs-bmp'.
3999
4000 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4001
4002         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4003         coded-charsets in `default-coded-charset-priority-list' when
4004         breaking up a character.
4005
4006         * mule-charset.c (Vcharset_latin_viscii): New variable.
4007         (Qlatin_viscii): New variable.
4008         (make_charset): Don't use `decoding_table'.
4009         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4010         byte_offset.
4011         (Fset_charset_mapping_table): New implementation.
4012         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4013         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4014         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4015         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4016         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4017         charset `latin_viscii'.
4018
4019         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4020         (CHARSET_TYPE_94X94): Change to 1 from 2.
4021         (CHARSET_TYPE_96): Change to 2 from 1.
4022         (CHARSET_TYPE_128): New macro.
4023         (CHARSET_TYPE_128X128): Change to 5 from 4.
4024         (CHARSET_TYPE_256): New macro.
4025         (CHARSET_TYPE_256X256): Change to 7 from 5.
4026         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4027
4028 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4029
4030         * text-coding.c (char_encode_shift_jis): Refer
4031         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4032         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4033
4034         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4035         (char_byte_table_equal): New function in UTF-2000.
4036         (char_byte_table_hash): New function in UTF-2000.
4037         (char_byte_table_description): New constant in UTF-2000.
4038         (char_byte_table): New type in UTF-2000.
4039         (make_char_byte_table): New function in UTF-2000.
4040         (copy_char_byte_table): New function in UTF-2000.
4041         (make_char_code_table): New macro in UTF-2000.
4042         (get_char_code_table): New function in UTF-2000.
4043         (put_char_code_table): New function in UTF-2000.
4044         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4045         (charset_description): Add setting in UTF-2000.
4046         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4047         `CHARSET_TO_BYTE1_TABLE(cs)'.
4048         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4049         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4050         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4051         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4052         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4053         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4054         `CHARSET_TO_BYTE2_TABLE(cs)'.
4055
4056         * char-ucs.h (char_byte_table): New type.
4057         (XCHAR_BYTE_TABLE): New macro.
4058         (XSETCHAR_BYTE_TABLE): New macro.
4059         (CHAR_BYTE_TABLE_P): New macro.
4060         (GC_CHAR_BYTE_TABLE_P): New macro.
4061         (struct Lisp_Char_Byte_Table): New structure.
4062         (get_char_code_table): New interface.
4063         (Emchar_to_byte_table): Deleted.
4064         (get_byte_from_character_table): Deleted.
4065         (struct Lisp_Charset): Add `encoding_table'; delete
4066         `to_byte1_table' and `to_byte2_table'.
4067         (CHARSET_ENCODING_TABLE): New macro.
4068         (CHARSET_TO_BYTE1_TABLE): Deleted.
4069         (CHARSET_TO_BYTE2_TABLE): Deleted.
4070         (XCHARSET_ENCODING_TABLE): New macro.
4071         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4072         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4073
4074 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4075
4076         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4077         `vietnamese-viscii-*'.
4078
4079 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4080
4081         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4082         (Qvietnamese_viscii_upper): New variable.
4083         (Fdefine_charset_alias): New function.
4084         (syms_of_mule_charset): Add new function `define-charset-alias'.
4085         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4086         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4087         `latin-viscii-*'.
4088
4089 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4090
4091         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4092         (MAX_CHAR_OBS_94x94): New macro.
4093         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4094         for 94x94 sets.
4095
4096         * mule-charset.c (put_byte_from_character_table): Change unit size
4097         from 128 to 256.
4098         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4099         not defined.
4100         (Fmake_reverse_direction_charset): Modify dummy argument of
4101         `make_charset' for non-UTF-2000 environment.
4102
4103 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4104
4105         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4106
4107         * mule-charset.c (destroy_byte_from_character_table): New macro.
4108         (latin_jisx0201_to_ucs): Deleted.
4109         (latin_iso8859_2_to_ucs): Deleted.
4110         (latin_iso8859_3_to_ucs): Deleted.
4111         (latin_iso8859_4_to_ucs): Deleted.
4112         (latin_iso8859_9_to_ucs): Deleted.
4113         (latin_viscii_lower_to_ucs): Deleted.
4114         (latin_viscii_upper_to_ucs): Deleted.
4115         (mark_charset): Mark `cs->decoding_table'.
4116         (Fcharset_mapping_table): Fix DOC-string.
4117         (Fset_charset_mapping_table): New function.
4118         (syms_of_mule_charset): Add nwe function
4119         `set-charset-mapping-table'.
4120         (complex_vars_of_mule_charset): Don't setup and use
4121         `latin_*_to_ucs'.
4122
4123 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4124
4125         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4126         charset.
4127
4128 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4129
4130         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4131         (Vcharset_katakana_jisx0208): New variable.
4132         (Qhiragana_jisx0208): New variable.
4133         (Qkatakana_jisx0208): New variable.
4134         (make_charset): Add new argument `byte_offset'.
4135         (charset_get_byte1): Modify for new coded-charset definition; use
4136         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4137         `XCHARSET_BYTE_OFFSET'.
4138         (Fmake_charset): Modify for `make_charset'.
4139         (Fmake_reverse_direction_charset): Likewise.
4140         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4141         `katakana-jisx0208'.
4142         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4143         `.'  in font registry of charset `katakana-jisx0201',
4144         `latin-jisx0201', `vietnamese-viscii-lower' and
4145         `vietnamese-viscii-upper'; modify DOC-string of charset
4146         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4147         registry of charset `japanese-jisx0208' not to use font for JIS
4148         X0208:1990; add new charset `hiragana-jisx0208' and
4149         `katakana-jisx0208'.
4150
4151         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4152         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4153         (struct Lisp_Charset): Add `byte_offset'.
4154         (CHARSET_BYTE_OFFSET): New macro.
4155         (XCHARSET_UCS_MIN): New macro.
4156         (XCHARSET_UCS_MAX): New macro.
4157         (XCHARSET_CODE_OFFSET): New macro.
4158         (XCHARSET_BYTE_OFFSET): New macro.
4159         (MIN_CHAR_HIRAGANA): New macro.
4160         (MAX_CHAR_HIRAGANA): New macro.
4161         (MIN_CHAR_KATAKANA): New macro.
4162         (MAX_CHAR_KATAKANA): New macro.
4163         (MAKE_CHAR): Modify for new coded-charset definition; use
4164         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4165         `XCHARSET_BYTE_OFFSET'.
4166
4167 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4168
4169         * mule-charset.c (CHAR96): Deleted.
4170         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4171         <Lisp_Object>.
4172         (latin_iso8859_2_to_ucs): Likewise.
4173         (latin_iso8859_3_to_ucs): Likewise.
4174         (latin_iso8859_4_to_ucs): Likewise.
4175         (latin_iso8859_9_to_ucs): Likewise.
4176         (latin_viscii_lower_to_ucs): Likewise.
4177         (latin_viscii_upper_to_ucs): Likewise.
4178         (latin_tcvn5712_to_ucs): Commented out.
4179         (make_charset): Change type of argument `decoding_table' from
4180         <Emchar*> to <Lisp_Object> [vector of characters].
4181         (Fmake_charset): Modify for `make_charset'.
4182         (Fmake_reverse_direction_charset): Likewise.
4183         (Fcharset_mapping_table): New function in UTF-2000.
4184         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4185         UTF-2000.
4186         (complex_vars_of_mule_charset): Modify for type change of
4187         `*_to_ucs'; modify for `make_charset'.
4188
4189         * char-ucs.h (struct Lisp_Charset): Change type of
4190         `decoding_table' from <Emchar*> to <Lisp_Object>.
4191         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4192
4193 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4194
4195         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4196         error with non-UTF-2000-Mule.
4197
4198 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4199
4200         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4201         in lisp again].
4202         (Vcharset_chinese_cns11643_4): Likewise.
4203         (Vcharset_chinese_cns11643_5): Likewise.
4204         (Vcharset_chinese_cns11643_6): Likewise.
4205         (Vcharset_chinese_cns11643_7): Likewise.
4206         (Qchinese_cns11643_3): Likewise.
4207         (Qchinese_cns11643_4): Likewise.
4208         (Qchinese_cns11643_5): Likewise.
4209         (Qchinese_cns11643_6): Likewise.
4210         (Qchinese_cns11643_7): Likewise.
4211         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4212         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4213         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4214         (complex_vars_of_mule_charset): Likewise.
4215
4216 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4217
4218         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4219         96-set.
4220         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4221         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4222
4223 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4224
4225         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4226         0xFF60.
4227         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4228         (breakup_char_1): Likewise.
4229
4230         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4231         one of them includes the specified character.
4232
4233 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4234
4235         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4236
4237 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4238
4239         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4240
4241 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4242
4243         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4244         definition for non-UTF-2000 Mule.
4245         (latin_iso8859_3_to_ucs): Likewise.
4246         (latin_iso8859_4_to_ucs): Likewise.
4247         (latin_iso8859_9_to_ucs): Likewise.
4248         (latin_jisx0201_to_ucs): Likewise.
4249         (MIN_CHAR_THAI): Likewise.
4250         (MAX_CHAR_THAI): Likewise.
4251         (MIN_CHAR_GREEK): Likewise.
4252         (MAX_CHAR_GREEK): Likewise.
4253         (MIN_CHAR_HEBREW): Likewise.
4254         (MAX_CHAR_HEBREW): Likewise.
4255         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4256         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4257         (MIN_CHAR_CYRILLIC): Likewise.
4258         (MAX_CHAR_CYRILLIC): Likewise.
4259
4260 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4261
4262         * char-ucs.h (breakup_char_1): Use
4263         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4264         thai-tis620 and katakana-jisx0201 area.
4265
4266 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4267
4268         * char-ucs.h (breakup_char_1): Use
4269         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4270         area.
4271
4272         * text-coding.c (reset_encoding_stream): Fixed.
4273         (char_encode_ucs4): Delete `& 255'.
4274
4275         * char-ucs.h (breakup_char_1): Use
4276         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4277
4278 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4279
4280         * file-coding.c (Fmake_coding_system): Don't set up
4281         `codesys->fixed.size'.
4282         (encode_coding_no_conversion): Don't refer
4283         `str->codesys->fixed.size'.
4284
4285 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4286
4287         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4288         (latin_a_char_to_byte1): Deleted.
4289         (latin_a_char_to_byte2): Deleted.
4290
4291 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4292
4293         * mule-charset.c (make_charset): Add new argument `ucs_min',
4294         `ucs_max' and `code_offset'.
4295         (charset_get_byte1): New implementation [delete specific charset
4296         depended implementations].
4297         (Fmake_charset): Modify for `make_charset'.
4298         (Fmake_reverse_direction_charset): Likewise.
4299         (complex_vars_of_mule_charset): Likewise.
4300
4301         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4302         `code_offset'.
4303         (CHARSET_UCS_MIN): New macro.
4304         (CHARSET_UCS_MAX): New macro.
4305         (CHARSET_CODE_OFFSET): New macro.
4306         (MAKE_CHAR): Delete charset depended definitions [except
4307         katakana-jisx0201].
4308
4309 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4310
4311         * char-ucs.h (breakup_char_1): Use
4312         `Vdefault_coded_charset_priority_list' for C0-Controls,
4313         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4314
4315 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4316
4317         * char-ucs.h (charset_get_byte1): New function.
4318         (XCHARSET_GET_BYTE1): Deleted.
4319         (charset_get_byte2): New function.
4320         (XCHARSET_GET_BYTE2): Deleted.
4321         (Vdefault_coded_charset_priority_list): New external variable.
4322         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4323         `Vdefault_preferred_coded_charset_list'.
4324
4325         * mule-charset.c (charset_get_byte1): New function.
4326         (charset_get_byte2): New function.
4327         (Vdefault_coded_charset_priority_list): New variable.
4328         (vars_of_mule_charset): Add new variable
4329         `default-coded-charset-priority-list'.
4330
4331 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4332
4333         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4334         (XCHARSET_GET_BYTE2): New inline function.
4335         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4336         `XCHARSET_GET_BYTE2'.
4337
4338 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4339
4340         * mule-charset.c (make_charset): Initialize
4341         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4342         NULL if table is not defined.
4343
4344 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4345
4346         * text-coding.c (char_encode_shift_jis): Use
4347         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4348         `ucs_to_latin_jisx0201'.
4349
4350         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4351         (ucs_to_latin_iso8859_2): Deleted.
4352         (ucs_to_latin_iso8859_3): Deleted.
4353         (ucs_to_latin_iso8859_4): Deleted.
4354         (ucs_to_latin_iso8859_9): Deleted.
4355         (ucs_to_latin_viscii_lower): Deleted.
4356         (ucs_to_latin_viscii_upper): Deleted.
4357         (ucs_to_latin_tcvn5712): Deleted.
4358         (make_charset): Add new argument `decoding_table'; set up
4359         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4360         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4361         `decoding_table' is defined in UTF-2000.
4362         (Fmake_charset): Modify for `make_charset'.
4363         (Fmake_reverse_direction_charset): Likewise.
4364         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4365         and `GENERATE_96_SET'.
4366
4367         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4368         (ucs_to_latin_jisx0201): Deleted.
4369         (latin_iso8859_2_to_ucs): Deleted.
4370         (ucs_to_latin_iso8859_2): Deleted.
4371         (latin_iso8859_3_to_ucs): Deleted.
4372         (ucs_to_latin_iso8859_3): Deleted.
4373         (latin_iso8859_4_to_ucs): Deleted.
4374         (ucs_to_latin_iso8859_4): Deleted.
4375         (latin_iso8859_9_to_ucs): Deleted.
4376         (ucs_to_latin_iso8859_9): Deleted.
4377         (latin_viscii_lower_to_ucs): Deleted.
4378         (ucs_to_latin_viscii_lower): Deleted.
4379         (latin_viscii_upper_to_ucs): Deleted.
4380         (ucs_to_latin_viscii_upper): Deleted.
4381         (struct Lisp_Charset): Renamed `encoding_table' to
4382         `to_byte1_table'; add `to_byte2_table'.
4383         (CHARSET_DECODING_TABLE): New macro.
4384         (CHARSET_TO_BYTE1_TABLE): New macro.
4385         (CHARSET_TO_BYTE2_TABLE): New macro.
4386         (XCHARSET_DECODING_TABLE): New macro.
4387         (XCHARSET_TO_BYTE1_TABLE): New macro.
4388         (XCHARSET_TO_BYTE2_TABLE): New macro.
4389         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4390         tables.
4391         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4392         don't use `ucs_to_*' tables.
4393
4394 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4395
4396         * text-coding.c (Fmake_coding_system): Don't set up
4397         `codesys->fixed.size'.
4398         (encode_coding_no_conversion): Use `if' instead of `switch'.
4399
4400         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4401
4402 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4403
4404         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4405         (Fmake_charset): Modify for `make_charset'.
4406         (Fmake_reverse_direction_charset): Likewise.
4407         (complex_vars_of_mule_charset): Likewise.
4408
4409 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4410
4411         * text-coding.c (char_encode_shift_jis): Use table
4412         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4413
4414 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4415
4416         * text-coding.c (text_encode_generic): Use `if' instead of
4417         `switch'.
4418         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4419         decode JIS-Latin.
4420
4421 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4422
4423         * text-coding.c (encode_coding_sjis): Deleted.
4424         (char_encode_shift_jis): New function.
4425         (char_finish_shift_jis): New function.
4426         (reset_encoding_stream): Set up `encode_char' and `finish' for
4427         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4428         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4429         (char_encode_utf8): Treat `eol_type'.
4430
4431 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4432
4433         * file-coding.c (decode_coding_iso2022): Use
4434         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4435
4436 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4437
4438         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4439         to 0.7 (Hirano).
4440
4441 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4442
4443         * char-lb.h (CHAR_COLUMNS): New macro.
4444
4445 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4446
4447         * text-coding.c (char_encode_ucs4): New function.
4448         (char_finish_ucs4): New function.
4449         (encode_coding_ucs4): Deleted.
4450         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4451         (text_encode_generic): Delete local variable `charset' and `half'.
4452         (ucs_to_mule_table): Deleted.
4453         (mule_to_ucs_table): Deleted.
4454         (Fset_ucs_char): Deleted.
4455         (ucs_to_char): Deleted.
4456         (Fucs_char): Deleted.
4457         (Fset_char_ucs): Deleted.
4458         (Fchar_ucs): Deleted.
4459         (decode_ucs4): Deleted.
4460         (mule_char_to_ucs4): Deleted.
4461         (encode_ucs4): Deleted.
4462         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4463         (decode_coding_utf8): Likewise.
4464         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4465         (char_encode_iso2022): Fixed.
4466         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4467         `Fset_char_ucs' and `Fchar_ucs'.
4468         (complex_vars_of_file_coding): Don't initialize
4469         `ucs_to_mule_table'.
4470
4471         * objects-tty.c (tty_initialize_font_instance): Don't use
4472         `XCHARSET_COLUMNS'.
4473
4474         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4475         UTF-2000.
4476
4477         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4478         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4479
4480         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4481         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4482         (emchar_string_displayed_columns): Likewise.
4483
4484         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4485         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4486         (string_column_at_point): Likewise.
4487         (Fmove_to_column): Likewise.
4488
4489         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4490         `encoding_table' and `decoding_table'.
4491         (CHARSET_REP_BYTES): Deleted.
4492         (XCHARSET_REP_BYTES): Deleted.
4493         (XCHARSET_COLUMNS): Deleted.
4494         (CHAR_COLUMNS): New macro.
4495         (lookup_composite_char): Deleted unconditionally.
4496         (composite_char_string): Likewise.
4497
4498 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4499
4500         * char-ucs.h (Emchar_to_byte_table): New type.
4501         (get_byte_from_character_table): New function interface.
4502         (Vcharset_latin_jisx0201): New variable.
4503         (latin_jisx0201_to_ucs): New variable.
4504         (ucs_to_latin_jisx0201): New variable.
4505         (Vcharset_latin_iso8859_2): New variable.
4506         (latin_iso8859_2_to_ucs): New variable.
4507         (ucs_to_latin_iso8859_2): New variable.
4508         (Vcharset_latin_iso8859_3): New variable.
4509         (latin_iso8859_3_to_ucs): New variable.
4510         (ucs_to_latin_iso8859_3): New variable.
4511         (Vcharset_latin_iso8859_4): New variable.
4512         (latin_iso8859_4_to_ucs): New variable.
4513         (ucs_to_latin_iso8859_4): New variable.
4514         (Vcharset_latin_iso8859_9): New variable.
4515         (latin_iso8859_9_to_ucs): New variable.
4516         (ucs_to_latin_iso8859_9): New variable.
4517         (Vcharset_latin_viscii_lower): New variable.
4518         (latin_viscii_lower_to_ucs): New variable.
4519         (ucs_to_latin_viscii_lower): New variable.
4520         (Vcharset_latin_viscii_upper): New variable.
4521         (latin_viscii_upper_to_ucs): New variable.
4522         (ucs_to_latin_viscii_upper): New variable.
4523         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4524         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4525         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4526         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4527         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4528         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4529         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4530         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4531         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4532         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4533
4534         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4535         (Vcharset_latin_viscii_upper): New variable.
4536         (make_byte_from_character_table): New function.
4537         (put_byte_from_character_table): New function.
4538         (get_byte_from_character_table): New function.
4539         (CHAR96): New macro.
4540         (ucs_to_latin_jisx0201): New variable.
4541         (latin_jisx0201_to_ucs): New variable.
4542         (ucs_to_latin_iso8859_2): New variable.
4543         (latin_iso8859_2_to_ucs): New variable.
4544         (ucs_to_latin_iso8859_3): New variable.
4545         (latin_iso8859_3_to_ucs): New variable.
4546         (ucs_to_latin_iso8859_4): New variable.
4547         (latin_iso8859_4_to_ucs): New variable.
4548         (ucs_to_latin_iso8859_9): New variable.
4549         (latin_iso8859_9_to_ucs): New variable.
4550         (ucs_to_latin_viscii_lower): New variable.
4551         (latin_viscii_lower_to_ucs): New variable.
4552         (ucs_to_latin_viscii_upper): New variable.
4553         (latin_viscii_upper_to_ucs): New variable.
4554         (ucs_to_latin_tcvn5712): New variable.
4555         (latin_tcvn5712_to_ucs): New variable.
4556         (Qlatin_viscii_lower): New variable.
4557         (Qlatin_viscii_upper): New variable.
4558         (syms_of_mule_charset): Set up new symbol
4559         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4560         (complex_vars_of_mule_charset): Set up new charset
4561         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4562         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4563         `ucs_to_<CHARSET>' tables.
4564
4565 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4566
4567         * text-coding.c: New file.
4568
4569 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4570
4571         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4572
4573         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4574         (MAKE_CHAR): Modify for `ucs-bmp'.
4575         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4576         non-MULE characters of BMP.
4577
4578 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4579
4580         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4581         to 0.6.
4582
4583 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4584
4585         * lstream.h:
4586         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4587         - Include character.h for `CHAR_ASCII_P'.
4588
4589         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4590
4591         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4592         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4593
4594         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4595         (BYTE_C0_P): Likewise.
4596         (BYTE_C1_P): Likewise.
4597         (Lstream_get_emchar_1): Likewise.
4598         (Lstream_fput_emchar): Likewise.
4599         (Lstream_funget_emchar): Likewise.
4600         (copy_internal_to_external): Likewise.
4601         (copy_external_to_internal): Likewise.
4602
4603         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4604         (BYTE_C0_P): Likewise.
4605         (BYTE_C1_P): Likewise.
4606         (Lstream_get_emchar_1): Likewise.
4607         (Lstream_fput_emchar): Likewise.
4608         (Lstream_funget_emchar): Likewise.
4609         (copy_internal_to_external): Likewise.
4610         (copy_external_to_internal): Likewise.
4611
4612         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4613         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4614
4615         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4616         (BYTE_ASCII_P): Moved to mb-1byte.h.
4617
4618 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4619
4620         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4621
4622         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4623         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4624         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4625         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4626         (VALIDATE_CHARPTR_FORWARD): Likewise.
4627         (simple_charptr_emchar): Moved to mb-multibyte.h.
4628         (simple_set_charptr_emchar): Likewise.
4629         (simple_charptr_copy_char): Likewise.
4630         (non_ascii_charptr_emchar): Likewise.
4631         (non_ascii_set_charptr_emchar): Likewise.
4632         (non_ascii_charptr_copy_char): Likewise.
4633         (charptr_emchar): Moved to mb-*byte.h.
4634         (set_charptr_emchar): Likewise.
4635         (charptr_copy_char): Likewise.
4636
4637         * mb-1byte.h, mb-multibyte.h: New files.
4638
4639 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4640
4641         * mb-utf-8.h (MULTIBYTE): New macro.
4642         (MAX_EMCHAR_LEN): Moved from buffer.h.
4643         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4644
4645         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4646
4647         * mb-lb.h, multibyte.h: New files.
4648
4649         * char-1byte.h (Charset_ID): Moved from buffer.h.
4650         (MIN_LEADING_BYTE): Likewise.
4651         (LEADING_BYTE_ASCII): Likewise.
4652         (NUM_LEADING_BYTES): Likewise.
4653         (CHARSETP): Likewise.
4654         (CHARSET_BY_LEADING_BYTE): Likewise.
4655         (XCHARSET_LEADING_BYTE): Likewise.
4656         (XCHARSET_GRAPHIC): Likewise.
4657         (XCHARSET_COLUMNS): Likewise.
4658         (XCHARSET_DIMENSION): Likewise.
4659         (CHAR_CHARSET): Likewise.
4660         (CHAR_LEADING_BYTE): Likewise.
4661         (BREAKUP_CHAR): Likewise.
4662         (Vcharset_ascii): Likewise.
4663
4664         * buffer.h: Include multibyte.h unconditionally.
4665         (VALID_CHARPTR_P): Moved to multibyte.h.
4666         (ASSERT_VALID_CHARPTR): Likewise.
4667         (REAL_INC_CHARPTR): Likewise.
4668         (REAL_INC_CHARBYTIND): Likewise.
4669         (REAL_DEC_CHARPTR): Likewise.
4670         (INC_CHARPTR): Likewise.
4671         (INC_CHARBYTIND): Likewise.
4672         (DEC_CHARPTR): Likewise.
4673         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4674         (VALIDATE_CHARPTR_FORWARD): Likewise.
4675         (charptr_n_addr): Likewise.
4676         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4677         (simple_charptr_emchar): Moved to multibyte.h.
4678         (simple_set_charptr_emchar): Likewise.
4679         (simple_charptr_copy_char): Likewise.
4680         (non_ascii_charptr_emchar): Likewise.
4681         (non_ascii_set_charptr_emchar): Likewise.
4682         (non_ascii_charptr_copy_char): Likewise.
4683         (charptr_emchar): Likewise.
4684         (set_charptr_emchar): Likewise.
4685         (charptr_copy_char): Likewise.
4686         (charptr_emchar_n): Likewise.
4687         (Charset_ID): Moved to char-1byte.h.
4688         (Vcharset_ascii): Likewise.
4689         (CHAR_CHARSET): Likewise.
4690         (CHAR_LEADING_BYTE): Likewise.
4691         (LEADING_BYTE_ASCII): Likewise.
4692         (NUM_LEADING_BYTES): Likewise.
4693         (MIN_LEADING_BYTE): Likewise.
4694         (CHARSETP): Likewise.
4695         (CHARSET_BY_LEADING_BYTE): Likewise.
4696         (XCHARSET_LEADING_BYTE): Likewise.
4697         (XCHARSET_GRAPHIC): Likewise.
4698         (XCHARSET_COLUMNS): Likewise.
4699         (XCHARSET_DIMENSION): Likewise.
4700         (BREAKUP_CHAR): Likewise.
4701
4702 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4703
4704         * character.h: Add document about interface for characters.
4705
4706         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4707         (MAKE_CHAR): Delete comment about
4708         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4709         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4710         (BREAKUP_CHAR): Modify name of arguments.
4711         (CHAR_CHARSET): Modify name of argument.
4712
4713         * buffer.h: Delete document about Emchar accessors.
4714
4715 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4716
4717         * character.h (CHAR_INTP): Moved from buffer.h
4718         (CHAR_OR_CHAR_INTP): Likewise.
4719         (XCHAR_OR_CHAR_INT): Likewise.
4720         (CHECK_CHAR_COERCE_INT): Likewise.
4721
4722         * buffer.h (CHAR_INTP): Moved to character.h
4723         (CHAR_OR_CHAR_INTP): Likewise.
4724         (XCHAR_OR_CHAR_INT): Likewise.
4725         (CHECK_CHAR_COERCE_INT): Likewise.
4726
4727 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4728
4729         * character.h:
4730         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4731         - Include char-1byte.h, char-lb.h or char-ucs.h.
4732
4733         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4734
4735         * buffer.h: Include character unconditionally.
4736         (valid_char_p): Moved to char-*.h.
4737         (non_ascii_valid_char_p): Moved to char-lb.h.
4738
4739         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4740
4741 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4742
4743         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4744         in UTF-2000 because it is not ported yet and not to use
4745         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4746         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4747         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4748
4749         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4750         (CHAR_ASCII_P): Moved from character.h.
4751
4752         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4753         (CHAR_ASCII_P): Likewise.
4754         (CHAR_FIELD1_MASK): Deleted.
4755         (CHAR_FIELD2_MASK): Deleted.
4756         (CHAR_FIELD3_MASK): Deleted.
4757         (MAX_CHAR_BASIC_LATIN): New macro.
4758         (CHAR_FIELD1): Deleted.
4759         (CHAR_FIELD2_INTERNAL): Deleted.
4760         (CHAR_FIELD3_INTERNAL): Deleted.
4761         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4762         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4763         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4764         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4765         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4766         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4767         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4768         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4769         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4770         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4771         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4772         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4773         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4774         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4775         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4776         (MIN_CHAR_COMPOSITION): Deleted.
4777         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4778         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4779
4780 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4781
4782         * buffer.h: Include mb-utf-8.h in UTF-2000.
4783
4784         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4785
4786         * mb-utf-8.h: New file.
4787
4788 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4789
4790         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4791         instead of `int'.
4792
4793         * mule-charset.h, buffer.h (Charset_ID): New type.
4794
4795 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4796
4797         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4798         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4799         instead of `MULE_CHAR_PRIVATE_OFFSET',
4800         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4801         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4802         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4803
4804         * character.h (Vcharset_japanese_jisx0212): New variable
4805         definition.
4806
4807 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4808
4809         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4810         (charset_by_attributes): Delete array about direction.
4811         (latin_a_char_to_charset): New variable in UTF-2000.
4812         (latin_a_char_to_byte1): New variable in UTF-2000.
4813         (latin_a_char_to_byte2): New variable in UTF-2000.
4814         (Qucs_bmp): New variable.
4815         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4816         `Bufbyte'.
4817         (next_allocated_2_byte_leading_byte): Likewise.
4818         (non_ascii_set_charptr_emchar): Likewise.
4819         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4820         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4821         `charset_by_attributes'.
4822         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4823         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4824         and `CHARSET_BY_LEADING_BYTE'.
4825         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4826         `utf-2000-version' to `vars_of_mule_charset'.
4827         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4828         define `leading-code-private-11' in UTF-2000; move setting of
4829         `utf-2000-version' from `syms_of_mule_charset'.
4830         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4831         UTF-2000.
4832
4833         * character.h (Charset_ID): New type.
4834         (LEADING_BYTE_UCS_BMP): New macro.
4835         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4836         (CHARSET_ID_OFFSET_94): New macro.
4837         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4838         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4839         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4840         final-byte.
4841         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4842         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4843         (CHARSET_ID_OFFSET_96): New macro.
4844         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4845         CHARSET_ID_OFFSET_96 and final-byte.
4846         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4847         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4848         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4849         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4850         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4851         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4852         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4853         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4854         (LEADING_BYTE_THAI_TIS620): Likewise.
4855         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4856         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4857         (CHARSET_ID_OFFSET_94x94): New macro.
4858         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4859         CHARSET_ID_OFFSET_94x94 and final-byte.
4860         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4861         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4862         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4863         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4864         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4865         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4866         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4867         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4868         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4869         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4870         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4871         (CHARSET_TYPE_128X128): New macro.
4872         (CHARSET_TYPE_256X256): New macro.
4873         (XCHARSET_PRIVATE_P): Delete unconditionally.
4874         (charset_by_attributes): Delete array about direction.
4875         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4876         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4877         (MIN_CHAR_94): New macro.
4878         (MAX_CHAR_94): New macro.
4879         (MIN_CHAR_96): New macro.
4880         (MAX_CHAR_96): New macro.
4881         (MIN_CHAR_94x94): New macro.
4882         (MAX_CHAR_94x94): New macro.
4883         (MIN_CHAR_96x96): New macro.
4884         (MAX_CHAR_96x96): New macro.
4885         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4886         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4887         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4888         - 32)'.
4889         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4890         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4891         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4892         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4893         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4894         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4895         `XCHARSET_LEADING_BYTE' to make code-point.
4896         (latin_a_char_to_charset): New variable.
4897         (latin_a_char_to_byte1): New variable.
4898         (latin_a_char_to_byte2): New variable.
4899         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4900         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4901         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4902
4903         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4904         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4905         (find_charsets_in_emchar_string): Likewise.
4906         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4907
4908         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4909         `int'.
4910         (decode_coding_iso2022): Likewise.
4911
4912         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4913         of `unsigned char'.
4914
4915         * redisplay.c (redisplay_text_width_emchar_string): Use
4916         `Charset_ID' instead of `unsigned char'.
4917         (redisplay_frame_text_width_string): Likewise.
4918
4919         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4920         `unsigned char'.
4921
4922         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4923         instead of `unsigned char'.
4924         (face_cachel_charset_font_metric_info): Likewise.
4925
4926         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4927         (get_non_ascii_char_table_value): Likewise.
4928         (get_char_table): Likewise.
4929         (put_char_table): Likewise.
4930         (map_over_other_charset): Likewise.
4931         (map_char_table): Likewise.
4932
4933         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4934         instead of `unsigned char'.
4935
4936 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4937
4938         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4939         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4940
4941         * mule-charset.c (leading_code_private_11): Don't define in
4942         UTF-2000.
4943
4944         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4945         in UTF-2000 because it is not ported yet and not to use
4946         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4947
4948 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4949
4950         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4951
4952 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4953
4954         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4955         in UTF-2000.
4956
4957         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4958         of unsigned char to store leading-byte.
4959
4960         * chartab.c (get_non_ascii_char_table_value): Don't use
4961         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4962
4963         * file-coding.c (encode_coding_big5): Delete bogus implementation
4964         in UTF2000.
4965
4966         * character.h (LEADING_BYTE_*): Delete definition for
4967         non-UTF-2000.
4968         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4969         (LEADING_BYTE_PREFIX_P): Deleted.
4970         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4971         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4972         (BUFBYTE_LEADING_BYTE_P): Deleted.
4973         (CHARSET_PRIVATE_P): Deleted unconditionally.
4974         (rep_bytes_by_first_byte): Deleted unconditionally.
4975         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4976         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4977         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4978         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4979         (CHAR_FIELD2): Deleted.
4980         (CHAR_FIELD3): Deleted.
4981         (MAKE_CHAR): Delete definition for non-UTF-2000.
4982         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4983         (breakup_char_1): New implementation.
4984         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4985         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4986
4987 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4988
4989         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4990         condition.
4991
4992 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4993
4994         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4995         (CHARSET_PRIVATE_P): Likewise.
4996         (XCHARSET_PRIVATE_P): Likewise.
4997         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4998
4999         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5000         UTF2000.
5001         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5002
5003 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5004
5005         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5006         (NUM_LEADING_BYTES): Changed from 128 to 256.
5007         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5008         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5009         UTF2000.
5010         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5011
5012         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5013         UTF2000.
5014         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5015         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5016         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5017         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5018         (Qchinese_cns11643_3): New variable in UTF2000.
5019         (Qchinese_cns11643_4): New variable in UTF2000.
5020         (Qchinese_cns11643_5): New variable in UTF2000.
5021         (Qchinese_cns11643_6): New variable in UTF2000.
5022         (Qchinese_cns11643_7): New variable in UTF2000.
5023         (syms_of_mule_charset): Define `chinese-cns11643-3',
5024         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5025         and `chinese-cns11643-7' in UTF2000.
5026         (vars_of_mule_charset): Initialize
5027         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5028         + 1 in UTF2000.
5029         (complex_vars_of_mule_charset): Setup charset
5030         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5031         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5032
5033 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5034
5035         * mule-charset.c: Move setting for `leading-code-private-11' from
5036         `syms_of_mule_charset' to `vars_of_mule_charset'.
5037
5038 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5039
5040         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5041         and `NUM_LEADING_BYTES' in assert.
5042
5043 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5044
5045         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5046         instead of 128.
5047         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5048         `NUM_LEADING_BYTES' instead of 128.
5049
5050 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5051
5052         * mule-charset.h (charset_by_leading_byte): Use
5053         `NUM_LEADING_BYTES' instead of 128.
5054         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5055
5056         * mule-charset.c (charset_by_leading_byte): Use
5057         `NUM_LEADING_BYTES' instead of 128.
5058         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5059
5060         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5061         128.
5062
5063 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5064
5065         * mule-charset.c (syms_of_mule_charset): Update to
5066         0.4 (Shin-Imamiya).
5067
5068 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5069
5070         * file-coding.c (encode_coding_sjis): New implementation for
5071         UTF2000.  (decode_coding_sjis): Ditto.
5072
5073 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5074
5075         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5076         Don't define in UTF2000.
5077
5078         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5079         defined.
5080
5081         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5082         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5083         MULE.
5084
5085 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5086
5087         * config.h.in (CHAR_IS_UCS4): New macro.
5088
5089         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5090         conventional MULE representation.
5091         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5092
5093         * mule-charset.h: Reverted to original.
5094
5095         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5096         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5097         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5098
5099         * character.h: New file.
5100
5101         * file-coding.c (Fmake_coding_system): Set 1 to
5102         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5103         defined.
5104         (encode_coding_no_conversion): New implementation for UTF2000.
5105
5106         * file-coding.h (struct Lisp_Coding_System): Add new member
5107         `fixed.size'.
5108
5109 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5110
5111         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5112         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5113         (encode_coding_iso2022): New implementation for UTF2000.
5114
5115 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5116
5117         * mule-canna.c (c2mu): New implementation for UTF2000.
5118         (m2c): Likewise.
5119
5120 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5121
5122         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5123
5124 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5125
5126         * file-coding.c (reset_encoding_stream): Set 0 to
5127         `str->iso2022.current_char_boundary' in UTF2000.
5128         (encode_utf8): Don't define in UTF2000.
5129         (encode_coding_utf8): New implementation for UTF-8 representation
5130         of UTF2000.
5131         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5132
5133 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5134
5135         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5136
5137         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5138         UTF2000.
5139         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5140
5141         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5142
5143         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5144         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5145         as UTF-8 in UTF2000.
5146         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5147         (non_ascii_valid_char_p): Don't define in UTF2000.
5148         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5149         (Lstream_get_emchar_1): Likewise.
5150         (utf-2000-version): New variable in UTF2000.
5151
5152         * lread.c (read_escape): Add new reader `u'.
5153
5154         * insdel.c (three_to_one_table): Don't define in UTF2000.
5155         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5156         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5157         UTF2000.
5158         (bytind_to_bufpos_func): Likewise.
5159         (buffer_mule_signal_inserted_region): Likewise.
5160         (vars_of_insdel): Don't initialize `three_to_one_table'.
5161         (init_buffer_text): Use `buf->text->mule_size' instead of
5162         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5163         UTF2000.
5164
5165         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5166         UTF-8 representation in UTF2000.
5167         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5168         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5169         (decode_coding_iso2022): Don't define local variable `lb' in
5170         UTF2000; don't use LEADING_BYTE in UTF2000; use
5171         `DECODE_ADD_UCS_CHAR' in UTF2000.
5172         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5173
5174         * config.h.in (UTF2000): New macro.
5175
5176         * buffer.h (struct buffer_text): Add new member `mule_size' and
5177         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5178         (valid_char_p): Return always 1 in UTF2000.
5179         (MAX_EMCHAR_LEN): 6 in UTF2000.
5180         (three_to_one_table): Don't define in UTF2000.
5181         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5182         UTF2000.
5183         (real_bytind_to_bufpos): Likewise.
5184
5185         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5186
5187 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5188
5189         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5190         representation change.
5191         (Vutf_2000_version): New variable.
5192         (leading_code_private_11): New variable.
5193         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5194         `leading-code-private-11'.
5195
5196         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5197         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5198         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5199         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5200         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5201         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5202         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5203         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5204         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5205         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5206         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5207         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5208         (MIN_CHAR_GREEK): New macro.
5209         (MAX_CHAR_GREEK): New macro.
5210         (MIN_CHAR_CYRILLIC): New macro.
5211         (MAX_CHAR_CYRILLIC): New macro.
5212         (MIN_CHAR_HEBREW): New macro.
5213         (MAX_CHAR_HEBREW): New macro.
5214         (MIN_CHAR_THAI): New macro.
5215         (MAX_CHAR_THAI): New macro.
5216         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5217         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5218         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5219         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5220         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5221         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5222         (CHAR_FIELD2): New inline function.
5223         (CHAR_FIELD3): New inline function.
5224         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5225         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5226         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5227         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5228         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5229         (MIN_CHAR_COMPOSITION): Likewise.
5230         (CHAR_LEADING_BYTE): Modified for character representation change.
5231         (MAKE_CHAR): Likewise.
5232
5233         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5234         (Vcharset_greek_iso8859_7): Likewise.
5235         (Vcharset_cyrillic_iso8859_5): Likewise.
5236         (Vcharset_hebrew_iso8859_8): Likewise.
5237         (Vcharset_thai_tis620): Likewise.
5238         (Vcharset_katakana_jisx0201): Likewise.
5239
5240 2003-09-03  Vin Shelton <acs@xemacs.org>
5241
5242         * XEmacs 21.4.14 is released
5243
5244 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5245
5246         * config.h.in (REGEX_MALLOC): Make it configure'able.
5247
5248 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5249
5250         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5251         linking.
5252         * sysdll.c (dll_init):
5253         * sysdll.c (dll_open):
5254         * sysdll.c (dll_close):
5255         * sysdll.c (dll_function):
5256         * sysdll.c (dll_variable):
5257         * sysdll.c (dll_error):
5258         Add support for loading bundles using Darwin/MacOSX
5259         native API.
5260
5261 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5262
5263         * process.c (start-process-internal): Document coding systems.
5264
5265 2003-07-30  Jerry James  <james@xemacs.org>
5266
5267         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5268
5269 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5270
5271         * event-msw.c (mswindows_enqueue_mouse_button_event):
5272         * event-msw.c (mswindows_wnd_proc):
5273           enqueue button event when scrollwheel event isn't handled by 
5274           mswindows_handle_mousewheel_event, such as when the scrollbars
5275           are not showing.
5276
5277 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5278
5279         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5280
5281 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5282
5283         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5284
5285 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5286
5287         * regex.c (re_match_2_internal): Fix matching degenerate word
5288         boundaries.
5289
5290 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5291
5292         * XEmacs 21.4.13 is released
5293
5294 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5295
5296         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5297         * lisp.h (<inttypes.h>):
5298         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5299         the definition.
5300
5301 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5302
5303         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5304         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5305         Result: "temacs can only be run in -batch mode."
5306         Fix: Check xemacs executable candidate for directory-ness.
5307
5308 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5309
5310         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5311           they conflict with <sys/types.h>.
5312
5313 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5314
5315         * database.c: Berkeley DB wants __STDC__ to be defined.
5316
5317 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5318
5319         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5320
5321 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5322
5323         * process-unix.c (unix_send_process): Fix C++ compile error.
5324
5325 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5326
5327         * Added .dylib as an acceptable shared library file extension
5328         * to support MacOSX.
5329
5330 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5331
5332         * EmacsFrameP.h (EmacsFramePart):
5333         Kludge to allow compiling with Motif1, but linking with Motif2.
5334
5335 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5336
5337         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5338
5339
5340 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5341
5342         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5343
5344 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5345
5346         * sysdll.c: Included lisp.h to define needed alloca_array.
5347
5348 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5349
5350         Make XEmacs redisplay 10 times faster.
5351         If, that is, you're using a slow X connection and MoveOpaque.
5352         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5353         Use compress_motion = TRUE.
5354         * EmacsFrame.c (emacsFrameClassRec): 
5355         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5356         * EmacsManager.c (emacsManagerClassRec):
5357         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5358
5359 2003-01-30  Vin Shelton  <acs@xemacs.org>
5360
5361         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5362
5363 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5364
5365         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5366         Patch by Martin Buchholz.
5367
5368 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5369
5370         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5371         Thanks to icc for warning and Martin Buchholz for reporting.
5372
5373 2003-01-29  Vin Shelton <acs@xemacs.org>
5374
5375         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5376
5377         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5378         remember to multiply by the element size.
5379
5380 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5381
5382         * XEmacs 21.4.12 "Portable Code" is released.
5383
5384 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5385
5386         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5387         * s/cygwin.sc: new linker file.
5388
5389 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5390
5391         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5392
5393         * redisplay-x.c (x_output_string): Use X11-specified types.
5394         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5395         * emacs.c (__free_hook): Use typeof with Intel compiler.
5396         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5397
5398 2003-01-08  Andy Piper  <andy@xemacs.org>
5399
5400         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5401         reserve size during unexec().
5402
5403 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5404
5405         * process-unix.c (unix_create_process): Don't let outchannel block.
5406
5407 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5408
5409         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5410         Needed for IsBadReadPtr().
5411
5412 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5413
5414         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5415
5416 2002-12-14  Ben Wing  <ben@xemacs.org>
5417
5418         * callint.c: Declaration error.
5419         * dumper.c (pdump):
5420         * dumper.c (pdump_load): Warning fix.
5421         * process.c: GCPRO error.
5422         * glyphs.c (unmap_subwindow):
5423         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5424         * event-stream.c (maybe_kbd_translate): Wrong argument to
5425         character_to_event().
5426
5427         * alloc.c (garbage_collect_1):
5428         * emacs.c:
5429         * emacs.c (debug_can_access_memory):
5430         * emacs.c (fatal_error_signal):
5431         * emacs.c (mswindows_handle_hardware_exceptions):
5432         * emacs.c (main_1):
5433         * emacs.c (main):
5434         * emacs.c (assert_failed):
5435         * emacs.c (syms_of_emacs):
5436         * lisp.h:
5437         * print.c:
5438         * print.c (std_handle_out_va):
5439         * print.c (write_string_to_stdio_stream):
5440         * print.c (write_fmt_string):
5441         * print.c (printing_badness):
5442         * print.c (printing_major_badness):
5443         * print.c (print_internal):
5444         * print.c (debug_print_no_newline):
5445         * print.c (debug_backtrace):
5446         Be more defensive in handling bad values when printing.  Add code
5447         from trunk involving inhibit_non_essential_printing_operations.
5448         When going down or in debug_print(), don't do external conversion
5449         and such and try really, really hard when printing to avoid core
5450         dumping.  Add force-debugging-signal, debug_break().
5451
5452 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5453
5454         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5455         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5456
5457 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5458
5459         * database.c: Fix open_database. Berkeley DB API has changed in
5460         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5461
5462 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5463
5464         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5465
5466 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5467
5468         * event-Xt.c (Xt_timeout):
5469         (Xt_timeout_callback):
5470         (emacs_Xt_add_timeout):
5471         (emacs_Xt_remove_timeout):
5472         (Xt_timeout_to_emacs_event):
5473         Turn completed_timeouts from a stack into a queue.  Fixes
5474         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5475
5476 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5477
5478         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5479         * emacs.c (main): Assert that mmap'd allocation is disabled.
5480
5481 2002-10-14  Andy Piper  <andy@xemacs.org>
5482
5483         * glyphs-widget.c (layout_query_geometry): add in fiddle
5484         factor. Include border text in width layout calculation.
5485         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5486
5487 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5488
5489         * XEmacs 21.4.10 "Military Intelligence" is released.
5490
5491 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5492
5493         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5494         using the NAS private array SoundFileInfo that no longer exists in
5495         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5496         and earlier.  This is broken for some versions between 1.5a and
5497         1.5f.
5498
5499 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5500
5501         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5502
5503         * emacs.c (shut_down_emacs): Improve crash message.
5504
5505 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5506
5507         * file-coding.c (determine_real_coding_system): Check for coding
5508         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5509         shebangs and Python PEP 263.
5510
5511 2002-10-08  Andy Piper  <andy@xemacs.org>
5512
5513         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5514         if static sizes haven't been set.
5515
5516 2002-08-30  Mike Alexander  <mta@arbortext.com>
5517
5518         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5519         to close a socket.
5520
5521 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5522
5523         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5524
5525 2002-09-20  Mike Sperber <mike@xemacs.org>
5526
5527         (This partially gets back my patch from 2002-07-20 without the
5528         bug.)
5529         * callproc.c (child_setup): Remove Ben's comment noting confusion
5530         over the file descriptors >= 3: close_process_descs() doesn't
5531         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5532         * process-unix.c (unix_create_process): Call
5533         begin_dont_check_for_quit to inhibit unwanted interaction (and
5534         thus breaking of X event synchronicity) in the child.
5535
5536 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5537
5538         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5539         widget.
5540
5541 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5542
5543         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5544         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5545         the xemacs process did not exit, but looped infinitely here.  This
5546         fixes that problem.
5547
5548 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5549
5550         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5551         (find_context): Improve comments.
5552
5553         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5554         (re_match_2): An XCHAR_TABLE operation was missing.
5555
5556         Many of the following changes were inspired by Andy Piper's (now
5557         obsolete) patch to make syntax-table text property lookup optional.
5558
5559         [Documentation]
5560
5561         * syntax.h (top level): Document semantics of syntax flags.
5562         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5563         * syntax.c, syntax.h (top level): Document syntax cache better in
5564         comments.
5565
5566         [Instrument syntax caching (temporary change)]
5567
5568         * syntax.h (enum syntax_cache_statistics_functions, struct
5569         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5570         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5571         * syntax.c (scan_words, Fforward_comment, scan_lists,
5572         Fbackward_prefix_characters):
5573         * font-lock.c (find_context):
5574         Use them to instrument syntax caching. 
5575         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5576         syntax_cache_statistics_function_names): New type and variables.
5577         * syntax.c (update_syntax_cache): Update and report statistics.
5578
5579         [Major syntax cache optimizations]
5580
5581         syntax.c (lookup_syntax_properties): Default off.
5582
5583         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5584         * syntax.c (update_syntax_cache):
5585         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5586
5587         [Minor syntax cache optimizations and code clarifications]
5588
5589         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5590         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5591         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5592         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5593         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5594         (Code clarification.)
5595
5596         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5597         scan_lists): Compute code from syncode, use Boolean macros instead
5598         of redundant masking operations.  (Code clarification; any decent
5599         compiler can do this optimization.)
5600
5601         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5602         for clarity.
5603
5604         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5605         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5606         use F*_single_property_change instead of F*_extent_change.
5607         Currently F*_single_property_change is _much_ less efficient.
5608
5609         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5610         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5611         syntax_cache.object properly, don't leave Qt or Qnil.
5612         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5613         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5614         tests for Qt or Qnil.
5615
5616 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5617
5618         * redisplay.c (point_in_line_start_cache): 
5619         * extents.c (print_extent_1):
5620         Fix warnings.
5621
5622         * extents.c (Fset_extent_property): Document `syntax-table' property.
5623
5624         * extents.h (Fnext_single_property_change): EXFUN it.
5625
5626 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5627
5628         * search.c (clear_unused_search_regs): New static function.
5629         (search_buffer): 
5630         (simple_search): 
5631         (boyer_moore):
5632         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5633         Minor clarifications in comments.
5634
5635         * regex.c (re_match_2_internal): Ensure no stale submatches.
5636
5637 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5638
5639         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5640
5641 2002-08-29  Jerry James  <james@xemacs.org>
5642
5643         * lisp.h: structrures -> structures.
5644
5645 2002-06-03  Andy Piper  <andy@xemacs.org>
5646
5647         * frame.c (frame_conversion_internal): add conversion appropriate
5648         for setting frame dimensions in pixels.
5649
5650         * console.h (struct console_methods): add device-specific widget
5651         layout functions.
5652
5653         * emacs.c (main_1): initialize glyph vars.
5654
5655         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5656         (handle_focus_event_2): new function. Allow focus to
5657         be set to a particular window and widget.
5658         (enqueue_focus_event): new function. Create a
5659         synthetic focus event.
5660         (emacs_Xt_handle_magic_event): call
5661         handle_focus_event_2.
5662
5663         * frame.c (Fset_frame_pixel_height): new function. Allow
5664         pixel-based sizing. Does the right thing on character-oriented
5665         displays.
5666         (Fset_frame_pixel_width): ditto.
5667         (Fset_frame_pixel_size): ditto.
5668         (syms_of_frame): declare.
5669
5670         * general-slots.h: add :vertically-justify and
5671         :horizontally-justify.
5672
5673         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5674         (mswindows_widget_border_width): new function.
5675         (mswindows_combo_box_instantiate): set border widths.
5676         (console_type_create_glyphs_mswindows): declare.
5677
5678         * glyphs-widget.c:
5679         (check_valid_justification): allow vertical and horizontal
5680         justification.
5681         (widget_border_width): new function. Call device methods.
5682         (widget_instance_border_width): ditto.
5683         (logical_unit_height): new function. Determine the height of a
5684         logical-unit. Logical units are intended to provide grid-like
5685         layout for subcontrols in a layout. If the layout is
5686         :vertically-justify top then subcontrols will be positioned on
5687         logical-unit boundaries, thus allowing adjacent subcontrols to
5688         line up.
5689         (widget_logical_unit_height): ditto for widgets.
5690         (redisplay_widget): misc cleanup.
5691         (widget_spacing): new function. Call device specific
5692         methods. Intended to be the default gap between adjacent widgets.
5693         (widget_query_geometry): use new spacing functions to determine
5694         appropriate geometry.
5695         (initialize_widget_image_instance): initialize horizontal and
5696         vertical justification.
5697         (widget_instantiate): use logica-units where appropriate for
5698         sizing large widgets.
5699         (button_query_geometry): use widget_instance_border_width.
5700         (tree_view_query_geometry): ditto.
5701         (tab_control_query_geometry): ditto.
5702         (edit_field_query_geometry): new function.
5703         (layout_update): pick up :justify, :horizontally-justify and
5704         :vertically-justify none of which worked previously. :justify is
5705         used as a fallback for both horizontal and vertical justification.
5706         (layout_query_geometry): use logical units to size appropriately.
5707         (layout_layout): ditto.
5708         (Fwidget_logical_to_character_width): new function. Allow users to
5709         convert from logical units to characters so that frame sizes can
5710         be set appropriately.
5711         (Fwidget_logical_to_character_height): ditto.
5712         (syms_of_glyphs_widget): declare.
5713         (image_instantiator_edit_fields): add edit_field_query_geometry.
5714         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5715         :horizontally-justify.
5716         (specifier_vars_of_glyphs_widget): new function. Declare
5717         Vwidget_border_width which is not yet used.
5718
5719         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5720         (x_widget_border_width): new function.
5721         (x_widget_instantiate): create a sensible name for widgets.
5722         (console_type_create_glyphs_x): declare x_widget_border_width.
5723
5724         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5725         (struct Lisp_Image_Instance): add :vertically-justify and
5726         :horizontally-justify.
5727         (LAYOUT_JUSTIFY_TOP): new.
5728         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5729         (ROUND_UP): new macro. Round argument up to next integral
5730         interval.
5731
5732         * redisplay-output.c (redisplay_output_layout): misc formatting.
5733
5734         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5735
5736 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5737
5738         * XEmacs 21.4.9 "Informed Management" is released.
5739
5740 2002-08-19  Andy Piper  <andy@xemacs.org>
5741
5742         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5743         win32 format.
5744
5745         * realpath.c (xrealpath): normalize drive spec also so that dir
5746         sep chars are not mixed on cygwin.
5747
5748 2002-08-06  Jerry James  <james@xemacs.org>
5749
5750         * window.c (Fsplit_window): Count only half of the divider width
5751         against the left window when splitting horizontally. 
5752
5753 2002-06-24  Andy Piper  <andy@xemacs.org>
5754
5755         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5756         toolbar was cleared.
5757
5758         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5759         function. Split out from mswindows_output_frame_toolbars.
5760         (mswindows_output_frame_toolbars): move clear pieces to
5761         mswindows_output_frame_toolbars.
5762
5763         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5764         out from gtk_output_frame_toolbars.
5765         (gtk_output_frame_toolbars): move clear pieces to
5766         gtk_clear_frame_toolbars.
5767
5768         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5769         the frame is cleared. How this ever worked before is a mystery.
5770         (x_output_frame_toolbars): Only output toolbars.
5771         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5772
5773         * gutter.c (update_gutter_geometry):
5774         Mark frame layout changed.
5775         (update_frame_gutter_geometry, update_frame_gutters):
5776         Respect frame_layout_changed.
5777
5778         * console.h (struct console_methods): add
5779         clear_frame_toolbars_method.
5780
5781         * redisplay.c (redisplay_frame): call
5782         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5783
5784         * toolbar.h: declare update_frame_toolbars_geometry.
5785
5786         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5787         out from update_frame_toolbars.  Call clear_frame_toolbars.
5788         (update_frame_toolbars): only output, do not change geometry.
5789
5790         * redisplay.c: add frame_layout_changed.
5791
5792         * redisplay.h: add frame_layout_changed.
5793         (CLASS_RESET_CHANGED_FLAGS): set it.
5794         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5795         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5796         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5797
5798         * device.h (struct device): add frame_layout_changed.
5799         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5800
5801         * frame.h (struct frame): add frame_layout_changed.
5802         (MARK_FRAME_LAYOUT_CHANGED): new.
5803
5804 2002-06-30  Mike Alexander  <mta@arbortext.com>
5805
5806         * event-msw.c (mswindows_need_event): Don't wait for a new message
5807         if the queue is not empty.  Suggested by Paul Moore.
5808
5809 2002-06-12  Andy Piper  <andy@xemacs.org>
5810
5811         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5812         for printing on accurately.
5813
5814 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5815
5816         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5817         WM_ACTIVATE message. Make sure that the frame is visible if the
5818         window is visible. This seemss to fix the problem where XEmacs
5819         appears to freeze after switching desktops with certain virtual
5820         window managers.
5821         (debug_output_mswin_message): Added code to output message
5822         parameters for WM_WINDOWPOSCHANGED, 
5823         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5824
5825 2002-05-25  Andy Piper  <andy@xemacs.org>
5826
5827         * select-x.c (vars_of_select_x): Fix docstring of
5828         x-selection-strict-motif-ownership
5829
5830 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5831
5832         * keymap.c (get_keymap):
5833         Add comment about do_autoload GCPROs own args.
5834
5835 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5836
5837         * bytecode.c (execute_optimized_program): check_opcode ifdef
5838         ERROR_CHECK_BYTE_CODE.
5839
5840 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5841
5842         Thanks to Ben Wing and Michael Sperber.
5843
5844         * eval.c (Fcommand_execute):
5845         (Feval):
5846         (Ffuncall):
5847         (Fmacroexpand_internal):
5848         (function_argcount):
5849         callint.c (Fcall_interactively):
5850         Add comment about do_autoload GCPROs own args.
5851
5852         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5853
5854         * eval.c (Ffuncall): Extra braces to placate GCC.
5855
5856 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5857
5858         * backtrace.h (grow_specpdl):
5859         (SPECPDL_RESERVE):
5860         * EmacsFrame.c (EmacsFrameSetValues):
5861         * eval.c (grow_specpdl):
5862         * ExternalShell.c (hack_event_masks_1):
5863         * glyphs-x.c (convert_EImage_to_XImage): 
5864         (x_finalize_image_instance):
5865         * ralloc.c (page_size):
5866         (r_alloc_sbrk):
5867         * xgccache.c (gc_cache_hash):
5868         Fix unsigned comparison warnings.
5869
5870 2002-07-29  Jerry James  <james@xemacs.org>
5871
5872         * lread.c (locate_file): Any nonnegative return value indicates
5873         success if MODE is nonnegative.
5874
5875 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5876
5877         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5878         argument. 
5879
5880 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5881
5882         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5883
5884         * dumper.c (pdump_get_indirect_count):
5885         (pdump_scan_by_alignment):
5886         (pdump_dump_root_struct_ptrs):
5887         (pdump_dump_rtables):
5888         (pdump_dump_root_objects):
5889         (pdump):
5890         * nas.c (WaveOpenDataForReading):
5891         * fns.c (print_bit_vector):
5892         * font-lock.c (SINGLE_SYNTAX_STYLE):
5893         * glyphs.c (check_for_ignored_expose):
5894         (find_matching_subwindow):
5895         * glyphs-eimage.c:
5896         * imgproc.c (get_histogram):
5897         * redisplay.c (point_in_line_start_cache):
5898         * redisplay-output.c (redisplay_unmap_subwindows):
5899         * symbols.c (defsymbol_massage_name_1):
5900         (defkeyword_massage_name):
5901         (deferror_massage_name_and_message):
5902         * redisplay-x.c (x_output_string): 
5903         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5904         * frame.h (struct frame):
5905         * filelock.c (current_lock_owner):
5906         * doprnt.c (emacs_doprnt_1):
5907         * lisp.h (struct Lisp_Bit_Vector):
5908         (DO_REALLOC):
5909         Fix warnings.
5910
5911 2002-02-13  Ben Wing  <ben@xemacs.org>
5912
5913         * event-stream.c (reset_key_echo):
5914         * event-stream.c (reset_this_command_keys):
5915         * event-stream.c (execute_command_event):
5916         If console is dead as a result of C-x 5 0, then post-command stuff
5917         needs to be careful and do only non-console-specific stuff.
5918
5919 2002-07-01  Mike Sperber <mike@xemacs.org>
5920
5921         * process-unix.c (unix_send_process): Mark coding_outstream as
5922         non-open upon SIGPIPE.
5923
5924         * event-stream.c (Fnext_event): Reorder switch cases to something
5925         that makes sense.
5926
5927 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5928
5929         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5930         Don't bogusly reinitialize ascii_character property.
5931
5932 2002-07-08  Mike Sperber <mike@xemacs.org>
5933
5934         * process.c (Fstart_process_internal): Do error checking before we
5935         fork off the child, so the child can't muck with the state of the
5936         parent.
5937
5938 2002-07-08  Mike Sperber <mike@xemacs.org>
5939
5940         * ralloc.c (init_ralloc): Allocate properly for pdump.
5941
5942 2002-06-12  Andy Piper  <andy@xemacs.org>
5943
5944         * glyphs.c (query_string_geometry): check the string.
5945
5946         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5947         widget names.
5948
5949 2002-06-17  Jerry James  <james@xemacs.org>
5950
5951         * sysdll.c: Remove RTLD_GLOBAL initialization.
5952         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5953
5954 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5955
5956         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5957
5958 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5959
5960         * sysdep.c (sys_rename): Make sys_rename work for the case where
5961         Windows rename sets errno to EACCES if target file exists.
5962
5963 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5964
5965         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5966         Fix detection of metric units to work on Win95
5967
5968 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5969
5970         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5971
5972 2002-04-25  Andy Piper  <andy@xemacs.org>
5973
5974         * redisplay.c (create_text_block): Remove extra comment trailer.
5975
5976 2002-04-24  Andy Piper  <andy@xemacs.org>
5977
5978         * redisplay.c (create_text_block): Don't actually add propagation
5979         data if the line ends after we have added a glyph.
5980
5981 2002-04-22  Andy Piper  <andy@xemacs.org>
5982
5983         * extents.c (extent_fragment_update): check for glyphs we have
5984         previously displayed.
5985         * extents.c (print_extent_1): warning removal.
5986         * extents.h: change prototype.
5987         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5988         widths correctly for wide glyphs.
5989         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5990         * redisplay.c (prop_type): add PROP_GLYPH.
5991         * redisplay.c (struct prop_block): add glyph type
5992         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5993         to the propagation data.
5994         * redisplay.c (create_text_block): if there is a glyph in the
5995         propagation data use it to salt extent_fragment_update.
5996         * redisplay.c (create_string_text_block): ditto.
5997
5998 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5999
6000         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6001         * redisplay-output.c (compare_runes): Compare them.
6002         * redisplay.c: Update copyright date.
6003         * redisplay.c (pos_data): Add need_baseline_computation field.
6004         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6005         need_baseline_computation; zero yoffset. Set max_pixmap_height
6006         for all pixmaps, not just automatically positioned ones.
6007         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6008         * redisplay.c (calculate_baseline): New, compute textual baseline.
6009         * redisplay.c (add_glyph_rune): Call them.
6010         * redisplay.c (create_text_block): Likewise.
6011         * redisplay.c (create_overlay_glyph_block): Likewise.
6012         * redisplay.c (add_margin_runes): Likewise.
6013         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6014
6015         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6016         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6017         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6018         * redisplay-msw.c (mswindows_output_string): Likewise.
6019         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6020         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6021         * redisplay-x.c (x_output_display_block): Likewise.
6022
6023 2002-03-28  Ben Wing  <ben@xemacs.org>
6024
6025         * redisplay.c: Fixed bug in redisplay
6026         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6027         and down of the lines, since they're bigger than the line
6028         size. (It was seen most obviously when there's a horizontal scroll
6029         bar, e.g. do C-h a glyph or something like that.) The problem was
6030         that the glyph-contrib-p setting on glyphs was ignored even if it
6031         was set properly, which it wasn't until now.
6032
6033 2002-04-24  Andy Piper  <andy@xemacs.org>
6034
6035         * lisp.h (Dynarr_end): Fix definition.
6036
6037 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6038
6039         * redisplay.c (mark_redisplay): Remove call to
6040         update_frame_window_mirror.
6041
6042 2001-11-15  Andy Piper  <andy@xemacs.org>
6043
6044         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6045         cygwin (again).
6046
6047 2002-02-13  Andy Piper  <andy@xemacs.org>
6048
6049         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6050         we did in fact enqueue the XM_MAPFRAME event.
6051
6052 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6053
6054         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6055         to fix problem switching between virtual desktops under virtuawin
6056         virtual window manager.
6057
6058 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6059
6060         * event-msw.c: Typo fix.
6061         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6062         magic XM_MAPFRAME event has been sent.
6063
6064 2001-11-23  Andy Piper  <andy@xemacs.org>
6065
6066         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6067
6068 2001-11-21  Andy Piper  <andy@xemacs.org>
6069
6070         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6071         mouse events outside the frame.
6072
6073 2002-03-20  Andy Piper  <andy@xemacs.org>
6074
6075         * menubar-msw.c (mswindows_popup_menu): warning removal.
6076         * dialog-msw.c (dialog_popped_down): ditto.
6077
6078 2001-12-11  Andy Piper  <andy@xemacs.org>
6079
6080         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6081         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6082         popup_up_p.
6083         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6084         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6085         * menubar-msw.c (mswindows_popup_menu): ditto.
6086
6087 2001-10-29  Andy Piper  <andy@xemacs.org>
6088
6089         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6090         cancels.
6091
6092 2002-01-03  Andy Piper  <andy@xemacs.org>
6093
6094         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6095         letters.
6096         (xrealpath): ditto.
6097
6098 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6099
6100         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6101         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6102         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6103         Detect and handle case where machine is set up for metric units
6104
6105 2002-04-02  Andy Piper  <andy@xemacs.org>
6106
6107         * dired-msw.c (mswindows_get_files): 
6108         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6109         completely handled by XEmacs. Suggested by Thomas Vogler
6110         <mail@thomas-vogler.de>.
6111
6112 2001-11-14  Andy Piper  <andy@xemacs.org>
6113
6114         * nt.c (REG_ROOT): change registry key to XEmacs.
6115
6116 2002-04-27  Andy Piper  <andy@xemacs.org>
6117
6118         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6119
6120 2002-04-26  Andy Piper  <andy@xemacs.org>
6121
6122         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6123         behavior.
6124
6125 2002-03-14  Mike Alexander  <mta@arbortext.com>
6126
6127         * event-msw.c (mswindows_unwait_process): New, remove process from
6128         wait list
6129         * process-nt.c (nt_finalize_process_data): Call
6130         mswindows_unwait_process
6131         * console-msw.h: Declare mswindows_unwait_process
6132
6133 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6134
6135         * editfns.c (Fdecode_time):
6136         (Fformat_time_string):
6137         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6138         (make_time): Warning elimination (change arg name).
6139
6140 2001-11-24  Andy Piper  <andy@xemacs.org>
6141
6142         * window.c (Fsplit_window): Doc return type.
6143
6144 2002-04-01  Andy Piper  <andy@xemacs.org>
6145
6146         * emacs.c (Fkill_emacs): Only output message box in interactive
6147         mode.
6148
6149 2002-04-26  Andy Piper  <andy@xemacs.org>
6150  
6151         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6152         cygwin.
6153
6154 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6155
6156         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6157         bit platform.
6158
6159 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6160
6161         * XEmacs 21.4.8 "Honest Recruiter" is released.
6162
6163 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6164
6165         Supersedes 2002-04-17 patch.
6166
6167         * process.h (PROCESS_LIVE_P): Use the process status as
6168         evidence of health, not the state of the input stream.
6169         (PROCESS_READABLE_P): Say if the process is readable
6170         from. (It may be dead nonetheless.)
6171         (CHECK_READABLE_PROCESS): Test for that condition.
6172
6173         * process.c (create_process): Use PROCESS_READABLE_P.
6174         (read_process_output, set_process_filter): Likewise.
6175
6176         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6177         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6178
6179         This code is #if 0'd, this is not the time to add new functions:
6180
6181         * process.c (Fprocess_readable_p): Report readability status.
6182         * process.c (Qprocess_readable_p): New, associated symbol...
6183         * process.c (syms_of_process): ... initialize it.
6184
6185 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6186
6187         * XEmacs 21.4.7 "Economic Science" is released.
6188
6189 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6190
6191         * process.h (PROCESS_LIVE_P): Use the process status as
6192         evidence of health, not the state of the input stream.
6193
6194 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6195
6196         * sysdep.c (sys_siglist): change "signum" to "signal"
6197
6198 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6199
6200         * s/darwin.h: New file.
6201         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6202         
6203 2002-04-23  Andreas Jaeger  <aj@suse.de>
6204
6205         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6206         which use lib64 for 64-bit libs.
6207         (START_FILES): Likewise.
6208
6209 2002-02-11  Mike Sperber  <mike@xemacs.org>
6210
6211         * device-x.c: 
6212         (x_IO_error_handler):
6213         (x_init_device): Temporarily keep device in static variable
6214         `device_being_initialized' so we can recover gracefully from
6215         internal XOpenDevice failure.  (XOpenDevice is documented to
6216         return NULL on failure, but sometimes calls the IO error handler
6217         instead.)
6218
6219 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6220
6221         * dired.c (Ffile_name_all_completions): Change documentation --
6222         remove reference to completion-ignored-extensions.
6223         * dired.c (vars_of_dired): Change documentation for
6224         completion-ignored-extensions -- remove reference to
6225         file-name-all-completions.
6226
6227 2002-03-06  Jerry James  <james@xemacs.org>
6228
6229         * emodules.c (emodules_load): Fix multiple loading of same module.
6230
6231 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6232         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6233         RTLD_LAZY to avoid incorrect symbol binding when using nested
6234         shared libraries on Solaris.
6235
6236 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6237
6238         * fileio.c (Ffind_file_name_handler): Improve docstring.
6239
6240 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6241
6242         * fns.c (Fmapconcat): Improve docstring.
6243
6244 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6245
6246         * device-gtk.c: Add prototype for
6247         emacs_gtk_selection_clear_event_handle.
6248         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6249         selection.  Setup signal handler for "selection_clear_event"
6250         (emacs_gtk_selection_clear_event_handle).
6251
6252         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6253         other applications owning the clipboard (based on
6254         x_handle_selection_clear).
6255
6256 2001-12-23  William M. Perry  <wmperry@gnu.org>
6257
6258         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6259         
6260 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6261
6262         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6263
6264 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6265
6266         * XEmacs 21.4.6 "Common Lisp" is released.
6267
6268 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6269
6270         * search.c (Freplace_match): Add missing sub-expression functionality.
6271
6272         * buffer.c (decode_buffer): Add a check for pointer type to
6273         decode_buffer, before gcc's CSE optimization reorders a
6274         dereference in front of the allow_string test.
6275
6276 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6277
6278         * window.c (window_loop): Fix bug that sometimes prevented
6279         window_loop() from iterating across multiple devices.  Also, at
6280         Ben's request, changed infloop-detecting code to abort() instead
6281         of silently terminating window_loop().
6282
6283 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6284
6285         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6286         * editfns.c (make_time): New function.
6287         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6288         * lisp.h (make_time): Prototype and comment it.
6289         * dired.c (wasteful_word_to_lisp): Deprecate.
6290         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6291
6292 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6293
6294         * fileio.c (auto_save_1): Use current coding system, not
6295         escape-quoted.
6296
6297 2001-11-13  Ben Wing  <ben@xemacs.org>
6298
6299         * window.c:
6300         * window.c (window_truncation_on):
6301         * window.c (syms_of_window):
6302         truncate-partial-width-windows should respect the buffer being
6303         displayed, like other redisplay vars.
6304
6305 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6306
6307         * event-stream.c (Fread_key_sequence): save current buffer.
6308
6309 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6310
6311         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6312
6313 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6314
6315         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6316
6317 2001-10-26  Mike Alexander  <mta@arbortext.com>
6318
6319         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6320
6321 2001-10-25  Andy Piper  <andy@xemacs.org>
6322
6323         * ChangeLog:
6324         * dialog-msw.c (handle_directory_proc): new function.
6325          (handle_directory_dialog_box): new fucntion.
6326          (handle_file_dialog_box): use new directory dialog support.
6327          (mswindows_make_dialog_box_internal): ditto.
6328         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6329         handling.
6330         (mswindows_find_frame): make global.
6331         * fileio.c (Fexpand_file_name): build fix.
6332         * general-slots.h: add Qdirectory.
6333         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6334         handling.
6335         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6336         cygwin not leaving win32 paths unchanged.
6337         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6338         cygwin runtime to do path conversion.
6339         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6340         (syms_of_win32): add new function.
6341         * window.c (window_loop): build fix.
6342
6343 2001-10-15  Andy Piper  <andy@xemacs.org>
6344
6345         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6346
6347 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6348
6349         * XEmacs 21.4.5 "Civil Service" is released.
6350
6351 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6352
6353         * glyphs-x.c: Force buffer-tab highlight update when moving the
6354         buffer, avoiding an ugly black border, used for keyboard focus
6355         indication, on a widget that can never have keyboard focus, the
6356         buffer tab.
6357
6358 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6359
6360         * process-unix.c (unix_open_multicast_group): Remove too much
6361         conversion between host and network byte order.
6362
6363 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6364
6365         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6366         before replacing them.
6367
6368         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6369         operation.
6370
6371         * src/window.c (undedicate_windows): Use it.
6372         * src/window.h: Add prototype.
6373
6374 2001-09-17  Ben Wing  <ben@xemacs.org>
6375
6376         * fileio.c (normalize_filename):
6377         * fileio.c (Fexpand_file_name):
6378         Fix various C++ compile errors in Andy's recent code.
6379         
6380         * callint.c (Fcall_interactively):
6381         * editfns.c (Ftemp_directory):
6382         * editfns.c (Fuser_full_name):
6383         * emacs.c (argmatch):
6384         * lread.c (locate_file_map_suffixes):
6385         * redisplay-x.c (x_ring_bell):
6386         Fix sign-compare warnings.
6387         
6388 2001-09-08  Andy Piper  <andy@xemacs.org>
6389
6390         * fileio.c (normalize_filename): copied from nt.c
6391         * (Ffile_name_directory): enable win32 paths under cygwin.
6392         * (Ffile_name_nondirectory): ditto.
6393         * (directory_file_name): ditto.
6394         * (Fexpand_file_name): ditto.
6395         * (Ffile_truename): ditto.
6396         * (Fsubstitute_in_file_name): ditto.
6397         * (Ffile_name_absolute_p): ditto.
6398         * (Ffile_readable_p): ditto.
6399
6400 2001-09-08  Andy Piper  <andy@xemacs.org>
6401
6402         * device-msw.c (mswindows_finish_init_device): remove dde
6403         initialization.
6404         * device-msw.c (mswindows_init_dde): factor out from
6405         mswindows_finish_init_device()
6406         * device-msw.c (init_mswindows_very_early): new function
6407         initialize but don't enable dde.
6408         * emacs.c (main_1): call init_mswindows_very_early.
6409         * event-msw.c:
6410         * event-msw.c (mswindows_dde_callback): only execute when we are
6411         ready.
6412         * symsinit.h: declare init_mswindows_very_early.
6413
6414 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6415
6416         [sjt: This has been in 21.5 for months with no complaints.]
6417
6418         * console.h (struct console_methods): Added flags member.
6419         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6420         (CONMETH_IMPL_FLAG):
6421         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6422         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6423
6424         * device.c (window_system_pixelated_geometry): Use the above macros.
6425
6426         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6427         implememntation flag.
6428         * device.h (DEVICE_DISPLAY_P): Use it.
6429
6430         * frame.c (delete_frame_internal): Use the above macro.
6431
6432         * redisplay.c (redisplay_device): Use it.
6433         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6434         (redisplay_frame): Ditto.
6435
6436         * device-msw.c (mswindows_device_implementation_flags): Removed.
6437         (msprinter_device_implementation_flags): Removed.
6438         (console_type_create_device_mswindows): Removed references to
6439         implementation_flags methods, set implementation flags here.
6440         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6441
6442         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6443         (console_type_create_device_gtk): Removed method declaration.
6444         Added commented out statement which semantically matches the
6445         commented out statement in the above removed method.
6446
6447 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6448
6449         The attached patch fixes a few warnings. 
6450
6451         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6452         * src/frame-gtk.c: guard against GNOME calls in GTK only
6453         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6454         * src/select-gtk.c: prototype lisp_to_time
6455
6456 2001-06-08  Ben Wing  <ben@xemacs.org>
6457
6458         ------ gc-in-window-procedure fixes ------
6459         
6460         * alloc.c:
6461         * alloc.c (struct post_gc_action):
6462         * alloc.c (register_post_gc_action):
6463         * alloc.c (run_post_gc_actions):
6464         * alloc.c (garbage_collect_1):
6465         Create "post-gc actions", to avoid those dreaded "GC during window
6466         procedure" problems.
6467
6468         * event-msw.c:
6469         Abort, clean and simple, when GC in window procedure.  We want
6470         to flush these puppies out.
6471
6472         * glyphs-msw.c:
6473         * glyphs-msw.c (finalize_destroy_window):
6474         * glyphs-msw.c (mswindows_finalize_image_instance):
6475         Use a post-gc action when destroying subwindows.
6476
6477         * lisp.h:
6478         Declare register_post_gc_action().
6479
6480         * scrollbar-msw.c:
6481         * scrollbar-msw.c (unshow_that_mofo):
6482         Use a post-gc action when unshowing scrollbar windows, if in gc.
6483
6484         * redisplay.c (mark_redisplay):
6485         Add comment about the utter evilness of what's going down here.
6486
6487         ------ cygwin setitimer fixes ------
6488         
6489         * Makefile.in.in (sheap_objs):
6490         * Makefile.in.in (profile_objs):
6491         * Makefile.in.in (objs):
6492         Compile profile.c only when HAVE_SETITIMER.
6493         
6494         * nt.c (mswindows_sigset):
6495         * nt.c (mswindows_sighold):
6496         * nt.c (mswindows_sigrelse):
6497         * nt.c (mswindows_sigpause):
6498         * nt.c (mswindows_raise):
6499         * nt.c (close_file_data):
6500         Style fixes.
6501         
6502         * nt.c:
6503         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6504         
6505         * profile.c:
6506         * profile.c (Fstart_profiling):
6507         * profile.c (Fstop_profiling):
6508         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6509         instead of just plain setitimer().
6510         
6511         * signal.c:
6512         * signal.c (set_one_shot_timer):
6513         * signal.c (alarm):
6514         Define qxe_setitimer() as an encapsulation around setitimer() --
6515         call setitimer() directly unless Cygwin or MS Win, in which case
6516         we use our simulated version in win32.c.
6517         
6518         * systime.h:
6519         * systime.h (struct itimerval):
6520         * systime.h (ITIMER_REAL):
6521         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6522         comment about "qxe" and the policy regarding encapsulation.
6523
6524         * win32.c:
6525         * win32.c (setitimer_helper_proc):
6526         * win32.c (setitimer_helper_period):
6527         * win32.c (setitimer_helper):
6528         * win32.c (mswindows_setitimer):
6529         Move setitimer() emulation here, so Cygwin can use it.
6530         Rename a couple of functions and variables to be longer and more
6531         descriptive.  In setitimer_helper_proc(), send the signal
6532         using either mswindows_raise() or (on Cygwin) kill().  If for
6533         some reason we are still getting lockups, we'll change the kill()
6534         to directly invoke the signal handlers.
6535
6536         ------ windows shell fixes ------
6537         
6538         * callproc.c:
6539         * ntproc.c:
6540         Comments about how these two files must die.
6541
6542         * callproc.c (init_callproc):
6543         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6544         not just COMSPEC. (more correct and closer to FSF.) Don't
6545         force a value for SHELL into the environment. (Comments added
6546         to explain why not.)
6547         
6548         * nt.c (init_user_info):
6549         Don't shove a fabricated SHELL into the environment.  See above.
6550
6551 2001-06-01  Ben Wing  <ben@xemacs.org>
6552
6553         * Makefile.in.in (ldflags):
6554         eliminate that pesky "defaulting to 00401000" warning.
6555         * nt.h:
6556         eliminate warnings.
6557
6558 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6559
6560         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6561         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6562
6563 2001-04-24  Jerry James <james@xemacs.org>
6564
6565         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6566         correct order.
6567
6568 2001-06-01  Ben Wing  <ben@xemacs.org>
6569
6570         * event-msw.c (debug_mswin_messages):
6571         conditionalize the messages that were causing compile errors.
6572         (if only macros could generate #ifdef statements ...)
6573
6574 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6575
6576         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6577
6578 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6579
6580         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6581
6582 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6583
6584         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6585         * process-unix.c (unix_canonicalize_host_name):
6586         sysdep.c (init_system_name):
6587         Use it to conditionally support IPv6 canonicalization.
6588
6589 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6590
6591         * event-msw.c:
6592         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6593
6594 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6595
6596         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6597         attempt is made to scroll when no scroll bar is available.
6598
6599 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6600
6601         * input-method-motif.c (XIM_delete_frame): New callback.
6602         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6603         got deleted from 21.4.3.)
6604
6605 2001-06-01  Ben Wing  <ben@xemacs.org>
6606
6607         * nt.c (mswindows_utime):
6608         * nt.c (close_file_data):
6609         fix off-by-one-indirection error.
6610
6611 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6612
6613         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6614         because set_file_times() now takes Lisp_Object path, instead of
6615         char*.
6616         * nt.c: Include buffer.h.
6617         * nt.c (convert_from_time_t): New.
6618         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6619         not set mtime correctly.
6620         * nt.h: Declare mswindows_utime().
6621         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6622         path, instead of char*.
6623         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6624
6625 2001-05-30  Ben Wing  <ben@xemacs.org>
6626
6627         For 21.4:
6628
6629         (Stephen, just take all event-msw.c patches.  This includes
6630         the "iconify" fix below.)
6631
6632         * event-msw.c:
6633         * event-msw.c (mswindows_dequeue_dispatch_event):
6634         * event-msw.c (assert):
6635         * event-msw.c (emacs_mswindows_quit_p):
6636         * event-msw.c (debug_mswin_messages):
6637         * event-msw.c (debug_output_mswin_message):
6638         * event-msw.c (vars_of_event_mswindows):
6639         Fix yet more problems with C-g handling.
6640         Implement debug-mswindows-events.
6641         
6642 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6643
6644         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6645         
6646 2001-05-23  Ben Wing  <ben@xemacs.org>
6647
6648         * event-msw.c (winsock_writer):
6649         * event-msw.c (winsock_closer):
6650         prior kludgy code was clobbering the buffer, thinking it was
6651         "unused" space to store an unneeded return value; instead, use
6652         the variable we've already got staring us in the face.
6653
6654 2001-05-17  Andy Piper  <andy@xemacs.org>
6655
6656         * sysfile.h: don't assume that file attributes are boolean
6657
6658 2001-05-23  Ben Wing  <ben@xemacs.org>
6659
6660         * device-msw.c (msprinter_init_device):
6661         signal an error rather than crash with an unavailable network
6662         printer (from Mike Alexander).
6663         
6664         * event-msw.c:
6665         * event-msw.c (struct winsock_stream):
6666         * event-msw.c (winsock_writer):
6667         * event-msw.c (winsock_closer):
6668         * event-msw.c (make_winsock_stream_1):
6669         cleanup headers.  fix (hopefully) an error with data corruption
6670         when sending to a network connection.
6671
6672         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6673         to handle the ~user prefix by (a) always assuming we're referencing
6674         ourselves and not even verifying the user -- hence any file with
6675         a tilde as its first char is invalid! (b) if there wasn't a slash
6676         following the filename, the pointer was set *past* the end of
6677         file and we started reading from uninitialized memory.  Now we
6678         simply treat these as files, always.
6679
6680         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6681         
6682 2001-05-19  Ben Wing  <ben@xemacs.org>
6683
6684         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6685
6686         * process-nt.c:
6687         * process-nt.c (vars_of_process_nt):
6688         remove unused mswindows-quote-process-args.  rec for 21.4.
6689         
6690 2001-05-12  Ben Wing  <ben@xemacs.org>
6691
6692         * event-msw.c (mswindows_dde_callback):
6693         * event-msw.c (mswindows_wnd_proc):
6694         eliminate cygwin warnings.
6695
6696 2001-05-06  Ben Wing  <ben@xemacs.org>
6697
6698         * console-msw.h:
6699         * device-msw.c:
6700         * device-msw.c (print_dialog_worker):
6701         * device-msw.c (mswindows_handle_print_dialog_box):
6702         * device-msw.c (syms_of_device_mswindows):
6703         * dialog-msw.c (mswindows_make_dialog_box_internal):
6704         * general-slots.h:
6705         implement printing the selection when it's selected.
6706
6707 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6708
6709         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6710
6711 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6712
6713         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6714         EMACS_INT is signed.
6715
6716 2001-04-15  Michael Lausch  <mla@1012surf.net>
6717
6718         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6719         gtk_widget_request_size() to give scrollbar >0 width for
6720         GTK >1.2.8.
6721
6722 2001-05-30  William M. Perry  <wmperry@gnu.org>
6723
6724         * event-gtk.c: Check for buttons as modifier keys.
6725
6726 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6727
6728         * s\mingw32.h:
6729         Properly find MinGW's <process.h> inside Cygwin's restructured
6730         include directories.  Don't try to include <cygwin/version.h>
6731         since we are dropping support for MinGW in versions of Cygwin
6732         earlier than b21.
6733         * nt.c:
6734         Drop support for MinGW in versions of Cygwin before b21.
6735         * sysdep.c:
6736         Properly find MinGW's <process.h> inside Cygwin's restructured
6737         include directories.
6738         * syswindows.h:
6739         Drop support for MinGW in versions of Cygwin before b21.
6740         * unexcw.c:
6741         Even though a.out.h is no longer detected by configure, allow
6742         MinGW to use it until we figure out how to do the job with Win32.
6743
6744 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6745
6746         * syntax.c (find_start_of_comment):
6747         Fix `unbalanced parentheses' bug when dealing with mixed comment
6748         styles in c++/java/etc. mode
6749
6750 2001-05-29  Mike Alexander  <mta@arbortext.com>
6751
6752         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6753         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6754
6755 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6756
6757         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6758
6759 2001-03-31  Mike Sperber <mike@xemacs.org>
6760
6761         * search.c (Freplace_match): Support FSF-style specification of
6762         match subexpression when applied to a buffer.
6763
6764 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6765
6766         * event-stream.c (is_scrollbar_event): add missing semicolon
6767
6768 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6769
6770         * Makefile.in.in: Use TAR macro instead of hardcoding
6771           tar.  Allows use of GNU tar instead of system tar
6772
6773 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6774
6775         * event-stream.c (is_scrollbar_event): add missing semicolon
6776
6777 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6778
6779         * XEmacs 21.4.3 "Academic Rigor" is released.
6780
6781 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6782
6783         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6784
6785 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6786
6787         * buffer.c (Vcase_fold_search): Remove obsolete
6788           comment about non ASCII case-fold-search.  This
6789           bug has been fixed by case-table changes.
6790
6791 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6792
6793         * event-msw.c: Restore include of events-mod.h.
6794
6795 2001-04-22   zhaoway  <zw@debian.org>
6796
6797         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6798         !HAVE_SCROLLBARS.
6799
6800 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6801
6802         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6803
6804 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6805
6806         * mule-charset.c (Fmake_charset): Add missing else.
6807
6808 2001-04-23  Ben Wing  <ben@xemacs.org>
6809
6810         * event-msw.c (FAKE_MOD_QUIT):
6811         * event-msw.c (mswindows_dequeue_dispatch_event):
6812         * event-msw.c (mswindows_wnd_proc):
6813         * event-msw.c (emacs_mswindows_quit_p):
6814         Get critical quit working.
6815
6816 2001-05-05  Ben Wing  <ben@xemacs.org>
6817
6818         * console-msw.h:
6819         * device-msw.c:
6820         * device-msw.c (mswindows_get_default_margin):
6821         * frame-msw.c (mswindows_size_frame_internal):
6822         * frame-msw.c (msprinter_init_frame_1):
6823         * frame-msw.c (vars_of_frame_mswindows):
6824         Change top/bottom margin defaults to 0.5 inches.
6825
6826 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6827
6828         Fix link error with gcc 3.0 on Linux.
6829         * terminfo.c (UP): Remove.
6830         * terminfo.c (BC): Remove.
6831         * terminfo.c (PC): Remove.
6832         They weren't used, and in any case, these symbols should be
6833         defined in the *library*.
6834
6835 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6836
6837         * s/aix4.h: Fix crash with xlc -O3.
6838         Improve comment explaining how -O3 works.
6839
6840 2001-04-15  Ben Wing  <ben@xemacs.org>
6841
6842         * event-stream.c:
6843         * event-stream.c (Fnext_event):
6844         * event-stream.c (is_scrollbar_event):
6845         * event-stream.c (execute_command_event):
6846         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6847         crash' problem.  His fix introduces other problems.  We filter
6848         out scrollbar events specifically, making them somewhat invisible
6849         to command-building, and not appearing in `this-command-keys'.
6850         More work is still needed (see comments in event-stream.c), but
6851         this fixes all the major problems.
6852
6853 2001-04-20  Ben Wing  <ben@xemacs.org>
6854
6855         * .cvsignore: Added stuff for Windows.
6856
6857 2001-04-28  Ben Wing  <ben@xemacs.org>
6858
6859         * buffer.c (Ferase_buffer):
6860         * editfns.c (buffer_insert1):
6861         * editfns.c (Finsert_before_markers):
6862         * editfns.c (Finsert_string):
6863         * editfns.c (Finsert_char):
6864         * editfns.c (Fdelete_region):
6865         * editfns.c (Fwiden):
6866         * editfns.c (Fnarrow_to_region):
6867         remove bogus lines setting zmacs_region_stays to 0.
6868         
6869 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6870
6871         * process-unix.c (unix_open_network_stream): If connect() fails
6872         invalidate file descriptor after closing it.
6873
6874 2001-03-08  Mike Alexander  <mta@arbortext.com>
6875
6876         * event-msw.c (mswindows_need_event_in_modal_loop):
6877         Don't dispatch a message if we didn't get one.
6878         (mswindows_need_event):
6879         Terminate the correct process when one exits instead of the first
6880         one on Vprocess_list and look for process termination when in
6881         mswindows_protect_modal_loop.
6882
6883 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6884
6885         * XEmacs 21.4.1 "Copyleft" is released.
6886
6887 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6888
6889         * input-method-motif.c (XIM_delete_frame): New callback.
6890         (XIM_init_frame): Register it.
6891
6892 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6893
6894         * XEmacs 21.4.0 "Solid Vapor" is released.
6895
6896 2001-04-15  Ben Wing  <ben@xemacs.org>
6897
6898         * cmdloop.c (call_command_loop):
6899         Fix braino in bit-rotting code.
6900         
6901 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6902
6903         * extents.c (Fset_extent_endpoints): Force creation of extent info
6904         in buffer_or_string.
6905
6906         * extents.c (process_extents_for_insertion_mapper): Correctly
6907         check for open-open zero-length extents.
6908
6909 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6910
6911         * lisp.h: New typedefs Memory_count, Element_count.
6912         * regex.c:
6913         * regex.h:
6914         Sign-compare warning elimination: several unsigned -> signed.
6915         Based on work by Ben Wing <ben@xemacs.org>.
6916
6917 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6918
6919         * XEmacs 21.2.47 "Zephir" is released.
6920
6921 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6922
6923         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6924
6925 2001-04-03  Mike Sperber <mike@xemacs.org>
6926
6927         * search.c: Revert previous patch due because of release.
6928
6929 2001-03-30  Ben Wing  <ben@xemacs.org>
6930
6931         * s\cygwin32.h:
6932         Add missing killpg prototype.
6933
6934         * elhash.c:
6935         Add a comment about fixing problems when a new entry is added
6936         while mapping.
6937
6938         * frame-msw.c (mswindows_init_frame_1):
6939         Fix compile warnings.
6940
6941         * menubar.c (vars_of_menubar):
6942         Provide `menu-accelerator-support' to indicate that we properly
6943         support %_ in menu specifications, so that package code can
6944         conditionalize on this (and remove %_ from menu specifications
6945         on older versions).
6946
6947         * event-msw.c:
6948         * scrollbar-msw.c:
6949         * scrollbar-msw.c (can_scroll):
6950         * scrollbar-msw.h:
6951         Fix handling of mouse wheel under Windows to follow standards --
6952         now scrolls window under pointer, not selected window.
6953
6954 2001-03-31  Mike Sperber <mike@xemacs.org>
6955
6956         * search.c (Freplace_match): Support FSF-style specification of
6957         match subexpression when applied to a buffer.
6958
6959 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6960
6961         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6962         function to modify KEYMAP, so map over a copy of the hash table.
6963
6964 2001-03-21  Martin Buchholz <martin@xemacs.org>
6965
6966         * XEmacs 21.2.46 "Urania" is released.
6967
6968 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6969
6970         * realpath.c (xrealpath): Make file-truename work with symlinks to
6971         /cygdrive paths on cygwin. Always lowercase drive-letters on
6972         native windows.
6973         (cygwin_readlink): Don't try to find canonical filename unless
6974         file exists.
6975
6976 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6977
6978         * ChangeLog: Log GTK merge.
6979
6980         * dumper.c:
6981         * select-x.c:
6982         * specifier.c:
6983         * symeval.h:
6984         Revert gratuitous whitespace changes from GTK merge.
6985
6986         * emacs.c: Document end of complex #ifdef @ l. 1495.
6987
6988
6989 2001-03-12  Andy Piper  <andy@xemacs.org>
6990
6991         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6992         have to do likewise.
6993
6994 2001-03-12  Andy Piper  <andy@xemacs.org>
6995
6996         * sysdep.c: we only support mingw now.
6997
6998 2001-03-09  Andy Piper  <andy@xemacs.org>
6999
7000         * unexcw.c (copy_executable_and_dump_data_section): making approx
7001         overrun a warning only.
7002
7003 2001-03-10  William M. Perry  <wmperry@aventail.com>
7004
7005         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7006         satisfy Stephen's identical-after-cpp plea.
7007
7008 2001-03-02  Ben Wing  <ben@xemacs.org>
7009
7010         * cmds.c:
7011         * cmds.c (Fforward_char):
7012         * syntax.c:
7013         * window.c:
7014
7015         Augment documentation of the most common motion commands to make
7016         note of the shifted-motion support.
7017         
7018 2001-03-02  Ben Wing  <ben@xemacs.org>
7019
7020         * nt.c (mswindows_fstat):
7021         * nt.c (mswindows_stat):
7022         * search.c (boyer_moore):
7023         Fix compile warnings under Windows.
7024         
7025         * sysdep.c (sys_readdir):
7026         Fix buggy filename-conversion code under Mule.
7027
7028 2001-03-09  William M. Perry  <wmperry@aventail.com>
7029
7030         * Makefile.in.in:
7031         * config.h.in:
7032         * console.c:
7033         * console.h:
7034         * device.c:
7035         * device.h:
7036         * dragdrop.c:
7037         * emacs.c:
7038         * event-stream.c:
7039         * events.c:
7040         * events.h:
7041         * faces.c:
7042         * frame.h:
7043         * general-slots.h:
7044         * glyphs.c:
7045         * gutter.c:
7046         * inline.c:
7047         * lisp.h:
7048         * lrecord.h:
7049         * make-src-depend:
7050         * redisplay-output.c:
7051         * redisplay.c:
7052         * symsinit.h:
7053         * sysfile.h:
7054         * toolbar.c:
7055         * window.c:
7056         The Great GTK Merge.
7057
7058         * ChangeLog.GTK:
7059         * console-gtk.c:
7060         * console-gtk.h:
7061         * device-gtk.c:
7062         * emacs-marshals.c:
7063         * emacs-widget-accessors.c:
7064         * event-gtk.c:
7065         * frame-gtk.c:
7066         * gccache-gtk.c:
7067         * gccache-gtk.h:
7068         * glade.c:
7069         * glyphs-gtk.c:
7070         * glyphs-gtk.h:
7071         * gtk-glue.c:
7072         * gtk-xemacs.c:
7073         * gtk-xemacs.h:
7074         * gui-gtk.c:
7075         * gui-gtk.h:
7076         * menubar-gtk.c:
7077         * native-gtk-toolbar.c:
7078         * objects-gtk.c:
7079         * objects-gtk.h:
7080         * redisplay-gtk.c:
7081         * scrollbar-gtk.c:
7082         * scrollbar-gtk.h:
7083         * select-gtk.c:
7084         * toolbar-gtk.c:
7085         * ui-byhand.c:
7086         * ui-gtk.c:
7087         * ui-gtk.h:
7088         The Great GTK Merge: new files.
7089
7090 2001-02-26  Ben Wing  <ben@xemacs.org>
7091
7092         Reapplied Lstream change.
7093
7094 2001-02-26  Ben Wing  <ben@xemacs.org>
7095
7096         Undid the last change, since it is more controversial than I
7097         thought.  It should be back in at some point soon.
7098         
7099 2001-02-25  Ben Wing  <ben@xemacs.org>
7100
7101         * buffer.c:
7102         * callproc.c (Fold_call_process_internal):
7103         * event-msw.c (ntpipe_slurp_reader):
7104         * event-msw.c (ntpipe_shove_writer):
7105         * event-msw.c (winsock_reader):
7106         * event-msw.c (winsock_writer):
7107         * file-coding.c:
7108         * file-coding.c (detect_eol_type):
7109         * file-coding.c (detect_coding_type):
7110         * file-coding.c (determine_real_coding_system):
7111         * file-coding.c (Fdetect_coding_region):
7112         * file-coding.c (decoding_reader):
7113         * file-coding.c (decoding_writer):
7114         * file-coding.c (mule_decode):
7115         * file-coding.c (Fdecode_coding_region):
7116         * file-coding.c (encoding_reader):
7117         * file-coding.c (encoding_writer):
7118         * file-coding.c (mule_encode):
7119         * file-coding.c (Fencode_coding_region):
7120         * file-coding.c (detect_coding_sjis):
7121         * file-coding.c (decode_coding_sjis):
7122         * file-coding.c (encode_coding_sjis):
7123         * file-coding.c (detect_coding_big5):
7124         * file-coding.c (decode_coding_big5):
7125         * file-coding.c (encode_coding_big5):
7126         * file-coding.c (detect_coding_ucs4):
7127         * file-coding.c (decode_coding_ucs4):
7128         * file-coding.c (encode_coding_ucs4):
7129         * file-coding.c (detect_coding_utf8):
7130         * file-coding.c (decode_coding_utf8):
7131         * file-coding.c (encode_coding_utf8):
7132         * file-coding.c (detect_coding_iso2022):
7133         * file-coding.c (decode_coding_iso2022):
7134         * file-coding.c (encode_coding_iso2022):
7135         * file-coding.c (decode_coding_no_conversion):
7136         * file-coding.c (encode_coding_no_conversion):
7137         * glyphs-x.c (write_lisp_string_to_temp_file):
7138         * gpmevent.c (tty_get_foreign_selection):
7139         * lisp.h:
7140         * lstream.c:
7141         * lstream.c (Lstream_flush_out):
7142         * lstream.c (Lstream_adding):
7143         * lstream.c (Lstream_write_1):
7144         * lstream.c (Lstream_write):
7145         * lstream.c (Lstream_raw_read):
7146         * lstream.c (Lstream_read_more):
7147         * lstream.c (Lstream_read):
7148         * lstream.c (Lstream_unread):
7149         * lstream.c (Lstream_fputc):
7150         * lstream.c (stdio_reader):
7151         * lstream.c (stdio_writer):
7152         * lstream.c (filedesc_reader):
7153         * lstream.c (filedesc_writer):
7154         * lstream.c (lisp_string_reader):
7155         * lstream.c (struct fixed_buffer_stream):
7156         * lstream.c (make_fixed_buffer_input_stream):
7157         * lstream.c (make_fixed_buffer_output_stream):
7158         * lstream.c (fixed_buffer_reader):
7159         * lstream.c (fixed_buffer_writer):
7160         * lstream.c (struct resizing_buffer_stream):
7161         * lstream.c (resizing_buffer_writer):
7162         * lstream.c (dynarr_writer):
7163         * lstream.c (lisp_buffer_reader):
7164         * lstream.c (lisp_buffer_writer):
7165         * lstream.h:
7166         * lstream.h (lstream_implementation):
7167         * lstream.h (struct lstream):
7168         * md5.c (Fmd5):
7169         * process-nt.c (nt_send_process):
7170         * process-unix.c (unix_send_process):
7171         
7172         Correct Lstream lossage due to mixing of signed and unsigned
7173         quantities.  All Lstream uses of size_t and ssize_t are now a
7174         single signed data type Lstream_data_count.  This fixes problems
7175         under Windows with sending large quantities of data to a process,
7176         and may well fix other subtle bugs.
7177
7178 2001-02-23  Martin Buchholz <martin@xemacs.org>
7179
7180         * XEmacs 21.2.45 "Thelxepeia" is released.
7181
7182 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7183
7184         * lisp-union.h (XSETINT): 
7185         (XSETCHAR):
7186         (XSETOBJ): 
7187         Reverse previous change of 2001-02-06.
7188
7189 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7190
7191         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7192         buffers.
7193         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7194         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7195         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7196         * regex.c (POS_AS_IN_BUFFER): removed
7197         * regex.c (re_search_2):
7198         * regex.c (re_match_2):
7199         Don't use an offset of 1 when calculating buffer positions, since
7200         `BI_BUF_BEGV' does it already.
7201
7202 2001-02-18  Wim Dumon  <wim@easics.be>
7203
7204         * insdel.c (prepare_to_modify_buffer): Also check for
7205         supersession when clash-detection is enabled. 
7206
7207 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7208
7209         * regex.c (re_match_2_internal):
7210         Convert temp characters from 'const unsigned char' to 're_char'.
7211         Fix crashing bug with extended characters under mule.
7212         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7213         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7214         font-lock, pdump, and new syntax-table code.
7215         * syntax.c (find_start_of_comment):
7216         (find_end_of_comment):
7217         (forward-comment):
7218         Fix crashing bugs involving moving beyond end of buffer.
7219         * syntax.c (find_start_of_comment):
7220         Fixed logic to allow proper detection of cases where the same
7221         character is used to end both a two-char comment start and a
7222         two-char comment end sequence. Fixes `(forward-comment -1)'.
7223         * syntax.c (find_start_of_comment):
7224         Return position just past last comment-end character for all cases
7225         (previously was only done for two-char comment-end sequences).
7226         * syntax.c (forward-comment):
7227         Take value returned from `find_end_of_comment', rather than
7228         incrementing it.
7229         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7230         Properly deal with BUFFERP (syntax_cache.object)
7231
7232 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7233
7234         * alloc.c (Fgarbage_collect): 
7235         * alloc.c (make_bit_vector_from_byte_vector):
7236         -Wsign-compare-correctness.
7237
7238 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7239
7240         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7241         (XSETCHAR): Likewise.
7242         (XSETOBJ): Likewise.
7243
7244 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7245
7246         * mule-canna.c (canna-func-delete_previous): 
7247         Rename to canna-func-delete-previous.
7248
7249 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7250
7251         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7252
7253 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7254
7255         * font-lock.c (find_context): Fix C++ compile errors introduced by
7256         recent patch
7257
7258 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7259
7260         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7261         pragma, but earlier ones barf on the same pragma.
7262
7263 2001-02-06  Mike Sperber <mike@xemacs.org>
7264
7265         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7266         `configure-mule-lisp-directory'.
7267
7268 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7269
7270         Make sure dump-id.c is compiled in the same way as other .c's.
7271         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7272         * dump-id.h: Remove.
7273         * emacs.c: Move dump-id.h into dumper.h.
7274         * dumper.h: Move dump-id.h into dumper.h.
7275         * Makefile.in.in:
7276         Use standard .c.o rule for building dump-id.o.
7277         Remove preprocessor flags from link command.
7278         Add dump-id.o to ${otherobjs} if PDUMP.
7279
7280 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7281
7282         Port FSF 20.7 syntax table improvements.
7283         * syntax.c.
7284         * syntax.h.
7285
7286         Fixups for new syntax table stuff.
7287         * dired.c: Include syntax.c.
7288         (Fdirectory_files): Initialize regex_match_object and
7289         regex_emacs_buffer.
7290         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7291         and Fget_char_property.
7292
7293         Use ported FSF 20.7 syntax table improvements.
7294         * font-lock.c.
7295         * regex.c.
7296         * search.c.
7297         
7298 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7299
7300         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7301         Unixware's enum boolean from sys/types.h.
7302
7303 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7304
7305         Fix support for building with latest Purify.
7306         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7307         (PURIFY_FLAGS): Likewise.
7308
7309 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7310
7311         * fileio.c (lisp_string_set_file_times): New.
7312         * fileio.c (Fcopy_file): Use it.
7313         Fixes bug:
7314         (copy-file filename non-ascii-filename t t)
7315         ==> No such file or directory, non-ascii-filename
7316
7317 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7318
7319         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7320         USHRT_MAX seems clearer than ~0 anyways.
7321
7322 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7323
7324         dumper improvements.  Inspired by Olivier.
7325         * dumper.c (pdump_max_align): New.
7326         * dumper.c (pdump_add_entry): Use pdump_max_align.
7327         * dumper.c (pdump_get_entry_list): Likewise.
7328         * dumper.c (pdump_scan_by_alignment): Likewise.
7329         Don't iterate through unnecessary alignments.
7330         * dumper.c (pdump_file_get): No need to align result of malloc().
7331         * dumper.c (pdump_mallocadr): Remove.  
7332         The result of malloc() is guaranteed to be maximally aligned.
7333         * dumper.c: s/elmt/elt/g;
7334         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7335         * dumper.c (pdump_alert_undump_object): Likewise.
7336         * dumper.c (pdump_align_table): 
7337         Don't support alignments > 64.
7338         Store ALIGNOF's, not shift counts, in table.
7339
7340 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7341
7342         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7343         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7344         * systime.h: Use HAVE_UTIME.
7345         * sysdep.c (struct utimbuf): Remove.
7346         * sysdep.c (set_file_times): Prefer utime() to utimes().
7347         * config.h.in (HAVE_UTIME): New.
7348         * config.h.in (HAVE_UTIME_H): Remove.
7349         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7350
7351 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7352
7353         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7354
7355 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7356
7357         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7358
7359 2001-02-08  Martin Buchholz <martin@xemacs.org>
7360
7361         * XEmacs 21.2.44 "Thalia" is released.
7362
7363 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7364
7365         Fixes crashes in kill-emacs on some systems.
7366         * process-unix.c (unix_kill_child_process):
7367         It's OK for kill() to fail with ESRCH.
7368
7369 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7370
7371         Contortions to make .gdbinit tricks work on most systems.
7372         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7373         * alloc.c (dbg_valmask): Make non-const.
7374         * alloc.c (dbg_typemask): Make non-const.
7375         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7376         * alloc.c (dbg_valbits): Make non-const.
7377         * alloc.c (dbg_gctypebits): Make non-const.
7378         * .gdbinit (decode_object): Make it work with AIX cc.
7379
7380 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7381
7382         * elhash.c (make_general_lisp_hash_table):
7383         Use simpler and more efficient calloc to clear entries.
7384
7385 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7386
7387         * window.c (window_scroll): Work around an AIX C compiler bug.
7388         Fixes 'scroll-up' does nothing problem with xlC.
7389
7390 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7391
7392         * .gdbinit: Remove obsolete comment.
7393
7394 2001-01-31  Mike Alexander  <mta@arbortext.com>
7395
7396         * select.c (Fown_selection_internal): Set owned_p for device
7397         method correctly.
7398
7399 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7400
7401         Port to g++ 2.97.
7402         "not" cannot be used as a macro name as it is an operator in C++
7403         * config.h.in: Stop #defining `not'.
7404         * chartab.c (check_category_char): not ==> not_p
7405         * chartab.h: Likewise.
7406         * regex.c (re_match_2_internal): Likewise.
7407
7408 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7409
7410         * lisp-disunion.h: Fix up comments.
7411
7412 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7413
7414         * keymap.c (define_key_check_and_coerce_keysym):
7415         (syms_of_keymap):
7416         Support mouse-6 and mouse-7 bindings in the obvious way.
7417
7418 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7419
7420         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7421
7422 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7423
7424         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7425         Previous patch missed DEFVAR_INT_MAGIC.
7426         Make sure future DEFVAR_foo use correct types.
7427         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7428         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7429         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7430         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7431         * (DEFVAR_INT): Likewise.
7432         * redisplay.c (vertical_clip): Should be of type Fixnum.
7433         * redisplay.c (horizontal_clip): Likewise.
7434         * lisp.h (dump_add_opaque_int): New.
7435         (dump_add_opaque_fixnum): New.
7436
7437 2001-01-29  Andy Piper  <andy@xemacs.org>
7438
7439         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7440         since they can be eval'ed
7441
7442 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7443
7444         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7445         Oops, XEmacs redefines `class'.  Use `typename' instead.
7446
7447 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7448
7449         * dumper.c: Fix C++ compile errors.
7450
7451 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7452
7453         * tparam.c: Use correct prototypes.
7454
7455 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7456
7457         * sysproc.h: #include util.h for NetBSD's openpty.
7458
7459 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7460
7461         More 64-bit correctness.
7462         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7463         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7464         Fix up comments.
7465         This finally finishes the 64-bit SGI port.
7466         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7467         * symbols.c: Fix up comments and type casts.
7468         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7469         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7470         * symeval.h (Fixnum): New type.
7471         * symeval.h (symbol_value_type): Fix up comment.
7472
7473         * commands.h:
7474         * nt.c:
7475         * emacs.c:
7476         * data.c:
7477         * redisplay.c:
7478         * abbrev.c:
7479         * dired-msw.c:
7480         * event-Xt.c:
7481         * eldap.c:
7482         * window.c:
7483         * sound.c:
7484         * event-stream.c:
7485         * eval.c:
7486         * buffer.c:
7487         * mule-canna.c: A million DEFVAR_INTs here...
7488         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7489         * extents.c:
7490         * cmdloop.c:
7491         * lisp.h:
7492         * select-x.c:
7493         * console-x.h:
7494         * event-msw.c:
7495         * mule-wnnfns.c:
7496         * hpplay.c:
7497         * ralloc.c:
7498         * alloc.c:
7499         * keymap.c:
7500         * profile.c:
7501         s/int/Fixnum/g in DEFVAR_INT declarations.
7502
7503 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7504
7505         Port pdump to SGI alignment-sensitive environment.
7506         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7507         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7508         properly aligned.
7509         Define and use aligned reading and writing macros.
7510         Use buffered stdio instead of posix i/o for faster dumping.
7511         Eliminate kludgy 256 byte space for header.
7512         Read and write from dump file using structs for alignment safety.
7513         * dumper.c (pdump_align_stream): New.
7514         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7515         * dumper.c (PDUMP_READ_ALIGNED): New.
7516         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7517         * dumper.c (pdump_static_Lisp_Object): New struct.
7518         * dumper.c (pdump_static_pointer): New struct.
7519         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7520         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7521         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7522         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7523
7524         * dumper.c (pdump_backtrace):
7525         * dumper.c (pdump_get_indirect_count):
7526         * dumper.c (pdump_register_object):
7527         * dumper.c (pdump_register_struct):
7528         * dumper.c (pdump_reloc_one):
7529         * dumper.c (pdump_scan_by_alignment):
7530         * dumper.c (pdump_dump_from_root_struct_ptrs):
7531         * dumper.c (pdump_dump_opaques):
7532         * dumper.c (pdump_dump_rtables):
7533         * dumper.c (pdump_dump_from_root_objects):
7534         * dumper.c (pdump):
7535         * dumper.c (pdump_load_finish):
7536         Use aligned reading and writing.
7537
7538         * dumper.c (pdump_free): Make static.
7539         * dumper.c (pdump_hFile): Likewise.
7540         * dumper.c (pdump_hMap): Likewise.
7541
7542 2001-01-26  Martin Buchholz <martin@xemacs.org>
7543
7544         * XEmacs 21.2.43 "Terspichore" is released.
7545
7546 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7547
7548         Type fiddling for window_config.saved_windows_count
7549         * window.c (struct window_config): 
7550         Make saved_windows_count member unsigned.
7551         * window.c (sizeof_window_config_for_n_windows): 
7552         Make parameter unsigned.
7553         * window.c (mark_window_config):
7554         * window.c (window_config_equal):
7555         * window.c (free_window_configuration):
7556         * window.c (Fset_window_configuration):
7557         * window.c (count_windows):
7558         * window.c (Fcurrent_window_configuration):
7559         * window.c (reinit_vars_of_window):
7560         Update all callers and users.
7561
7562 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7563
7564         Alignment correctness for flexible arrays.
7565         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7566         Make alignment-correct. Add interesting comments.
7567         * alloc.c (size_vector):
7568         * alloc.c (make_vector_internal):
7569         * alloc.c (make_bit_vector_internal):
7570         * alloc.c (sweep_bit_vectors_1):
7571         * fns.c (size_bit_vector):
7572         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7573         * window.c (sizeof_window_config_for_n_windows): 
7574         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7575
7576 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7577
7578         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7579
7580 2001-01-23  Andy Piper  <andy@xemacs.org>
7581
7582         * select.c (Fown_selection_internal): pass owned_p
7583
7584         * select-msw.c (mswindows_own_selection): New Signature.
7585
7586         * console.h (struct console_methods): add owned_p to
7587         _own_selection.
7588
7589         * select-x.c (x_own_selection): pass owned_p
7590         (hack_motif_clipboard_selection): use owned_p
7591         (vars_of_select_x): new variable -
7592         x_selection_strict_motif_ownership.
7593
7594 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7595
7596         * specifier.h (specifier_data_offset): Remove pointless parens.
7597         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7598
7599 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7600
7601         Make Lisp_Object sizeof methods be alignment-correct.
7602         pdump must restore objects to the same alignment as the C compiler
7603         assumes.  It really matters on SGIs.
7604         * lstream.c (aligned_sizeof_lstream): New.
7605         (sizeof_lstream): Use aligned_sizeof_lstream.
7606         (Lstream_new): Likewise.
7607         * opaque.c (aligned_sizeof_opaque): New.
7608         (sizeof_opaque): Use aligned_sizeof_opaque.
7609         (make_opaque): Likewise.
7610         * specifier.c (aligned_sizeof_specifier): New.
7611         (sizeof_specifier): Use aligned_sizeof_specifier.
7612         (make_specifier_internal): Likewise.
7613
7614 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7615
7616         * lstream.h (struct lstream): Use max_align_t for trailing data.
7617         * specifier.h (struct Lisp_Specifier): Likewise.
7618
7619 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7620
7621         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7622         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7623         (CCL_SUSPEND): Likewise.
7624         (CCL_INVALID_CMD): Likewise.
7625         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7626         (ccl_driver): Likewise.
7627         (CCL_WRITE_CHAR): Macro hygiene.
7628         (CCL_WRITE_STRING): Macro hygiene.
7629
7630 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7631
7632         Port "portable" dumper to SunOS 4 and HP-UX.
7633         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7634         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7635         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7636
7637 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7638
7639         * lisp.h (ALIGNOF): A better definition for C++.
7640
7641 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7642
7643         Macro hygiene.
7644         Fix printf warnings: int format, long int arg.
7645         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7646         (PUSH_FAILURE_POINT): Use correct printf formats.
7647         (POP_FAILURE_POINT): Use correct printf formats.  
7648         Use do {...} while (0)
7649
7650 2001-01-20  Martin Buchholz <martin@xemacs.org>
7651
7652         * XEmacs 21.2.42 "Poseidon" is released.
7653
7654 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7655
7656         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7657
7658 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7659
7660         De-kludgify FIXED_TYPE free list frobbing.
7661         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7662         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7663         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7664         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7665         * alloc.c (LRECORD_FREE_P): New.
7666         * alloc.c (MARK_LRECORD_AS_FREE): New.
7667         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7668         * alloc.c (STRUCT_FREE_P): Deleted.
7669         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7670         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7671         * alloc.c (STRING_CHARS_FREE_P): New.
7672         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7673         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7674         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7675         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7676         * alloc.c (resize_string): Use new definitions.
7677         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7678         * alloc.c (verify_string_chars_integrity): Use new definitions.
7679         * alloc.c (compact_string_chars): Use new definitions.
7680         * alloc.c: Update monster comments.
7681         * lrecord.h (lrecord_type): Add some new lrecord types for
7682         alloc.c's use.
7683
7684 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7685
7686         Improve alignment hackery.
7687         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7688         (max_align_t): Moved from opaque.h - general purpose.
7689         (ALIGN_PTR): Use size_t, not long.
7690         * opaque.h (max_align_t): Move to lisp.h.
7691
7692 2001-01-18  Norbert Koch  <nk@LF.net>
7693
7694         * gui.h: Fix and add prototypes to fix build problems.
7695
7696 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7697
7698         temacs is going away, so `dump-temacs' is now a bad name.
7699         * .dbxrc (dump-temacs): Rename to `dmp'.
7700         * .gdbinit (dump-temacs): Rename to `dmp'.
7701
7702 2001-01-17  Andy Piper  <andy@xemacs.org>
7703
7704         * glyphs.c (print_image_instance): comment to make martin happy.
7705
7706         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7707         change.
7708
7709         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7710         activation.
7711         (mswindows_tab_control_redisplay): warning suppression.
7712
7713         * glyphs-widget.c (widget_update): re-write to cope with updated
7714         items.
7715         (widget_instantiate): use new gui_item functions.
7716         (tab_control_update): deleted.
7717         (progress_gauge_update): deleted.
7718         (image_instantiator_progress_guage): take out update reference.
7719         (image_instantiator_tree_view): ditto.
7720         (image_instantiator_tab_control): ditto.
7721
7722         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7723         Right the new way.
7724         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7725         return whether anything was changed.
7726         (update_gui_item_keywords): as it sounds.
7727
7728         * gui.h: declare widget_gui_parse_item_keywords.
7729
7730         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7731         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7732
7733 2001-01-17  Martin Buchholz <martin@xemacs.org>
7734
7735         * XEmacs 21.2.41 "Polyhymnia" is released.
7736
7737 2001-01-16  Didier Verna  <didier@xemacs.org>
7738
7739         * glyphs.c (image_instantiate): don't use fallbacks when
7740         instantiating a face's background pixmap by inheritance.
7741
7742 2001-01-14  Mike Sperber <mike@xemacs.org>
7743
7744         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7745         Conditionalize accordingly.
7746
7747 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7748
7749         * dumper.c (pdump_file_get): Fix a compiler warning.
7750
7751 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7752
7753         Make Purify happy when pdumping.
7754         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7755         iniitalizing all bits of new lisp object memory.
7756         * symbols.c (Fmake_local_variable): Likewise.
7757         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7758         * symbols.c (Fdefvaralias): Likewise.
7759         * mule-charset.c (vars_of_mule_charset): Likewise.
7760
7761 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7762         Add the `-nd' flag when running pre-dump operations under the debugger.
7763         * .dbxrc (run-temacs): Add `-nd'.
7764         * .dbxrc (update-elc): Likewise.
7765         * .dbxrc (dump-temacs): Likewise.
7766         * .gdbinit (run-temacs): Likewise.
7767         * .gdbinit (check-temacs): Likewise.
7768         * .gdbinit (update-elc): Likewise.
7769         * .gdbinit (dump-temacs): Likewise.
7770
7771 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7772
7773         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7774         export OBJECT_MODE=64
7775         configure --pdump --use-union-type=no
7776         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7777         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7778
7779         * miscplay.c (sndcnv8U_2mono):
7780         Avoid two uses of `++' in the same expression.
7781         Suppresses a GCC warning.
7782
7783 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7784
7785         Make sure future compilers don't miscompile alloc.c.
7786         * alloc.c:
7787         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7788         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7789
7790 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7791
7792         * dumper.c: A little post-pdump-rename comment fixup.
7793
7794 2001-01-09  Jerry James  <james@eecs.ku.edu>
7795
7796         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7797
7798 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7799
7800         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7801         script:
7802         #!/bin/sh
7803         replace_symbol () {
7804           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7805         }
7806
7807         replace_symbol pdump_wire_lists pdump_weak_object_chains
7808         replace_symbol pdump_wire_list dump_add_weak_object_chain
7809
7810         replace_symbol pdump_wires pdump_root_objects
7811         replace_symbol pdump_wire dump_add_root_object
7812
7813         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7814         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7815
7816         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7817         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7818         replace_symbol dumpstructinfo pdump_root_struct_ptr
7819         replace_symbol dumpstruct dump_add_root_struct_ptr
7820
7821         replace_symbol dumpopaque dump_add_opaque
7822         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7823         replace_symbol dumpopaqueinfos pdump_opaques
7824         replace_symbol dumpopaqueinfo pdump_opaque
7825
7826         replace_symbol nb_structdump nb_root_struct_ptrs
7827         replace_symbol nb_opaquedump nb_opaques
7828
7829         replace_symbol align_table pdump_align_table
7830         replace_symbol dump_header pdump_header
7831
7832         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7833         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7834
7835
7836 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7837
7838         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7839         optimizing bytecount_to_charcount().
7840
7841 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7842
7843         * config.h.in:
7844         (HAVE_DLFCN_H): Removed.
7845         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7846
7847 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7848
7849         Portable dumper maintainability improvements.
7850         * alloc.c (staticpro):
7851         * alloc.c (staticpro_nodump):
7852         * alloc.c (garbage_collect_1):
7853         * alloc.c (reinit_alloc_once_early):
7854         * alloc.c (init_alloc_once_early):
7855         * alloc.c: Move dumper functions to alloc.c.
7856         * dumper.c (pdump_backtrace):
7857         * dumper.c (pdump_dump_structs):
7858         * dumper.c (pdump_dump_opaques):
7859         * dumper.c (pdump_dump_rtables):
7860         * dumper.c (pdump_dump_wired):
7861         * dumper.c (pdump):
7862         * dumper.c (pdump_load_check):
7863         * dumper.c (pdump_load_finish):
7864         * dumper.c (pdump_file_unmap):
7865         * dumper.c (pdump_file_get):
7866         * dumper.c (pdump_resource_free):
7867         * dumper.c (pdump_resource_get):
7868         * dumper.c (pdump_file_free):
7869         * dumper.c (pdump_file_try):
7870         * dumper.c (pdump_load):
7871         Remove fixed size limits on staticpro(), staticpro_nodump(),
7872         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7873         Remove custom code for dumping lrecord_implementations_table - use
7874         dumpopaque instead.
7875         Remove (most of the) custom code for dumping staticpros - dump it
7876         like any other dynarr.
7877
7878         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7879         * dumper.c: Moved functions from alloc.c.
7880         * alloc.c (dumpstruct): Moved to dumper.c.
7881         * alloc.c (dumpopaque): Likewise.
7882         * alloc.c (pdump_wire): Likewise.
7883         * alloc.c (pdump_wire_list): Likewise.
7884
7885         * lisp.h (Dynarr_sizeof): New.
7886         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7887         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7888         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7889
7890         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7891         * lisp.h (dumpopaque): ditto.
7892         * lisp.h (pdump_wire): ditto.
7893         * lisp.h (pdump_wire_list): ditto.
7894
7895 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7896
7897         * make-src-depend (PrintPatternDeps):
7898         Use `sort' to make output independent of perl version.
7899
7900 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7901
7902         Port to Netbsd 1.5.
7903         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7904         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7905
7906 2001-01-03  Didier Verna  <didier@xemacs.org>
7907
7908         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7909         that `focus_frame' is alive before thinking of calling
7910         `redisplay_redraw_cursor' on it.
7911
7912 2001-01-08  Martin Buchholz <martin@xemacs.org>
7913
7914         * XEmacs 21.2.40 is released.
7915
7916 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7917
7918         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7919
7920 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7921
7922         * alloc.c (dbg_valmask): Make const.
7923         * alloc.c (dbg_typemask): Make const.
7924         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7925         * alloc.c (dbg_valbits): Make const.
7926         * alloc.c (dbg_gctypebits): Make const.
7927
7928 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7929
7930         * redisplay-x.c (x_bevel_area):
7931         redisplay.h (struct rune):
7932         Typo fixes in comments.
7933
7934 2001-01-05  Andy Piper  <andy@xemacs.org>
7935
7936         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7937         adjustment.
7938
7939         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7940
7941 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7942
7943         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7944
7945         * mule-ccl.c (stack_idx_of_map_multiple):
7946         Non const global data must not be initialized!
7947         Found by MIYASHITA Hisashi.
7948
7949 2001-01-02  Andy Piper  <andy@xemacs.org>
7950
7951         * frame.c (change_frame_size): make sure frame size is always
7952         marked as changed.
7953
7954         * glyphs.c (image_instance_layout): minor code reuse.
7955
7956         * window.c (Fcurrent_window_configuration): revert previous
7957         change.
7958
7959 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7960
7961         * glyphs.h:
7962         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7963
7964 2000-12-31  Andy Piper  <andy@xemacs.org>
7965
7966         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7967         when widget gets unmapped.
7968
7969         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7970         function. Make sure widgets losing focus don't just drop it.
7971         (handle_focus_event_1): record the widget with focus.
7972
7973 2000-12-31  Andy Piper  <andy@xemacs.org>
7974
7975         * window.c (allocate_window): use
7976         make_image_instance_cache_hash_table.
7977         (make_dummy_parent): ditto.
7978         (Fset_window_configuration): ditto.
7979
7980         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7981
7982         * glyphs.c (process_image_string_instantiator): use
7983         INSTANTIATOR_TYPE.
7984         (get_image_instantiator_governing_domain): ditto.
7985         (normalize_image_instantiator): ditto.
7986         (instantiate_image_instantiator): ditto.
7987         (make_image_instance_1): ditto.
7988         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7989         (instantiator_eq_equal): new function for use with instance hash
7990         tables.
7991         (instantiator_eq_hash): ditto.
7992         (make_image_instance_cache_hash_table): create a suitable hash
7993         table for storing image instances.
7994
7995         * elhash.h (hash_table_weakness): new internal weakness type
7996         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7997         declare new functions.
7998
7999         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8000         another weakness type for glyphs.
8001         (make_standard_lisp_hash_table): new function split out from
8002         make_general_lisp_hash_table.
8003         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8004         (hash_table_instantiate): ditto.
8005         (Fmake_hash_table): ditto.
8006
8007 2000-12-31  Martin Buchholz <martin@xemacs.org>
8008
8009         * XEmacs 21.2.39 is released.
8010
8011 2000-12-29  Andy Piper  <andy@xemacs.org>
8012
8013         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8014
8015         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8016         the frame has changed so that we pick up geometry changes such as
8017         menubar visibility.
8018
8019 2000-12-28  Andy Piper  <andy@xemacs.org>
8020
8021         * lastfile.c (my_ebss): make a char array so we can pad the
8022         bss. Fixes cygwin unexec.
8023
8024         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8025
8026 2000-12-26  Andy Piper  <andy@xemacs.org>
8027
8028         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8029         comments and try and be more precise about a non-/SIGIO world.
8030         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8031         SIGIO.
8032
8033         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8034         we don't normalize to zero width or height.
8035
8036 2000-12-24  Andy Piper  <andy@xemacs.org>
8037
8038         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8039
8040 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8041
8042         * s/sco5.h: SCO 5 has pty support.
8043
8044 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8045
8046         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8047         input-method-xlib.c contains whole contents of input-method-xfs.c,
8048         so we can use input-method-xlib.c's code for USE_XFONTSET
8049         using #ifdefs.
8050         * input-method-xfs.c: removed.
8051
8052 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8053
8054         * file-coding.h (enum coding_category_type): reorder enumerators to
8055         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8056         (now one greater than largest real coding_category_type enumerator).
8057         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8058         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8059         Fcoding_category_list, Fset_coding_priority_list,
8060         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8061         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8062
8063 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8064
8065         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8066         * redisplay-output.c (redisplay_output_window): Clear top of window
8067         when face is changed.
8068         * redisplay-x.c (x_redraw_exposed_window): Call
8069         redisplay_clear_top_of_window.
8070         * redisplay.h: Publish redisplay_clear_top_of_window.
8071
8072 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8073
8074         * buffer.c (Fkill_buffer): Map over all devices.
8075         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8076         (list_windows): New function.
8077         (list_all_windows): Ditto.
8078         (Freplace_buffer_in_windows): Use them.
8079
8080 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8081
8082         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8083         (Fopen_database): Use `db_create' instead of `db_open'.
8084         (syms_of_database): Initialize Qqueue.
8085
8086 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8087
8088         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8089         buffer_local_face_property.
8090         * buffer.h (struct buffer): New member buffer_local_face_property.
8091         * window.c (Fset_window_buffer):  Mark window's face as changed
8092         when buffer has buffer local face.
8093         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8094         * objects.c (color_after_change): Set buffer_local_face_property
8095         when locale of face specifier is buffer.
8096         * objects.c (font_after_change): Ditto.
8097         * objects.c (face_boolean_after_change): Ditto.
8098         * glyphs.c (image_after_change): Ditto.
8099
8100 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8101
8102         * nt.c (mswindows_fstat): Report file permissions, volume serial
8103         number, etc. Code adapted from FSF Emacs 20.7.
8104
8105 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8106
8107         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8108         of stat when we don't have symbolic links, to make sure
8109         mswindows_stat is called on mswindows.
8110
8111 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8112
8113         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8114
8115 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8116
8117         * doprnt.c (emacs_doprnt_1): More printing fixes.
8118         Make printing of numbers compatible with libc and FSF Emacs.
8119         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8120         Use the system printf to do most of the hard work of formatting,
8121         instead of doprnt_1().
8122         Calculate memory to allocate for format string.
8123         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8124         (doprnt_1): Cleaner code and documentation.
8125
8126 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8127
8128         * Makefile.in.in: Use the loop variable to install headers.
8129
8130 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8131
8132         * window.c (Fsplit_window): Don't invalidate face cache.
8133
8134 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8135
8136         * minibuf.c (Fall_completions): Undo the previous change
8137         which removed checking elements start with space.
8138
8139 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8140
8141         * mule-canna.c: Didier suppression.
8142
8143 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8144
8145         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8146         (warning suppression).  Add English comment translations.
8147
8148 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8149
8150         * unexelfsgi.c (unexec): Better test for mmap failure.
8151
8152 2000-12-05  Martin Buchholz <martin@xemacs.org>
8153
8154         * XEmacs 21.2.38 is released.
8155
8156 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8157
8158         * redisplay.c (bar-cursor): Make a user variable.
8159
8160         * symsinit.h: Add init_postgresql_from_environment.
8161
8162 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8163
8164         * regex.c: Convert to clean C.
8165
8166 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8167
8168         * realpath.c:
8169         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8170         initialization.
8171         (sys_readlink): renamed to system_readlink to avoid conflict with
8172         the other sys_readlink.
8173
8174 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8175
8176         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8177
8178 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8179
8180         * postgresql.c (init_postgresql_from_environment): new function.
8181         (vars_of_postgresql): Move code initializing Lisp variables out and
8182         into init_postgresql_from_environment.
8183         emacs.c (main_1): Call init_postgresql_from_environment if and only
8184         if running a dumped XEmacs.
8185
8186 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8187
8188         * buffer.c: Make find-file-compare-truenames default to true on
8189         windows.
8190
8191         * realpath.c (win32_abs_start):
8192         (cygwin_readlink):
8193         (win32_readlink): New functions.
8194         (xrealpath): Return really real filenames on windows.
8195
8196         * fileio.c (Ffile_truename): Make file-truename work on windows.
8197
8198 2000-11-29  Didier Verna  <didier@xemacs.org>
8199
8200         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8201         * faces.c (update_face_cachel_data): use it.
8202         * faces.c (add_face_cachel): use it. Complete background pixmap
8203         frobbing in face cache if `update_face_cachel_data' has not done so.
8204
8205 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8206
8207         * search.c (string_match_1): Don't set last_thing_searched
8208         when search failed.
8209
8210 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8211
8212         * buffer.c: Include casetab.h
8213         (common_init_complex_vars_of_buffer): Use new case-table object.
8214         * buffer.h: Include casetab.h
8215         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8216         (DOWNCASE_TABLE_OF): Ditto.
8217         * bufslots.h: Remove char-tables and add case-table.
8218         * casetab.c: Include casetab.h
8219         (CASE_TABLE_P): Removed.
8220         (mark_case_table): New function.
8221         (allocate_case_table): New function.
8222         (Fcase_table_p): Use new case-table.
8223         (case_table_char): New function.
8224         (Fget_case_table): Ditto.
8225         (Fput_case_table): Ditto.
8226         (Fput_case_table_pair): Ditto.
8227         (Fcopy_case_table): Ditto.
8228         (Fcurrent_case_table): Return case-table.
8229         (Fstandard_case_table): Return case-table.
8230         (Fset_case_table): Fix doc-string.
8231         (set_case_table): Use case-table
8232         (syms_of_casetab): DEFSUBR new functions.
8233         (complex_vars_of_casetab): Set up standard case-table.
8234         * casetab.h: New file.
8235         * editfns.c: Include casetab.h
8236         (Fcompare_buffer_substrings): Use case-table.
8237         * inline.c: Include casetab.h
8238         * lisp.h: Remove bogus extern.
8239         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8240         * search.c: Include casetab.h
8241         (TRANSLATE_ASCII): Removed.
8242         (TRANSLATE): Unconditionally translate character.
8243         (looking_at_1): Use case-table.
8244         (string_match_1): Ditto.
8245         (fast_string_match): Ditto.
8246         (search_command): Ditto.
8247         (search_buffer): Separate boyer_moore.  Check whether
8248         boyer_moore is possible.
8249         (simple_search): New function.
8250         (boyer_moore): Separated from search_buffer. Translate char.
8251
8252 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8253
8254         * regex.c (RE_TR_ASCII): Removed.
8255         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8256         (PATFETCH): Call PATFETCH_RAW.
8257         (PATFETCH_RAW): Fetch Emchar.
8258         (PATUNFETCH): Decrement charptr.
8259         (GET_BUFFER_SPACE): Rename b to buf_end.
8260         (BUF_PUSH): Ditto.
8261         (BUF_PUSH_2): Ditto.
8262         (BUF_PUSH_3): Ditto.
8263         (EXTEND_BUFFER): Ditto.
8264         (SET_LIST_BIT): Ditto.
8265         (regex_compile): Ditto.  Translate non ASCII char.
8266         (compile_range): Ditto.
8267         (re_search_2): Ditto.
8268         (re_match_2_internal): Compare Emchar.
8269         (bcmp_translate): Ditto.
8270
8271 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8272
8273         * lisp.h (basic char/int typedefs):  comment improvement.
8274
8275 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8276
8277         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8278         unstomp inhibit_site_lisp.  Improve comments.
8279
8280 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8281
8282         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8283
8284 2000-11-28  Andy Piper  <andy@xemacs.org>
8285
8286         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8287         clipped display for windows in the gutter also.
8288         (redisplay_display_boxes_in_window_p): change semantics of return
8289         codes to be more intuitive.
8290
8291         * gutter.h: declare display_boxes_in_gutter_p.
8292
8293         * gutter.c (display_boxes_in_gutter_p): new function for
8294         redisplay.
8295
8296 2000-11-22  Andy Piper  <andy@xemacs.org>
8297
8298         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8299         autodetect domain.
8300
8301 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8302
8303         * callproc.c (Fold_call_process_internal):
8304         * gpm.c (Freceive_gpm_event):
8305         (tty_get_foreign_selection): Might be just warning supression.
8306         * fileio.c (Fwrite_region_internal):
8307         (Fset_visited_file_modtime):
8308         * keymap.c (event_matches_key_specifier_p):
8309         Initialize GCPROed variable.
8310
8311         * menubar-x.c (command_builder_find_menu_accelerator):
8312         Initialize before use.
8313
8314 2000-11-23  Andy Piper  <andy@xemacs.org>
8315
8316         * unexcw.c (unexec): make the resulting executable executable.
8317
8318 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8319
8320         * doc.c (get_doc_string):
8321         Use size_t, not int, for result of XSTRING_LENGTH.
8322
8323         * cmds.c (Fdelete_char):
8324         * cmds.c (Fpoint_at_eol):
8325         * cmds.c (Fself_insert_command):
8326         Use EMACS_INT, not int, for result of XINT.
8327         Someday, someone will want to insert more than 2**31 identical characters.
8328
8329         * cmds.c (Fdelete_char):
8330         * cmds.c (Fdelete_backward_char):
8331         * syntax.c (Fforward_word):
8332         * syntax.c (Fforward_comment):
8333         Make COUNT argument optional, for consistency with forward-char et al.
8334
8335 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8336
8337         * lisp.h:
8338         * print.c (long_to_string):
8339         Return a useful value: the pointer at end of data written.
8340
8341         * doprnt.c:
8342         Use `static const char * const' for constant strings.
8343         (union printf_arg): Delete `i', `ui' members.
8344         (get_doprnt_args):
8345         (emacs_doprnt_1):
8346         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8347         Do all printf-ing via the `l' specifier.
8348         Use EMACS_INT instead of int.
8349         Optimize.
8350
8351 2000-11-20  Didier Verna  <didier@xemacs.org>
8352
8353         * faces.c (update_face_cachel_data): don't frob the background
8354         pixmap when the window is being created. The face is needed but
8355         does not exist yet.
8356
8357 2000-11-20  Andy Piper  <andy@xemacs.org>
8358
8359         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8360         messing with a debug environment.
8361
8362 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8363
8364         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8365
8366 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8367
8368         * casetab.c (Fcase_table_p): Fix compile error and crash.
8369
8370 2000-11-18  Philip Aston  <philipa@mail.com>
8371
8372         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8373
8374 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8375
8376         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8377         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8378
8379 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8380
8381         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8382         * unexelf.c: Use HAVE_ELF_H.
8383         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8384         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8385         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8386         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8387         for testing.
8388         So this is an unexelfsgi.c from a different line of development.
8389
8390 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8391
8392         * regex.c (RE_TR_ASCII): New function.
8393         (RE_TRANSLATE): Call it.
8394
8395 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8396
8397         * buffer.h (TRT_TABLE_OF): Remove assert.
8398         (IN_TRT_TABLE_DOMAIN): Removed.
8399
8400 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8401
8402         * free-hook.c (log_gcpro):
8403         (show_gcprohist): Add support for GCPRO5.
8404
8405 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8406
8407         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8408
8409 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8410
8411         * symeval.h: Declare flush_all_buffer_local_cache.
8412
8413         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8414         (flush_buffer_local_cache): Added.
8415         (flush_all_buffer_local_cache): Added.
8416
8417         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8418
8419         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8420         (pdump_dump_data): Ditto.
8421         (pdump_reloc_one): Ditto.
8422         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8423         before dumping.
8424
8425
8426 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8427
8428         * buffer.c: Remove if 0'ed entry.
8429         * buffer.h: Rewrite TRT to use char-table.
8430         * bufslots.h: Remove mirror tables.
8431         * casetab.c: Remove mirror tables.
8432         (CASE_TABLE_P): New macro.
8433         (Fcase_table_p): Element of a case table is string or char-table.
8434         (make_mirror_trt_table): Removed.
8435         (set_case_table): Setup char-table from strings for backward
8436         compatibility.
8437         * dired.c (Fdirectory_files):
8438         * dired-msw.c: (mswindows_get_files):
8439         * lisp.h: Change prototype of re_pattern_buffer.
8440         * regex.c: (RE_TRANSLATE): New macro.
8441         (TRANSLATE_P): Ditto.
8442         Change translate to type RE_TRANSLATE_TYPE.
8443         * regex.h: Define RE_TRANSLATE_TYPE
8444         * search.c (TRANSLATE): New macro.
8445         (TRANSLATE_ASCII): New macro.
8446         Translate table is changed to Lisp_Object.
8447         (signal_failure): Inhibit return.
8448
8449 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8450
8451         * device-msw.c:
8452         * eldap.c:
8453         * event-Xt.c:
8454         * event-stream.c:
8455         * print.c:
8456         Do UNGCPRO before return.
8457
8458 2000-11-14  Martin Buchholz <martin@xemacs.org>
8459
8460         * XEmacs 21.2.37 is released.
8461
8462 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8463
8464         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8465         Add comments about discarded return value.
8466
8467 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8468
8469         * callint.c:
8470         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8471
8472 2000-10-27  Andy Piper  <andy@xemacs.org>
8473
8474         * gutter.c (Fset_default_gutter_position): default left and right
8475         gutters to visible.
8476         (calculate_gutter_size): calculate resonable heuristic for left
8477         and right gutter sizes.
8478         (specifier_vars_of_gutter): change left and right gutter sizes to
8479         autodetect.
8480         (calculate_gutter_size_from_display_lines): new function.
8481         (output_gutter): check for resizing on left and right gutters.
8482         (clear_gutter): don't special case top and left gutters.
8483         (specifier_vars_of_gutter): use new signature for
8484         set_specifier_caching.
8485
8486         * glyphs-x.c (x_redisplay_widget): spelling fix.
8487         * glyphs.c (specifier_vars_of_glyphs):
8488         * menubar.c (specifier_vars_of_menubar):
8489         * redisplay.c (specifier_vars_of_redisplay):
8490         * toolbar.c (specifier_vars_of_toolbar):
8491         * window.c (specifier_vars_of_window):
8492         * scrollbar.c (specifier_vars_of_scrollbar):
8493         (complex_vars_of_scrollbar): use new signature for
8494         set_specifier_caching.
8495
8496         * specifier.c (set_specifier_caching): include recompute flag.
8497         (recompute_one_cached_specifier_in_window): always recompute if
8498         flag set.
8499         (recompute_one_cached_specifier_in_frame): ditto.
8500
8501         * specifier.h (struct specifier_caching): add recompute flag.
8502
8503 2000-10-24  Andy Piper  <andy@xemacs.org>
8504
8505         * unexcw.c (copy_executable_and_dump_data_section): add new
8506         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8507         5.0 happy.
8508
8509 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8510
8511         * console-x.h (x_device): New member modifier_release_time.
8512         * event-Xt.c (x_handle_sticky_modifiers):
8513         Bound interval modifier keys are sticky.
8514         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8515         * events.h: extern it.
8516
8517 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8518
8519         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8520
8521 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8522
8523         * event-stream.c (execute_command_event): Preserve current_events
8524         and the like when event is misc-user-event.
8525         Inhibit quit during the call to maybe_echo_keys.
8526
8527 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8528
8529         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8530         symlink when buffer is killed.
8531         (inhibit_clash_detection): New variable.
8532
8533 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8534
8535         * console.c (Fset_input_method): Trigger redisplay on tty.
8536
8537 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8538
8539         * process.c (Fprocess_status): Revert to previous behavior:
8540         (process-status "nosuchprocess") ==> nil
8541
8542 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8543
8544         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8545         Work around another GCC 2.95.2 optimizer bug.
8546
8547 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8548
8549         * process.c (Fget_process): Use LIST_LOOP_2.
8550         (kill_buffer_processes): Use LIST_LOOP_2.
8551
8552         * minibuf.c (Fall_completions):
8553         Delete old non-functional code for FSF fourth argument.
8554
8555         * frame.c (frame_matches_frame_spec):
8556         Renamed from `frame_matches_frametype'.  Update all callers.
8557         (device_matches_device_spec):
8558         Renamed from 'device_matches_console_spec'.  Update all callers.
8559
8560         * doc.c (Fsubstitute_command_keys):
8561         Remove buffer overflow crash.  Small code cleanups.
8562
8563         * casetab.c (check_case_table): Simpler code.
8564
8565         * window.c (Freplace_buffer_in_windows):
8566         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8567         (and similar implementation) as Fdelete_windows_on.
8568         Update all callers.
8569
8570         * alloc.c (Fmake_list):
8571         * alloc.c (make_vector):
8572         * alloc.c (Fmake_vector):
8573         * alloc.c (make_bit_vector):
8574         * alloc.c (Fmake_bit_vector):
8575         * alloc.c (Fbit_vector):
8576         * alloc.c (Fmake_string):
8577         * alloc.c (Fpurecopy):
8578         * alloc.c (Fmemory_limit):
8579         * buffer.c:
8580         * buffer.c (Fget_buffer):
8581         * buffer.c (Fkill_buffer):
8582         * buffer.c (complex_vars_of_buffer):
8583         * bytecode.c (Fcompiled_function_stack_depth):
8584         * callint.c (Fprefix_numeric_value):
8585         * event-stream.c:
8586         * event-stream.c (Fread_key_sequence):
8587         * casetab.c:
8588         * casetab.c (Fcase_table_p):
8589         * casetab.c (check_case_table):
8590         * casetab.c (Fset_case_table):
8591         * casetab.c (Fset_standard_case_table):
8592         * chartab.c:
8593         * chartab.c (Fchar_table_type):
8594         * chartab.c (Freset_char_table):
8595         * chartab.c (Fget_char_table):
8596         * chartab.c (Fget_range_char_table):
8597         * chartab.c (Fput_char_table):
8598         * chartab.c (Fmap_char_table):
8599         * chartab.c (Fcategory_table_p):
8600         * chartab.c (Fcheck_category_at):
8601         * chartab.c (Fchar_in_category_p):
8602         * chartab.c (Fcategory_table):
8603         * chartab.c (Fcopy_category_table):
8604         * chartab.c (Fset_category_table):
8605         * chartab.c (Fcategory_designator_p):
8606         * chartab.c (Fcategory_table_value_p):
8607         * cmds.c (Fdelete_char):
8608         * cmds.c (Fdelete_backward_char):
8609         * cmds.c (Fself_insert_command):
8610         * cmds.c (Fself_insert_internal):
8611         * console.c (Fvalid_console_type_p):
8612         * console.c (Fcdfw_console):
8613         * console.c (Fconsole_type):
8614         * console.c (Fconsole_name):
8615         * console.c (Fconsole_device_list):
8616         * console.c (Fconsole_on_window_system_p):
8617         * data.c:
8618         * data.c (Feq):
8619         * data.c (Fold_eq):
8620         * data.c (Fsubr_interactive):
8621         * data.c (Fchar_to_int):
8622         * data.c (Fint_to_char):
8623         * data.c (Fsetcar):
8624         * data.c (Fsetcdr):
8625         * data.c (Fnumber_to_string):
8626         * data.c (Fstring_to_number):
8627         * data.c (Frem):
8628         * database.c (mark_database):
8629         * database.c (finalize_database):
8630         * database.c (Fdatabase_live_p):
8631         * database.c (Fdatabasep):
8632         * device-x.c (Fx_get_resource):
8633         * device.c (Fdfw_device):
8634         * dired.c:
8635         * dired.c (Ffile_name_completion):
8636         * dired.c (Ffile_name_all_completions):
8637         * dired.c (Fuser_name_completion):
8638         * dired.c (Fuser_name_completion_1):
8639         * dired.c (Fuser_name_all_completions):
8640         * doc.c (Fdocumentation):
8641         * doc.c (Fdocumentation_property):
8642         * doc.c (Fsubstitute_command_keys):
8643         * editfns.c:
8644         * editfns.c (Fchar_to_string):
8645         * editfns.c (Fstring_to_char):
8646         * editfns.c (Ftemp_directory):
8647         * editfns.c (Finsert_char):
8648         * editfns.c (Fbuffer_substring_no_properties):
8649         * editfns.c (Fnarrow_to_region):
8650         * editfns.c (Fchar_equal):
8651         * editfns.c (Fchar_Equal):
8652         * editfns.c (Ftranspose_regions):
8653         * emacs.c (Fdump_emacs):
8654         * eval.c (Fthrow):
8655         * eval.c (Fcommand_execute):
8656         * eval.c (Fautoload):
8657         * eval.c (Fbacktrace):
8658         * eval.c (Fbacktrace_frame):
8659         * events.c:
8660         * events.c (Fcopy_event):
8661         * events.c (Fcharacter_to_event):
8662         * events.c (Fevent_button):
8663         * events.c (Fevent_process):
8664         * extents.c:
8665         * extents.c (Fnext_extent_change):
8666         * extents.c (Fextent_property):
8667         * faces.c (Ffacep):
8668         * faces.c (Fmake_face):
8669         * file-coding.c:
8670         * file-coding.c (Fencode_shift_jis_char):
8671         * file-coding.c (Fencode_big5_char):
8672         * fileio.c (Ffile_name_directory):
8673         * fileio.c (Ffile_name_nondirectory):
8674         * fileio.c (Ffile_name_as_directory):
8675         * fileio.c (Fdirectory_file_name):
8676         * fileio.c (Ffile_truename):
8677         * fileio.c (Fsubstitute_in_file_name):
8678         * fileio.c (Ffile_modes):
8679         * fileio.c (Fset_file_modes):
8680         * fileio.c (Fset_default_file_modes):
8681         * fileio.c (Fverify_visited_file_modtime):
8682         * floatfns.c (Facos):
8683         * floatfns.c (Fasin):
8684         * floatfns.c (Fatan):
8685         * floatfns.c (Fcos):
8686         * floatfns.c (Fsin):
8687         * floatfns.c (Ftan):
8688         * floatfns.c (Fbessel_j0):
8689         * floatfns.c (Fbessel_j1):
8690         * floatfns.c (Fbessel_jn):
8691         * floatfns.c (Fbessel_y0):
8692         * floatfns.c (Fbessel_y1):
8693         * floatfns.c (Fbessel_yn):
8694         * floatfns.c (Ferf):
8695         * floatfns.c (Ferfc):
8696         * floatfns.c (Flog_gamma):
8697         * floatfns.c (Fexp):
8698         * floatfns.c (Fexpt):
8699         * floatfns.c (Flog):
8700         * floatfns.c (Flog10):
8701         * floatfns.c (Fsqrt):
8702         * floatfns.c (Fcube_root):
8703         * floatfns.c (Facosh):
8704         * floatfns.c (Fasinh):
8705         * floatfns.c (Fatanh):
8706         * floatfns.c (Fcosh):
8707         * floatfns.c (Fsinh):
8708         * floatfns.c (Ftanh):
8709         * floatfns.c (Fabs):
8710         * floatfns.c (Ffloat):
8711         * floatfns.c (Flogb):
8712         * floatfns.c (Fceiling):
8713         * floatfns.c (Ffloor):
8714         * floatfns.c (Fround):
8715         * floatfns.c (Ftruncate):
8716         * floatfns.c (Ffceiling):
8717         * floatfns.c (Fffloor):
8718         * floatfns.c (Ffround):
8719         * floatfns.c (Fftruncate):
8720         * fns.c (Fstring_equal):
8721         * fns.c (Fstring_lessp):
8722         * fns.c (concat2):
8723         * fns.c (concat3):
8724         * fns.c (vconcat2):
8725         * fns.c (vconcat3):
8726         * fns.c (Fsubstring):
8727         * fns.c (Fassoc):
8728         * fns.c (Fold_assoc):
8729         * fns.c (assoc_no_quit):
8730         * fns.c (Fassq):
8731         * fns.c (Fold_assq):
8732         * fns.c (assq_no_quit):
8733         * fns.c (Frassoc):
8734         * fns.c (Fold_rassoc):
8735         * fns.c (Frassq):
8736         * fns.c (Fold_rassq):
8737         * fns.c (rassq_no_quit):
8738         * fns.c (Fremassoc):
8739         * fns.c (remassoc_no_quit):
8740         * fns.c (Fremassq):
8741         * fns.c (remassq_no_quit):
8742         * fns.c (Fremrassoc):
8743         * fns.c (Fremrassq):
8744         * fns.c (remrassq_no_quit):
8745         * fns.c (Fsort):
8746         * fns.c (Fplist_get):
8747         * fns.c (Fplist_put):
8748         * fns.c (Fplist_remprop):
8749         * fns.c (Fplist_member):
8750         * fns.c (Flax_plist_get):
8751         * fns.c (Flax_plist_put):
8752         * fns.c (Flax_plist_remprop):
8753         * fns.c (Flax_plist_member):
8754         * fns.c (Fequal):
8755         * fns.c (Fold_equal):
8756         * fns.c (Frequire):
8757         * fns.c (Fbase64_encode_region):
8758         * fns.c (Fbase64_encode_string):
8759         * fns.c (Fbase64_decode_region):
8760         * frame.c:
8761         * frame.c (frame_matches_frame_spec):
8762         * frame.c (device_matches_device_spec):
8763         * frame.c (next_frame):
8764         * frame.c (previous_frame):
8765         * frame.c (Fnext_frame):
8766         * frame.c (Fprevious_frame):
8767         * frame.c (Fframe_property):
8768         * frame.c (Fset_frame_height):
8769         * frame.c (Fset_frame_size):
8770         * frame.h:
8771         * glyphs.c:
8772         * glyphs.c (if):
8773         * glyphs.c (decode_error_behavior_flag):
8774         * glyphs.c (Fmake_image_instance):
8775         * indent.c (Findent_to):
8776         * intl.c (Fignore_defer_gettext):
8777         * keymap.c (Fkeymapp):
8778         * keymap.c (Flookup_key):
8779         * lread.c:
8780         * lread.c (Fload_internal):
8781         * lread.c (Feval_buffer):
8782         * lread.c (Feval_region):
8783         * macros.c (Fexecute_kbd_macro):
8784         * marker.c (set_marker_internal):
8785         * marker.c (Fset_marker):
8786         * marker.c (set_marker_restricted):
8787         * marker.c (Fcopy_marker):
8788         * marker.c (noseeum_copy_marker):
8789         * menubar.c:
8790         * menubar.c (Fpopup_menu):
8791         * minibuf.c:
8792         * mule-charset.c (Fcharset_name):
8793         * mule-charset.c (Fchar_charset):
8794         * mule-charset.c (Fchar_octet):
8795         * mule-charset.c (Fsplit_char):
8796         * mule-wnnfns.c (Fwnn_open):
8797         * mule-wnnfns.c (Fwnn_dict_comment):
8798         * mule-wnnfns.c (Fwnn_quit_henkan):
8799         * mule-wnnfns.c (Fwnn_word_toroku):
8800         * mule-wnnfns.c (Fwnn_word_sakujo):
8801         * mule-wnnfns.c (Fwnn_word_use):
8802         * mule-wnnfns.c (Fwnn_hindo_set):
8803         * objects.c:
8804         * objects.c (Fmake_color_instance):
8805         * objects.c (Fmake_font_instance):
8806         * print.c (Fwrite_char):
8807         * process.c:
8808         * process.c (mark_process):
8809         * process.c (print_process):
8810         * process.c (get_process_from_usid):
8811         * process.c (Fprocessp):
8812         * process.c (Fprocess_live_p):
8813         * process.c (Fget_process):
8814         * process.c (Fget_buffer_process):
8815         * process.c (get_process):
8816         * process.c (Fprocess_id):
8817         * process.c (Fprocess_name):
8818         * process.c (Fprocess_command):
8819         * process.c (init_process_io_handles):
8820         * process.c (start_process_unwind):
8821         * process.c (Fstart_process_internal):
8822         * process.c (Fopen_multicast_group_internal):
8823         * process.c (Fset_process_window_size):
8824         * process.c (read_process_output):
8825         * process.c (send_process):
8826         * process.c (Fprocess_tty_name):
8827         * process.c (Fset_process_buffer):
8828         * process.c (Fprocess_buffer):
8829         * process.c (Fprocess_mark):
8830         * process.c (set_process_filter):
8831         * process.c (Fset_process_filter):
8832         * process.c (Fprocess_filter):
8833         * process.c (Fprocess_send_region):
8834         * process.c (Fprocess_send_string):
8835         * process.c (exec_sentinel):
8836         * process.c (Fset_process_sentinel):
8837         * process.c (Fprocess_sentinel):
8838         * process.c (status_notify):
8839         * process.c (Fprocess_status):
8840         * process.c (Fprocess_exit_status):
8841         * process.c (process_send_signal):
8842         * process.c (Fprocess_send_eof):
8843         * process.c (deactivate_process):
8844         * process.c (remove_process):
8845         * process.c (Fdelete_process):
8846         * process.c (kill_buffer_processes):
8847         * process.c (Fprocess_kill_without_query):
8848         * process.c (Fprocess_kill_without_query_p):
8849         * rangetab.c:
8850         * rangetab.c (Fget_range_table):
8851         * rangetab.c (Fput_range_table):
8852         * rangetab.c (Fremove_range_table):
8853         * rangetab.c (Fclear_range_table):
8854         * search.c:
8855         * search.c (Fskip_chars_forward):
8856         * search.c (Fskip_chars_backward):
8857         * search.c (Fskip_syntax_forward):
8858         * search.c (Fskip_syntax_backward):
8859         * search.c (search_command):
8860         * search.c (Freplace_match):
8861         * search.c (Fregexp_quote):
8862         * select.c (Fown_selection_internal):
8863         * select.c (Fselection_owner_p):
8864         * select.c (Fselection_exists_p):
8865         * select.c (Fget_selection_internal):
8866         * specifier.c:
8867         * symbols.c:
8868         * symbols.c (Fintern):
8869         * symbols.c (Fintern_soft):
8870         * symbols.c (Funintern):
8871         * symbols.c (Fapropos_internal):
8872         * symbols.c (Fset_default):
8873         * syntax.c:
8874         * syntax.c (Fsyntax_table_p):
8875         * syntax.c (Fcopy_syntax_table):
8876         * syntax.c (Fset_syntax_table):
8877         * syntax.c (Fchar_syntax):
8878         * syntax.c (syntax_match):
8879         * syntax.c (Fmatching_paren):
8880         * syntax.c (Fforward_word):
8881         * syntax.c (scan_lists):
8882         * syntax.c (Fscan_lists):
8883         * syntax.c (Fscan_sexps):
8884         * syntax.c (Fparse_partial_sexp):
8885         * toolbar.c (Fcheck_toolbar_button_syntax):
8886         * tooltalk.doc:
8887         * window.c:
8888         * window.c (Fwindowp):
8889         * window.c (Fwindow_live_p):
8890         * window.c (Fwindow_point):
8891         * window.c (Fdelete_window):
8892         * window.c (Fnext_window):
8893         * window.c (Fprevious_window):
8894         * window.c (Fother_window):
8895         * window.c (window_loop):
8896         * window.c (Fget_lru_window):
8897         * window.c (Fsplit_window):
8898         * window.c (Fenlarge_window):
8899         * window.c (Fenlarge_window_pixels):
8900         * window.c (Fshrink_window):
8901         * window.c (Fshrink_window_pixels):
8902         * window.c (change_window_height):
8903         * window.c (Fwindow_configuration_p):
8904         * window.c (Fcurrent_window_configuration):
8905         * window.h:
8906         * casefiddle.c (casify_object):
8907         * casefiddle.c (Fupcase):
8908         * casefiddle.c (Fdowncase):
8909         * casefiddle.c (Fcapitalize):
8910         * casefiddle.c (Fupcase_initials):
8911         * casefiddle.c (casify_region_internal):
8912         * casefiddle.c (casify_region):
8913         * casefiddle.c (Fupcase_region):
8914         * casefiddle.c (Fdowncase_region):
8915         * casefiddle.c (Fcapitalize_region):
8916         * casefiddle.c (Fupcase_initials_region):
8917         * casefiddle.c (Fupcase_word):
8918         * casefiddle.c (Fdowncase_word):
8919         * casefiddle.c (Fcapitalize_word):
8920         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8921         Replace 0 with '\0' when working with bytes.
8922         Replace initial "(" with "\(" in docstrings.
8923
8924 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8925
8926         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8927
8928         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8929
8930 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8931
8932         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8933
8934 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8935
8936         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8937         correctly.
8938
8939 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8940
8941         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8942         (inhibit_auto_save_session): New variable.
8943         (vars_of_fileio): Declare and initialize them.
8944         * fileio.c (Fdo_auto_save): Don't create session file if
8945         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8946
8947 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8948
8949         * sgiplay.c (play_internal): C++ compilability.
8950         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8951         * callproc.c (Fold_call_process_internal):
8952         Remove unused vars `env', `first'.
8953         * scrollbar.c (update_scrollbar_instance):
8954         #### unused var `current_window'.
8955         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8956         etc. within #ifdef NOT_YET.
8957         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8958         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8959         * specifier.c (specifier_instance):
8960         #### unused var `tag'.
8961         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8962
8963 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8964
8965         * fns.c (Fbutlast):
8966         * fns.c (list_sort):
8967         * fns.c (Ffillarray):
8968         * fns.c (bytecode_nconc2):
8969         * fns.c (Fnconc):
8970         * fns.c (mapcar1):
8971         * fns.c (Fmapconcat):
8972         Be pedantically 64-bit correct.  For the time when someone will
8973         want to have a list with length > 2**32.
8974
8975         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8976         Work around MIPSpro compiler bug.
8977
8978         * process-unix.c (unix_kill_child_process): Add snarky comment.
8979         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8980
8981         * config.h.in: Oops, _getpt ==> _getpty
8982
8983 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8984
8985         * config.h.in:
8986         * regex.c:
8987         Use void*, not char*, as return type of alloca().
8988
8989         * alloc.c (free_marker): Side effect inside assert expression!
8990
8991 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8992
8993         * mule-charset.c (Fset_charset_ccl_program): To check
8994         if the given ccl program is valid, use setup_ccl_program()
8995         instead of CHECK_VECTOR().
8996         (Fmake_charset): Likewise.
8997
8998 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8999
9000         * faces.c (get_extent_fragment_face_cache_index):
9001         Fix cachel.merged_faces memory leak.
9002
9003 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9004
9005         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9006         Reset MSB of octets obtained by DECODE_SJIS
9007         because of the incompatibility with Emacs.
9008         (ccl_driver)<CCL_ENCODE_SJIS>:
9009         Set MSB of octets before passing them to
9010         ENCODE_SJIS because of the incompatibility
9011         with Emacs.
9012
9013 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9014
9015         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9016         (DECLARE_LRECORD): Undo the last change.
9017         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9018
9019 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9020
9021         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9022         the implementation to lrecord_implementations_table.
9023
9024 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9025
9026         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9027         initial value of `lrecord_type_##c_name' and
9028         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9029         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9030         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9031         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9032         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9033
9034 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9035
9036         * miscplay.c (sndcnv8S_2mono):
9037         (sndcnv2monounsigned):
9038         (sndcnvULaw_2linear):
9039         (sndcnv16swap):
9040         Remove implementation-defined behavior.
9041
9042 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9043
9044         * input-method-xlib.c: Warning suppression.
9045
9046 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9047
9048         * mule-ccl.c: Sync up with Emacs 21.0.90.
9049         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9050         Do nothing.
9051         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9052         Likewise.
9053         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9054         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9055         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9056         leading char belongs to official 2-dimensional charset.
9057         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9058         write the given character as is.  Otherwise,
9059         if it is a multibyte char, convert it by
9060         non_ascii_set_charptr_emchar, then write it.
9061         (CCL_WRITE_STRING): Likewise.
9062         (ccl_get_compiled_code): New function.
9063         (setup_ccl_program): When ccl_prog is invalid,
9064         return -1.
9065         (Fregister_code_conversion_map): New function.
9066         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9067
9068         * mule-ccl.h: Sync up with Emacs 21.0.90.
9069         (Fregister_ccl_program): export it.
9070
9071         * redisplay-msw.c (separate_textual_runs):
9072         If ccl program is not valid, don't do ccl conversion.
9073
9074         * redisplay-x.c (separate_textual_runs): Ditto.
9075
9076         * file-coding.c (Fmake_coding_system):
9077         When type is ccl and value is vector, register it
9078         with a proper symbol.  And checks whether the
9079         given ccl program is valid.
9080         (mule_decode): When calling ccl_driver, if src indicates
9081         NULL pointer, set an empty string instead.
9082         (mule_encode): Likewise.
9083
9084 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9085
9086         The following large batch of changes gets us back to a state of
9087         C++ compilability.  Extbyte is now a char, which means that
9088         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9089
9090         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9091
9092         * sound.c (Fplay_sound): Type correctness.
9093
9094         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9095         (x_get_window_property): Type correctness.
9096         (receive_incremental_selection): unsigned char ==> Extbyte
9097         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9098         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9099         (Fx_store_cutbuffer_internal): Type correctness.
9100
9101         * process-unix.c (try_to_initialize_subtty): Type correctness.
9102
9103         * objects-x.c (x_print_color_instance): Type correctness.
9104         (x_print_font_instance): Type correctness.
9105         (x_list_fonts): SExtbyte ==> Extbyte.
9106         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9107         (x_find_charset_font): SExtbyte ==> Extbyte.
9108         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9109         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9110         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9111         Use bufbyte_strcmp.
9112
9113         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9114         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9115         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9116         (BYTE_C0_P): Use bit ops for char-signedness safety.
9117         (BYTE_C1_P): Use bit ops for char-signedness safety.
9118         (CHARSET_BY_LEADING_BYTE):
9119         (CHARSET_BY_ATTRIBUTES):
9120         Always use inline function.
9121         Use type_checking_assert.
9122         Hide chlook.
9123
9124         * mule-charset.c (non_ascii_charptr_copy_char):
9125         Modify to work with both ASCII and non-ASCII characters.
9126         Improve docs and variable names.
9127         Replace over-clever fall-through switch with a simple loop.
9128         (Lstream_get_emchar_1):
9129         Replace over-clever fall-through switch with a simple loop.
9130
9131         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9132         Warning suppression.
9133
9134         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9135         the return value of Lstream_getc, which could be EOF as well.
9136
9137         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9138
9139         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9140         APIs can be used on Extbytes without casts.  Risky!
9141         (SExtbyte): Remove.
9142         (UExtbyte): Remove.
9143
9144         * input-method-xlib.c (XIM_init_device):
9145         Use Xlib.h instead of IntrinsicP.h.
9146         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9147         which will break in X11R7.
9148         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9149         to call XRegisterIMInstantiateCallback with correct types.
9150
9151         * gui-x.c (button_item_to_widget_value): Type correctness.
9152
9153         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9154
9155         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9156         (xbm_instantiate_1): Type correctness.
9157         (BUILD_GLYPH_INST):  Type correctness.
9158
9159         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9160
9161         * file-coding.c:
9162         (decode_coding_sjis):
9163         (decode_coding_big5):
9164         (decode_coding_ucs4):
9165         (decode_coding_utf8):
9166         (decode_coding_iso2022):
9167         (decode_coding_no_conversion):
9168         Make all decoding functions take an Extbyte * arg.
9169         (encode_coding_sjis):
9170         (encode_coding_big5):
9171         (encode_coding_ucs4):
9172         (encode_coding_utf8):
9173         (encode_coding_iso2022):
9174         (encode_coding_no_conversion):
9175         Make all encoding functions take a Bufbyte * arg.
9176         Use size_t instead of unsigned int for memory sizes.
9177         Only cast to unsigned char whenever dereferencing Extbyte *.
9178
9179         * doc.c (unparesseuxify_doc_string): Type correctness.
9180
9181         * console-x.c (split_up_display_spec):
9182         Rewrite without using details of internal string representation.
9183         (x_semi_canonicalize_device_connection): Type correctness.
9184
9185         * config.h.in:
9186         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9187         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9188         (HAVE_XFREE386): Removed.
9189
9190         * buffer.h (DEC_CHARPTR): `const' correctness.
9191         (bufbyte_strcmp): New.
9192         (bufbyte_memcmp): New.
9193
9194         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9195
9196         * buffer.h (XCHAR_OR_CHAR_INT):
9197         Always use inline function.
9198         Remove redundant type checking assert() - XINT will abort quite nicely.
9199
9200 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9201
9202         * search.c (Freplace_match): Set newtext to an empty string.
9203
9204 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9205
9206         * s/decosf1-3.h: Remove #include of stropts.h
9207         * s/ptx.h: Remove #include of stropts.h
9208         * s/usg5-4.h: Remove #include of stropts.h
9209         * sysproc.h:
9210         * config.h.in:
9211         Use stropts.h, not sys/stropts.h.
9212         Use strtio.h, not sys/strtio.h.
9213
9214 2000-10-04  Martin Buchholz <martin@xemacs.org>
9215
9216         * XEmacs 21.2.36 is released.
9217
9218 2000-09-21  Andy Piper  <andy@xemacs.org>
9219
9220         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9221         changes still involve copying the widget tree.
9222         (update_widget_face): make sure a change is register in the widget
9223         tree. Call update_tab_widget_face appropriately.
9224         (update_tab_widget_face): ditto.
9225         (x_tab_control_redisplay): make sure non-structural changes still
9226         involve copying the widget tree.
9227
9228 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9229
9230         * lread.c (locate_file): Check the path element is non-nil.
9231
9232 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9233
9234         * lisp.h: Warning suppression for SCO compilers.
9235
9236         * redisplay-tty.c (reset_tty_modes): Fix crash.
9237         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9238
9239 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9240
9241         Big signal/process handling overhaul.  Bugs fixed:
9242         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9243         M-x comint-kill-subjob should work for both values nil and t of
9244         process-connection-type. It was broken on most platforms.
9245         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9246         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9247         * process-unix.c: Signal/Process handling overhaul.
9248         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9249         (allocate_pty): Use all available modern methods of allocating
9250         ptys, falling back to old style BSD allocation as a last resort.
9251         Use allegedly more secure Unix98 pty allocation by default.
9252         (allocate_pty_the_old_fashioned_way): New. the last resort.
9253         (unix_create_process): Push ptem, ldterm, ttcompat where
9254         available.  Autoconfiscate.
9255         (try_to_initialize_subtty): New.
9256         (unix_kill_child_process): Proper signal handling for ptys on most
9257         platforms, using special knowledge of AIX, BSD, etc...
9258         (unix_create_process): Always disconnect_controlling_terminal() for
9259         subprocesses, whether using ptys or not.
9260         * process.h: Remove old getpt-dependent PTY code.
9261         * process.c (Fprocess_send_signal): New, obvious generic function.
9262         (decode_signal): New.
9263         (Finterrupt_process):
9264         (Fkill_process):
9265         (Fquit_process):
9266         (Fstop_process):
9267         (Fcontinue_process):
9268         (Fsignal_process): Use decode_signal.
9269         (process_send_signal):
9270         Many docstring corrections.
9271         Allow any signal to be sent to a process object.
9272         * config.h.in: Add symbols for big signal/process overhaul.
9273         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9274         * sysproc.h: Include process-related headers, where available:
9275         sys/stropts.h sys/strtio.h pty.h libutil.h
9276         * s/irix4-0.h:
9277         * s/irix5-0.h:
9278         * s/cygwin32.h:
9279         * s/gnu.h:
9280         * s/linux.h:
9281         * s/hpux.h:
9282         * s/aix3-1.h:
9283         Remove old S&M pty stuff.
9284         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9285         * systty.h: Simplify cpp hackery, improve comments.
9286         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9287
9288         * editfns.c (Fformat_time_string):
9289         Be a little more paranoid with the return value of ctime.
9290
9291         * fileio.c (check_executable):
9292         (check_writable):
9293         Use symbolic constants X_OK, W_OK.
9294
9295         * console-x.c (split_up_display_spec): Fix a warning.
9296
9297 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9298
9299         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9300         * ntproc.c (sys_spawnve): make_string ==> build_string
9301         Small clarity improvements.
9302
9303 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9304
9305         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9306
9307         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9308
9309         * config.h.in (HAVE_STRCASECMP): Remove.
9310
9311 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9312
9313         * redisplay-output.c (redisplay_output_pixmap):
9314         Cleaner and possibly more 64-bit correct code.
9315
9316 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9317
9318         * dumper.c (pdump_load_finish): move restoration of
9319         `noninteractive1' to emacs.c (main_1).
9320         * emacs.c (main_1): protect LISP-visible command-line flags
9321         from pdump_load().
9322
9323 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9324
9325         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9326         DUMP_TARGET instead of literal program names.
9327
9328 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9329
9330         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9331
9332 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9333
9334         * *: Spelling mega-patch
9335
9336 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9337
9338         * fns.c (bad_bad_turtle):
9339         Delete "Eek!" comment, since we fixed the bug to which it refers.
9340
9341 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9342
9343         * alloca.c: Replace REGISTER with register.
9344
9345 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9346
9347         * file-coding.c (ucs_to_char): Use countof.
9348
9349 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9350
9351         * file-coding.c: (ucs_to_char):
9352         (complex_vars_of_file_coding):
9353         Use countof instead of sizeof.
9354         Use CHECK_NATNUM instead of CHECK_INT.
9355
9356         * sysdep.c (strcasecmp): Remove.
9357         * device-x.c (ascii_strcasecmp): New.
9358         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9359         Avoid using non-standard non-portable strcasecmp.
9360
9361 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9362
9363         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9364         * font-lock.c: remove reference to emacsfns.h.
9365         * search.c: small doc improvement.
9366         * event-Xt.c: correct file names in comments.
9367         * console-x.h Correct file names in comments.
9368         * frame.c: Correct file names in comments.
9369         * event-stream.c: remove Energize from comments.
9370
9371 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9372
9373         * symeval.h (DEFERROR_STANDARD):
9374         (DEFERROR):
9375         (DEFSYMBOL):
9376         (DEFSYMBOL_NO_DUMP):
9377         (DEFSYMBOL_MULTIWORD_PREDICATE):
9378         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9379         (DEFKEYWORD):
9380         The construct &##name is not sensible C.
9381         Fixes compilation errors with Unixware native compiler.
9382
9383 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9384
9385         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9386         (next_frame_internal): Removed.  We now just have next_frame.
9387         (next_frame):
9388         Write a simpler and cleaner one-pass algorithm.
9389         Remove called_from_delete_device arg and #ifdefed-out code.
9390         (previous_frame):
9391         Renamed from prev_frame.  Update callers.
9392         Cleaned up to have an analogous implementation to next_frame.
9393         (other_visible_frames_internal): Remove the
9394         called_from_delete_device bogus arg, and hence, remove this
9395         function.  Just use other_visible_frames().
9396
9397         * window.c (Fnext_window):
9398         Prettify docstring.
9399         Since next_frame() is guaranteed to return a frame, remove check
9400         for nil inserted in previous patch.
9401         (Fprevious_window):
9402         Prettify docstring.
9403         Make code look more like Fnext_window.
9404         (window_loop):
9405         Respect the `console' arg when iterating through windows.
9406         Fixes bug: (get-buffer-window buffer t device) not respecting
9407         the `device' arg.
9408         This function needs more work, as others have pointed out.
9409
9410         * frame.h: Rename prev_frame to previous_frame.
9411         device_matches_console_spec no longer takes a `frame' arg.
9412
9413         * s/gnu.h:
9414         * s/linux.h:
9415         * s/hpux.h:
9416         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9417         From "Golubev I. N." <gin@mo.msk.ru>.
9418
9419         * make-src-depend: Fix typo.
9420
9421 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9422
9423         * window.c (Fnext_window):
9424         next_frame() might return nil, not a frame.
9425         Fixes this crash:
9426         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9427
9428         * frame.c (next_frame_internal):
9429         We've passed a frame if we've passed its device.
9430         Fixes this crash:
9431         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9432 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9433
9434 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9435
9436         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9437         Allow option to suppress accelerators in menu/dialog items.
9438         (populate_or_checksum_helper): Pass dialog title through above.
9439
9440 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9441
9442         * event-msw.c (mswindows_key_to_emacs_keysym):
9443         Add "pause" key, fix "menu" key.
9444
9445 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9446
9447         * eval.c (reinit_vars_of_eval):
9448         Increase max_lisp_eval_depth to 1000,
9449         required for thai-xtis.el to byte-compile under some circumstances.
9450
9451 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9452
9453         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9454         From Kenichi Handa.
9455
9456 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9457
9458         * make-src-depend: Make the generated Makefiles smaller.
9459
9460         * s/hpux.h (SETUP_SLAVE_PTY):
9461         Provide a %d in the format string for the errno argument.
9462
9463         * editfns.c (Ftemp_directory):
9464         Warning fix.
9465         Avoid buffer overrun on very long file name.
9466
9467         * input-method-xlib.c (XIM_init_device):
9468         6th parameter of XRegisterIMInstantiateCallback has different
9469         pointer types on different OSes, so simply cast to (void *).
9470
9471         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9472
9473         * sysdll.c (dll_open):
9474         shl_load will hang hard if passed a NULL filename.
9475         Simply return NULL for compatibility with dlopen.
9476         * sysdll.c: Conform to XEmacs coding standards.
9477
9478         * sysdep.c (get_pty_max_bytes):
9479         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9480
9481 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9482
9483         * tooltalk.c: Add #include <syssignal.h>
9484
9485 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9486
9487         * s/hpux.h: Don't use undefined function sigunblock().
9488
9489 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9490
9491         * config.h.in: Add HAVE_BALLOON_HELP.
9492         * emacs.c: Use HAVE_BALLOON_HELP.
9493         * Makefile.in.in (x_objs):
9494         Make Balloon Help conditional on finding shape.h.
9495
9496 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9497
9498         * syntax.c (regex_emacs_buffer_p): New variable.
9499         * syntax.h (regex_emacs_buffer_p): extern.
9500         * search.c (looking_at_1):
9501         (string_match_1):
9502         (fast_string_match):
9503         (search_buffer): Set regex_emacs_buffer_p.
9504         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9505         when before_dot, at_dot, after_dot.
9506
9507 2000-08-23  Andy Piper  <andy@xemacs.org>
9508
9509         * gui-x.c (popup_selection_callback): Only set action_occurred
9510         when we really have an image instance.
9511         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9512
9513 2000-08-23  Andy Piper  <andy@xemacs.org>
9514
9515         * gui-msw.c (mswindows_handle_gui_wm_command): set
9516         action_occurred.
9517         * gui-x.c (popup_selection_callback): ditto.
9518
9519         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9520         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9521         (struct Lisp_Image_Instance): add action_occurred flag.
9522
9523         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9524         (image_instance_changed): ditto.
9525         (reset_frame_subwindow_instance_cache): only unmap windows - do
9526         not remove them from the cache also.
9527
9528         * glyphs-widget.c (tab_control_update): better debug.
9529         (progress_gauge_update): ditto.
9530         (layout_update): ditto.
9531         (layout_instantiate): ditto.
9532         (tab_control_order_only_changed): cope with null pending items.
9533
9534         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9535         debug. Force selection of an item when an action occurred. Cope
9536         with null pending_items.
9537         (mswindows_progress_gauge_redisplay): better debug.
9538         * glyphs-x.c (x_tab_control_redisplay): ditto.
9539
9540         * redisplay.c (redisplay_frame): reset the frame cache if the
9541         frame is garbaged.
9542
9543         * window.c (Fset_window_configuration): potentially re-enable
9544         frame cache reset.
9545         (window_unmap_subwindows): need to finalize instances here since
9546         it is only used in mark_window_as_deleted.
9547
9548 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9549
9550         * nas.c (SndOpenDataForReading):
9551         nas.c (WaveOpenDataForReading):
9552         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9553         Somehow escaped from the 2000-08-14 patch.
9554
9555 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9556
9557         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9558         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9559
9560 2000-08-21  Andy Piper  <andy@xemacs.org>
9561
9562         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9563         window if it is not already displayed.
9564
9565         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9566         it is not already displayed.
9567
9568         * window.c (Fset_window_configuration): don't reset the frame
9569         cache.
9570
9571         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9572         instances from the frame cache if we are actually finalizing them.
9573         (reset_frame_subwindow_instance_cache): reset frame cache only
9574         after unmapping everything.
9575         (map_subwindow): set displayed flag after mapping.
9576
9577 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9578
9579         * data.c (indirect_function):
9580         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9581
9582         * eval.c (function_argcount):
9583         Use original function when signaling errors.
9584
9585 2000-08-18  Andy Piper  <andy@xemacs.org>
9586
9587         * frame.c (delete_frame_internal): use new
9588         free_frame_subwindow_instances name.
9589
9590         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9591         (add_tab_item): make return type correct.
9592         (mswindows_tab_control_instantiate): assert index of tab.
9593         (mswindows_tab_control_redisplay): Re-code to use
9594         gui_item_equal_sans_selected and gui_item_list_find_selected.
9595
9596         * glyphs-widget.c (tab_control_update): Correct comment.
9597
9598         * window.c (window_unmap_subwindows): use new
9599         unmap_subwindow_instance_cache_mapper.
9600         (window_unmap_subwindows_cache_mapper): deleted.
9601         (Fset_window_configuration): comparisons should now be with
9602         EQ. Preserve the subwindow instance cache across configuration
9603         changes.
9604         (allocate_window): ditto.
9605         (make_dummy_parent): ditto.
9606
9607         * glyphs.c (free_frame_subwindow_instances): rename from
9608         free_frame_subwindow_instance_cache. finalize all instances rather
9609         than just those in the display cache.
9610         (finalize_all_subwindow_instances): walk windows unmapping and
9611         finalizing subwindows.
9612         (unmap_subwindow_instance_cache_mapper): moved from
9613         window.c. Allow finalization as well as unmapping.
9614
9615         * gui.c (gui_item_list_find_selected): new function.
9616
9617         * gui.h (gui_item_list_find_selected): declare.
9618
9619         * glyphs-x.c (x_tab_control_redisplay): pick tab
9620         explicitly. Re-code to use gui_item_equal_sans_selected and
9621         gui_item_list_find_selected.
9622
9623         * glyphs-x.h: add lwlib-utils.h
9624
9625         * buffer.c (Frecord_buffer): undo previous change.
9626
9627 2000-08-09  Vin Shelton  <acs@xemacs.org>
9628
9629         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9630         possible.  Create temporary files more securely.  The patch was
9631         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9632         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9633         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9634         for details.
9635
9636 2000-08-07  Ben Wing  <ben@xemacs.org>
9637
9638         * getloadavg.c: remove duplicate (and windows-breaking)
9639         includes of fcntl.h and sys/file.h.
9640
9641         * nt.c: remove duplicate getloadavg() definition.
9642
9643         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9644         encodings.
9645
9646 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9647
9648         * eval.c (function_argcount): If function needs to be autoloaded
9649         actually use the loaded definition.
9650         GCPRO function.
9651
9652 2000-08-05  Ben Wing  <ben@xemacs.org>
9653
9654         * getloadavg.c: add prototype for getloadavg().  remove
9655         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9656         of the code).  remove duplicate header includes.
9657
9658         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9659
9660         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9661         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9662         useful load average.
9663
9664         * alloc.c (reinit_alloc_once_early): removed references to
9665         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9666         the lisp vars are the only things referencing the malloc_sbrk_*
9667         vars, and they were already if 0'd out.  these vars only exist
9668         in the older malloc.c, which is basically unused, and they're
9669         only for informational purposes.
9670
9671         * m\*.h: removed useless VIRT_ADDR_VARIES.
9672
9673         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9674
9675 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9676
9677         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9678         color if the image is a mono pixmap.
9679
9680 2000-07-30  Ben Wing  <ben@xemacs.org>
9681
9682         * Makefile.in.in (release):
9683         Remove stray @.
9684
9685         * buffer.c (directory_is_current_directory):
9686         * dired-msw.c (mswindows_get_files):
9687         * dired.c:
9688         * dired.c (Fdirectory_files):
9689         * dired.c (file_name_completion_stat):
9690         * dired.c (Ffile_attributes):
9691         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9692         preprocessor tricks, to avoid problems on some machines
9693         (e.g. SCO).
9694
9695         * callproc.c (egetenv): GC docs.
9696
9697         * console-msw.h:
9698         * console-msw.h (struct mswindows_dialog_id):
9699         * lrecord.h (lrecord_type):
9700         New object for use with MSW dialogs.
9701
9702         * console.h (struct console_methods):
9703         New enable/disable frame methods, for proper modal dialogs.
9704
9705         * device-msw.c (msprinter_default_printer): Fix to follow
9706         proper Mule conventions.
9707
9708         * device-msw.c:
9709         * device-msw.c (signal_open_printer_error):
9710         * device-msw.c (msprinter_init_device):
9711         * device-msw.c (ensure_not_printing):
9712         * device-msw.c (plist_get_margin):
9713         * device-msw.c (Fmsprinter_select_settings):
9714         * device-msw.c (finalize_devmode):
9715         * device-msw.c (Fmsprinter_settings_despecialize):
9716         * device-msw.c (signal_enum_priner_error):
9717         * extents.c (decode_extent):
9718         * extents.c (decode_map_extents_flags):
9719         * extents.c (decode_extent_at_flag):
9720         * extents.c (Fextent_at):
9721         * extents.c (Fextents_at):
9722         * extents.c (symbol_to_glyph_layout):
9723         [[[[2]]]] Use structured errors.
9724
9725         * dialog-msw.c:
9726         * dialog-msw.c (mswindows_is_dialog_msg):
9727         * dialog-msw.c (mark_mswindows_dialog_id):
9728         * dialog-msw.c (dialog_proc):
9729         * dialog-msw.c (handle_question_dialog_box):
9730         * dialog-msw.c (syms_of_dialog_mswindows):
9731         Define new object to clean up marking; use it as a dialog identifier.
9732         Call new delete-dialog-box-hook.
9733
9734         * dialog-x.c (dbox_selection_callback):
9735         * dialog-x.c (dbox_descriptor_to_widget_value):
9736         * dialog-x.c (x_make_dialog_box_internal):
9737         Call new delete-dialog-box-hook.
9738         Return an id.
9739
9740         * dialog.c:
9741         * dialog.c (syms_of_dialog):
9742         * dialog.c (vars_of_dialog):
9743         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9744
9745         * eval.c:
9746         * eval.c (signal_call_debugger):
9747         when noninteractive, output stack traces on the console instead
9748         of in a (never-seen) buffer.
9749
9750         * eval.c (signal_type_error):
9751         * eval.c (invalid_argument_2):
9752         * lisp.h:
9753         new funs for use w/structured errors.
9754
9755         * event-Xt.c:
9756         * event-Xt.c (x_to_emacs_keysym):
9757         * event-Xt.c (describe_event):
9758         * event-Xt.c (emacs_Xt_event_handler):
9759         * event-Xt.c (vars_of_event_Xt):
9760         * event-msw.c:
9761         * event-msw.c (mswindows_wnd_proc):
9762         * event-msw.c (vars_of_event_mswindows):
9763         rename {x,mswindows}-debug-events to debug-{}-events for
9764         consistency with other debug-foo variables.
9765
9766         * event-stream.c:
9767         document next-event more clearly.
9768
9769         * fileio.c (Ffile_name_directory):
9770         * fileio.c (Ffile_name_nondirectory):
9771         * fileio.c (Funhandled_file_name_directory):
9772         * fileio.c (file_name_as_directory):
9773         * fileio.c (Ffile_name_as_directory):
9774         * fileio.c (directory_file_name):
9775         * fileio.c (Fdirectory_file_name):
9776         * fileio.c (Fmake_temp_name):
9777         * fileio.c (Ffile_truename):
9778         * fileio.c (Fsubstitute_in_file_name):
9779         * fileio.c (expand_and_dir_to_file):
9780         * fileio.c (barf_or_query_if_file_exists):
9781         * fileio.c (check_executable):
9782         * fileio.c (Ffile_exists_p):
9783         * fileio.c (Ffile_writable_p):
9784         * fileio.c (Ffile_directory_p):
9785         * fileio.c (Ffile_regular_p):
9786         * fileio.c (Ffile_modes):
9787         * fileio.c (Ffile_newer_than_file_p):
9788         * fileio.c (Fverify_visited_file_modtime):
9789         * fileio.c (Fset_visited_file_modtime):
9790         * fileio.c (auto_save_1):
9791         (1). (2).
9792         fix up gcpro's.
9793
9794         * frame-msw.c:
9795         * frame-msw.c (mswindows_init_frame_1):
9796         * frame-msw.c (mswindows_enable_frame):
9797         * frame-msw.c (error_frame_unsizable):
9798         * frame-msw.c (msprinter_init_frame_1):
9799         * frame-msw.c (msprinter_init_frame_3):
9800         * frame-msw.c (console_type_create_frame_mswindows):
9801         (2).
9802         implement new enable/disable frame methods.
9803
9804         * frame-x.c:
9805         * frame-x.c (x_enable_frame):
9806         * frame-x.c (console_type_create_frame_x):
9807         implement new enable/disable frame methods.
9808
9809         * frame.c:
9810         * frame.c (Fdisable_frame):
9811         * frame.c (syms_of_frame):
9812         * frame.h (struct frame):
9813         implement new enable/disable frame methods/functions.
9814
9815         * general-slots.h:
9816         add initial-focus.
9817
9818         * glyphs-msw.c (mswindows_widget_instantiate):
9819         comment that initial-focus should be implemented.
9820
9821         * glyphs-widget.c:
9822         * glyphs-widget.c (check_valid_instantiator):
9823         * glyphs-widget.c (check_valid_orientation):
9824         * glyphs-widget.c (check_valid_tab_orientation):
9825         * glyphs-widget.c (check_valid_justification):
9826         * glyphs-widget.c (check_valid_border):
9827         * glyphs-widget.c (check_valid_callback):
9828         * glyphs-widget.c (check_valid_int_or_function):
9829         * glyphs-widget.c (check_valid_string_or_vector):
9830         * glyphs-widget.c (check_valid_item_list_1):
9831         * glyphs-widget.c (widget_validate):
9832         * glyphs-widget.c (combo_box_validate):
9833         * glyphs-widget.c (widget_instantiate):
9834         * glyphs-widget.c (syms_of_glyphs_widget):
9835         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9836         * glyphs-widget.c (image_instantiator_combo_box):
9837         * glyphs-widget.c (image_instantiator_scrollbar):
9838         * glyphs-widget.c (image_instantiator_tab_control):
9839         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9840         (2).
9841         support (unimplemented) keyword initial-focus.
9842         reindent long macros.
9843
9844         * glyphs-x.c (x_redisplay_widget):
9845         * glyphs-x.c (x_button_instantiate):
9846         * glyphs-x.c (x_button_redisplay):
9847         * glyphs-x.c (x_progress_gauge_instantiate):
9848         * glyphs-x.c (x_edit_field_instantiate):
9849         * glyphs-x.c (x_combo_box_instantiate):
9850         * glyphs-x.c (x_tab_control_instantiate):
9851         * glyphs-x.c (x_label_instantiate):
9852         * gui-x.c:
9853         * gui-x.c (button_item_to_widget_value):
9854         * gui-x.c (gui_items_to_widget_values_1):
9855         * gui-x.c (gui_item_children_to_widget_values):
9856         * gui-x.c (gui_items_to_widget_values):
9857         * gui-x.h:
9858         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9859         add new flag to gui-parsing routines to indicate whether
9860         accelerator specs should be supported.
9861
9862         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9863
9864         * glyphs.h (struct Lisp_Image_Instance):
9865         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9866         add initial-focus flag.
9867
9868         * gui.c:
9869         * gui.c (syms_of_gui):
9870         * gui.c (vars_of_gui):
9871         clean up menu-no-selection-hook.
9872
9873         * gui.h:
9874         support delete-dialog-box-hook.
9875
9876         * lread.c (Fload_internal):
9877         * lread.c (locate_file_in_directory_mapper):
9878         (1).
9879
9880         * lrecord.h:
9881         * lrecord.h (struct toolbar_button):
9882         * lrecord.h (syms_of_toolbar):
9883         document how to create a new object.
9884
9885         * menubar-msw.c (mswindows_char_is_accelerator):
9886         may be called on frames w/o menus.
9887
9888         * menubar.c (vars_of_menubar):
9889         clean up :filter docs.
9890
9891         * nt.c (readdir):
9892         * ntproc.c:
9893         (1).
9894
9895         * process-nt.c:
9896         * process-nt.c (validate_signal_number):
9897         * process-nt.c (signal_cannot_launch):
9898         * process-nt.c (nt_create_process):
9899         * process-nt.c (nt_send_process):
9900         * process-nt.c (nt_kill_child_process):
9901         * process-nt.c (nt_open_network_stream):
9902         * process-nt.c (syms_of_process_nt):
9903         (2).
9904         delete quote-handling.  call new lisp code that does it better.
9905
9906         * process-unix.c (connect_to_file_descriptor):
9907         * process-unix.c (allocate_pty):
9908         * process-unix.c (unix_send_process):
9909         * process-unix.c (unix_kill_child_process):
9910         * process-unix.c (unix_open_network_stream):
9911         * process-unix.c (unix_open_multicast_group):
9912         (1). (2).
9913
9914         * process.c:
9915         * process.c (Fstart_process_internal):
9916         (2).  need to canonicalize process path even if absolute.
9917
9918         * select-msw.c (symbol_to_ms_cf):
9919         * select-msw.c (ms_cf_to_symbol):
9920         * select-msw.c (cf_is_autofreed):
9921         * select-msw.c (mswindows_destroy_selection):
9922         * select.c:
9923         * select.c (syms_of_select):
9924         * select.h:
9925         support dibv5, fix bugs. (from Mike Alexander)
9926
9927         * select.c (Fget_selection_internal):
9928         * select.c (select_convert_out):
9929
9930         * sysdep.c:
9931         * sysdep.c (xemacs_stat):
9932         renamed.
9933
9934         * sysdep.c (mkdir):
9935         * sysdep.c (rmdir):
9936         but keep original stat() here because we provide encapsulation
9937         around these funs.
9938
9939         * sysfile.h:
9940         * sysfile.h (fstat):
9941         remove stat garbage.
9942
9943         * syswindows.h:
9944         fix X/MSW conflict.
9945         don't include tchar.h.  it's inappropriate because it makes
9946         compile-time distinctions when we want runtime distinctions.
9947         (we provide our own tchar replacements)
9948
9949         * toolbar.c:
9950         use default object printer for toolbar-button.
9951
9952         * unexcw.c:
9953         make sure we don't encapsulate.
9954
9955         * window.c (vars_of_window):
9956         emphasize that temp-buffer-show-hook is obsolete.
9957
9958 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9959
9960         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9961         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9962
9963         * events.c (Fevent_timestamp_lessp):
9964         Not 64-bit clean.  Use EMACS_INT, not int.
9965
9966 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9967
9968         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9969         unsigned int and changed the last enum to
9970         lrecord_type_last_built_in_type.
9971         (lrecord_implementations_table): changed prototype to know how
9972         long the array is supposed to be.
9973         (lrecord_type_count): new unsigned int to keep track of the
9974         current number of lisp lrecord types.
9975         (DEFINE_EXTERNAL_LRECORD):
9976         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9977         dynamic-modules to declare new lisp types. They are the same
9978         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9979         int for each new type, and increment lrecord_type_count by 1.
9980
9981         * alloc.c (lrecord_implementations_table): Changed to reference
9982         lrecord_type_last_built_in_type for the size of the array.
9983         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9984
9985 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9986
9987         * glyphs.h (check_valid_item_list): Renamed from
9988         check_valid_item_list_1.
9989
9990 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9991
9992         * select.c (Qselect_coerce): New.
9993         * select.c (Vselection_coercion_alist): New.
9994         * select.c (syms_of_select): Declare.
9995         * select.c (get-selection-internal): Use it.
9996         Use the new select-coerce functionality.
9997
9998         * select.c (select_coerce): New.
9999         * select.h (select_coerce): Declare.
10000         New function to coerce one type of data into another.
10001
10002 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10003
10004         * callproc.c (Fcall_process_internal):
10005         (Fcall_process_internal):
10006         * process-unix.c (unix_create_process):
10007         Save and restore the value of errno, so that error messages are accurate.
10008
10009 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10010
10011         * elhash.c (print_hash_table):
10012         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10013         Prettify docstrings and indentation.
10014
10015 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10016
10017         * window.c (Fwindow_pixel_edges): Subtract frame border and
10018         gutter size.
10019
10020 2000-07-31  Andy Piper  <andy@xemacs.org>
10021
10022         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10023         will acknowledge the change.
10024
10025         * glyphs.h: declare tab_control_order_only_changed.
10026
10027         * glyphs-x.c (x_tab_control_redisplay): use
10028         tab_control_order_only_changed.
10029
10030         * glyphs-widget.c (tab_control_order_only_changed): new function.
10031
10032         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10033         tab_control_order_only_changed.
10034
10035         * gui.c (gui_item_equal_sans_selected): new function.
10036         (gui_item_equal): use it.
10037
10038         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10039         :properties in favor of :items..
10040
10041         * glyphs-widget.c (check_valid_item_list): rename from
10042         check_valid_item_list_1.
10043         (check_valid_item_list_1): renamed.
10044         (combo_box_validate): deprecate :properties in favor of :items.
10045         (widget_instantiate): ditto.
10046         (tab_control_update): ditto.
10047         (image_instantiator_combo_box): ditto.
10048         (image_instantiator_tree_view): ditto.
10049         (image_instantiator_tab_control): ditto.
10050         (layout_post_instantiate): remove dead code.
10051
10052         * print.c (debug_print_no_newline): only write to debugger if in
10053         WIN32_NATIVE.
10054
10055         * elhash.c (Fmake_hash_table): update doc string.
10056
10057         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10058         messages whilst in GC. This at least stops XEmacs crashing but has
10059         the potential for wierd behaviour.
10060
10061 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10062
10063         * config.h.in:
10064         Make existence of s&m files optional.
10065
10066         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10067         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10068         * s/gnu.h: Remove HAVE_GETLOADAVG.
10069         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10070         * s/sol2.h: Remove HAVE_GETLOADAVG.
10071         * lisp.h: Remove getloadavg() declaration.
10072         * fns.c:
10073         Include <sys/loadavg.h> if available.
10074         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10075         * config.h.in:  Group together getloadavg()-related macros.
10076         Use only configure-time tests to detect getloadavg().
10077
10078 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10079
10080         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10081
10082 2000-07-25  Andy Piper  <andy@xemacs.org>
10083
10084         * syswindows.h: add tchar.h for native builds.
10085
10086         * frame.c (syms_of_frame): remove set-glyph-image.
10087
10088         * general-slots.h: add Qset_glyph_image.
10089
10090         * glyphs-widget.c (layout_update): add domain arg to
10091         set-glyph-image.
10092         (syms_of_glyphs_widget): remove set-glyph-image.
10093
10094 2000-07-23  Ben Wing  <ben@xemacs.org>
10095
10096         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10097         Vpopup_frame_list.
10098
10099 2000-07-22  Andy Piper  <andy@xemacs.org>
10100
10101         * symsinit.h: add syms_of_win32().
10102
10103         * gui-msw.c (syms_of_gui_mswindows): remove
10104         Fmswindows_shell_execute.
10105         (Fmswindows_shell_execute): moved to win32.c.
10106
10107         * emacs.c (main_1): add syms_of_win32 ().
10108
10109         * win32.c (init_potentially_nonexistent_functions): rewrite in
10110         compiler-friendly terms.
10111         (Fmswindows_shell_execute): move here from gui-msw.c.
10112         (syms_of_win32): new.
10113
10114         * device-msw.c (Fmswindows_printer_list): clean up args to
10115         EnumPrinters.
10116         Don't include tchar under cygwin or mingw.
10117         (msprinter_default_printer): make cygwin-friendly.
10118
10119 2000-07-21  Andy Piper  <andy@xemacs.org>
10120
10121         * glyphs-widget.c (image_instantiator_tree_view): use tab
10122         control's update function.
10123         (layout_property): new function. Retrieve items.
10124
10125         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10126         function. Re-populate the tree view from the pending items.
10127
10128         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10129         is designated the parent if the domain is an image instance. This
10130         is needed so that dirtiness can be cascade up the hierarchy and
10131         thus for layout children to be redisplayed correctly.
10132         (allocate_image_instance): rename glyph -> parent.
10133
10134         * redisplay.h: change redisplay_output_layout signature.
10135
10136         * redisplay-msw.c (mswindows_output_display_block): use domain
10137         arg.
10138
10139         * redisplay-x.c (x_output_display_block): use domain arg.
10140
10141 2000-07-10  Andy Piper  <andy@xemacs.org>
10142
10143         * window.c (Fset_window_configuration): add comment.
10144
10145         * redisplay-output.c (compare_runes):
10146         (redisplay_output_subwindow): redisplay rather than update subwindow.
10147         (redisplay_output_layout): ditto.
10148
10149         * redisplay-msw.c (mswindows_frame_output_end):
10150         (mswindows_frame_output_end): make defer window pos optional.
10151
10152         * lisp.h: add Flast.
10153
10154         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10155         normalize method. Change update method to be for changed
10156         instantiators. Add redisplay method. Change signature of layout
10157         method.
10158         (struct Lisp_Image_Instance): add instantiator.
10159         (IMAGE_INSTANCE_INSTANTIATOR): new.
10160         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10161         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10162         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10163
10164         * glyphs.c:
10165         (find_instantiator_differences): new function.
10166         (Fset_instantiator_property): new convenience function.
10167         (check_image_instance_structure): strictly check for vector
10168         instantiators.
10169         (normalize_image_instantiator): make non-static.
10170         (instantiate_image_instantiator): pass on dest_mask and use new
10171         signatures for image_instance_layout and friends.
10172         (mark_image_instance): mark the instantiator. Mark the subwindow
10173         face not the widget face.
10174         (image_instance_equal): add instantiator.
10175         (image_instance_hash): ditto.
10176         (allocate_image_instance): ditto.
10177         (Fset_image_instance_property): removed.
10178         (Fimage_instance_file_name): ditto.
10179         (Fcolorize_image_instance): ditto.
10180         (image_instance_layout): add offsets to be set.
10181         (update_image_instance): new function. update an image instance
10182         from its changed instantiator.
10183         (inherit_normalize): add dest_mask.
10184         (xbm_normalize): ditto.
10185         (xface_normalize): ditto.
10186         (xpm_normalize): ditto.
10187         (text_update): set_property -> update.
10188         (image_instantiate): use the glyph identity as a hash key, not the
10189         instantiator.
10190         (glyph_width): use new image_instance_layout signature.
10191         (glyph_ascent): ditto.
10192         (glyph_descent): ditto.
10193         (glyph_height): ditto.
10194         (glyph_query_geometry): ressurrect.
10195         (glyph_layout): ditto.
10196         (redisplay_subwindow): update -> redisplay.
10197         (syms_of_glyphs): add Fset_instantiator_property.
10198         (image_instantiator_format_create): set_property -> update.
10199
10200         * glyphs-x.c:
10201         (autodetect_normalize): add dest_maks to signature.
10202         (x_redisplay_subwindow): update -> redisplay.
10203         (x_redisplay_widget): ditto.
10204         (x_button_redisplay): ditto.
10205         (x_progress_gauge_redisplay): ditto.
10206         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10207         stacking order.
10208         (console_type_create_glyphs_x): update -> redisplay.
10209         (image_instantiator_format_create_glyphs_x): ditto.
10210
10211         * glyphs-widget.c:
10212         (check_valid_instantiator): disallow glyphs in the instantiator,
10213         they must now be vectors.
10214         (check_valid_instantiator_list): ditto.
10215         (glyph_instantiator_to_glyph): use internal symbol rather than
10216         intern.
10217         (widget_update): renamed from widget_set_property. Call cascaded
10218         update methods.
10219         (redisplay_widget): renamed from update_widget.
10220         (widget_layout): image_instance_layout now takes position as well
10221         as size.
10222         (widget_normalize): ditto.
10223         (widget_instantiate): ditto.
10224         (tab_control_query_geometry) ditto.:
10225         (tab_control_update): renamed from tab_control_set_property.
10226         (progress_gauge_update): set_property -> update.
10227         (layout_normalize): rewrite so that child instantiators are
10228         normalized also.
10229         (layout_update): new function. Create glyphs from the normalized
10230         children and cope with any other layout keywords. We do not
10231         instantiate children here that will be take care of by
10232         redisplay_output_layout.
10233         (layout_instantiate): call layout_update and not much else.
10234         (layout_post_instantiate): not sure whether this is needed
10235         anymore.
10236         (layout_query_geometry): query glyph geometry rather than
10237         image_instance geometry.
10238         (layout_layout): set offsets from pass in parameters. Use glyph
10239         geometry and layout functions rather than image instance ones.
10240         (native_layout_layout): ditto.
10241         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10242         (image_instantiator_widget): set_property -> update.
10243         (image_instantiator_buttons): ditto.
10244         (image_instantiator_progress_guage): ditto.
10245         (image_instantiator_tab_control): ditto.
10246         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10247         (image_instantiator_layout): add update method.
10248
10249         * glyphs-msw.c (bmp_normalize):
10250         (mswindows_resource_normalize): add dest_mask so that it can be
10251         proprogated by layout_normalize.
10252         (begin_defer_window_pos): make optional because it may not be the
10253         right thing to do and it introduces differences with X.
10254         (mswindows_unmap_subwindow): ditto.
10255         (mswindows_map_subwindow): ditto.
10256         (mswindows_redisplay_subwindow): renamed from
10257         mswindows_update_subwindow.
10258         (mswindows_redisplay_widget): ditto.
10259         (mswindows_button_redisplay): renamed from
10260         mswindows_button_update. Update is now what the instantiation
10261         function does for a changed instantiator.
10262         (mswindows_progress_gauge_instantiate): set the progress value
10263         here if appropriate.
10264         (mswindows_tab_control_redisplay): cope with re-ordering of the
10265         members of the tab widget by simply selecting the new top
10266         widget. This makes things appear ok if you click on a tab.
10267         (mswindows_combo_box_instantiate): image_instance_layout now takes
10268         position as well as size.
10269         (mswindows_progress_gauge_redisplay): renamed from
10270         mswindows_progress_gauge_update.
10271         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10272         (image_instantiator_format_create_glyphs_mswindows): ditto.
10273
10274         * glyphs-eimage.c (jpeg_normalize):
10275         (gif_normalize):
10276         (png_normalize):
10277         (tiff_normalize): add dest_mask so that it can be proprogated by
10278         layout_normalize.
10279
10280         * elhash.c:
10281         (print_hash_table):
10282         (hash_table_weakness_validate):
10283         (decode_hash_table_weakness):
10284         (Fhash_table_weakness):
10285         (Fhash_table_type):
10286         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10287
10288         * console.h (struct console_methods): move update_* to
10289         redisplay_*.
10290
10291 2000-07-20  Ben Wing  <ben@xemacs.org>
10292
10293         * *.[ch] (XSETOBJ): remove unused middle argument.
10294         lisp-disunion.h: correct wrap_object() to one argument.
10295
10296 2000-07-15  Ben Wing  <ben@xemacs.org>
10297
10298         * s/cygwin32.h:
10299         * s/cygwin32.h (CYGWIN_CONV_PATH):
10300         Add missing logb prototype for v1.1.
10301         Use post-b20 names and alias to pre-b20 names when pre-b20.
10302
10303         * s/windowsnt.h: [5].
10304
10305 2000-07-15  Ben Wing  <ben@xemacs.org>
10306
10307         * Makefile.in.in (x_objs):
10308         * Makefile.in.in (sheap_objs):
10309         * Makefile.in.in (objs):
10310         added win32.o, cosmetic cleanups.
10311
10312         * alloc.c (Fmake_byte_code):
10313         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10314         etc. macros which declare their own args now.
10315
10316         * alloc.c (syms_of_alloc):
10317         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10318
10319         * buffer.c:
10320         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10321
10322         * buffer.c (Fget_file_buffer):
10323         Fixed GCPRO problem.
10324
10325         * buffer.c (get_truename_buffer):
10326         Fixed comment about GC checking.
10327
10328         * buffer.c (syms_of_buffer):
10329         Undeclared those dedicated frame funs.
10330         [2].
10331
10332         * buffer.h:
10333         Define convenience macros for internal/external conversions.
10334         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10335         and Qenvironment_variable_encoding for cleaner code.
10336
10337         * bufslots.h:
10338         Remove dedicated-frame; in lisp.
10339
10340         * bytecode.c (funcall_compiled_function):
10341         [1].
10342
10343         * bytecode.c (syms_of_bytecode):
10344         [2].
10345
10346         * console-msw.c:
10347         * console-msw.c (mswindows_show_console): Rewrote.
10348
10349         * console-msw.c (Fmswindows_debugging_output): New.
10350         Sends to OutputDebugString (special MSWin debugger interface).
10351
10352         * console-msw.c (Fmswindows_message_box):
10353         Fixed stupid bugs so it works when called from kill-emacs.
10354
10355         * console-msw.c (syms_of_console_mswindows):
10356         Declare Fmswindows_debugging_output.
10357
10358         * console-msw.h:
10359         New MSWin prototypes.
10360
10361         * console-msw.h (struct mswindows_frame):
10362         New entry last-click-mods for improved button-modifier support.
10363
10364         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10365         New struct entry `popup' with corresponding accessor.
10366
10367         * console-x.c:
10368         * console-x.c (split_up_display_spec):
10369         * console-x.c (get_display_arg_connection):
10370         * console-x.c (x_semi_canonicalize_console_connection):
10371         * console-x.c (x_canonicalize_device_connection):
10372         [[[6]]]: Change char to more specific type.
10373         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10374
10375         * console-x.c (x_semi_canonicalize_console_connection):
10376         * console-x.c (x_canonicalize_device_connection):
10377         [[[9]]]: Fix up error signalling to use new structured error system.
10378
10379         * console-x.h:
10380         [[[4]]]: Define codesys aliases:
10381         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10382         Qx_color_name_encoding, Qx_display_name_encoding.
10383
10384         * console.h (struct console_methods):
10385         New method make_dialog_box_internal supersedes older
10386         popup_dialog_box method.
10387
10388         * data.c:
10389         Define many new errors, part of new structured errors.
10390
10391         * data.c (init_errors_once_early):
10392         * data.c (syms_of_data):
10393         [2].
10394
10395         * device-msw.c (mswindows_init_device):
10396         [[[5]]]: Cleanup to support NT 3.51.
10397
10398         * device-msw.c (decode_devmode): Cleanup.
10399
10400         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10401         * device-msw.c (mswindows_handle_print_dialog_box):
10402         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10403         * device-msw.c (syms_of_device_mswindows):
10404         Delete the dialog box primitives recently introduced by Kirill and
10405         instead interface to general dialog box interface.
10406
10407         * device-x.c:
10408         * device-x.c (compute_x_app_name):
10409         * device-x.c (x_init_device):
10410         * device-x.c (Fx_valid_keysym_name_p):
10411         * device-x.c (Fx_set_font_path):
10412         [6].
10413         [7].
10414
10415         * device.h (wrap_device): New.
10416         First of its kind; meant to replace XSETDEVICE.
10417
10418         * dialog-msw.c: Many file-dialog symbols.
10419
10420         * dialog-msw.c (mswindows_register_popup_frame): New.
10421         * dialog-msw.c (mswindows_is_dialog_msg): New.
10422         For supporting kbd traversal in dialog boxes.
10423
10424         * dialog-msw.c (dialog_proc):
10425         Support hitting ESC in dialogs.
10426
10427         * dialog-msw.c (struct):
10428         Common dialog box errors.
10429
10430         * dialog-msw.c (handle_file_dialog_box): New.
10431         Add file dialog code.
10432
10433         * dialog-msw.c (handle_question_dialog_box):
10434         Redo existing code to support new question dialog syntax.
10435
10436         * dialog-msw.c (console_type_create_dialog_mswindows):
10437         We support new dialog console method.
10438
10439         * dialog-msw.c (syms_of_dialog_mswindows):
10440         * dialog-msw.c (vars_of_dialog_mswindows):
10441         New file dialog symbols, vars.
10442
10443         * dialog-x.c:
10444         * dialog-x.c (maybe_run_dbox_text_callback):
10445         * dialog-x.c (dbox_descriptor_to_widget_value):
10446         * dialog-x.c (x_make_dialog_box_internal):
10447         * dialog-x.c (console_type_create_dialog_x):
10448         Mule-ize entire file.
10449         Redo to support question dialog syntax.
10450         [6].
10451
10452         * dialog.c:
10453         * dialog.c (Fmake_dialog_box_internal):
10454         * dialog.c (syms_of_dialog):
10455         Kill old popup-dialog-box, replace with new primitive.
10456         Just call device method or signal error.
10457
10458         * eldap.c (Fldap_open):
10459         * eldap.c (Fldap_search_basic):
10460         * eldap.c (Fldap_add):
10461         * eldap.c (Fldap_modify):
10462         [1].
10463         [7].
10464
10465         * emacs.c:
10466         * emacs.c (make_arg_list_1):
10467         * emacs.c (make_arg_list):
10468         Mule-ize call to dll_init().
10469         [6].
10470         [8].
10471
10472         * emacs.c (make_argc_argv):
10473         * emacs.c (free_argc_argv):
10474         * emacs.c (init_cmdargs):
10475         * emacs.c (main_1):
10476         * emacs.c (Fkill_emacs):
10477         * emacs.c (Fdump_emacs):
10478         Update comments about what can be used in syms_* etc.
10479         Call init_win32() when necessary.
10480         Fix up MS Win dialog box in kill-buffer to actually work right.
10481         [7].
10482
10483         * eval.c:
10484         * eval.c (For):
10485         * eval.c (Fand):
10486         * eval.c (Fprogn):
10487         * eval.c (Fprog1):
10488         * eval.c (Fprog2):
10489         * eval.c (FletX):
10490         * eval.c (Flet):
10491         * eval.c (condition_case_3):
10492         * eval.c (Feval):
10493         * eval.c (function_argcount):
10494         * eval.c (funcall_lambda):
10495         [1].
10496
10497         * eval.c (type_error): New.
10498         * eval.c (maybe_type_error): New.
10499         * eval.c (continuable_type_error): New.
10500         * eval.c (maybe_continuable_type_error): New.
10501         * eval.c (type_error_with_frob): New.
10502         * eval.c (maybe_type_error_with_frob): New.
10503         * eval.c (continuable_type_error_with_frob): New.
10504         * eval.c (maybe_continuable_type_error_with_frob): New.
10505         New functions for use with structured errors.
10506
10507         * event-Xt.c:
10508         * event-Xt.c (x_event_to_emacs_event):
10509         Buttons are now modifiers too.
10510
10511         * event-Xt.c (emacs_Xt_current_event_timestamp):
10512         Implement new event method.
10513         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10514
10515         * event-msw.c:
10516         * event-msw.c (ntpipe_shove_writer): [5].
10517         * event-msw.c (mswindows_enqueue_mouse_button_event):
10518         * event-msw.c (mswindows_drain_windows_queue):
10519         * event-msw.c (mswindows_wnd_proc): [7].
10520         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10521         * event-msw.c (mswindows_modifier_state):
10522         Throughout: support new button modifiers.
10523
10524         * event-msw.c (emacs_mswindows_current_event_timestamp):
10525         Implement new event method.
10526         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10527
10528         * event-stream.c:
10529         * event-stream.c (event_stream_current_event_timestamp): New.
10530         * event-stream.c (maybe_kbd_translate): New functionality.
10531         * event-stream.c (vars_of_event_stream):
10532         Document new kbd-translate-table functionality.
10533
10534         * event-stream.c (Fcurrent_event_timestamp): New.
10535         New primitive for use in fabricated events.
10536         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10537
10538         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10539
10540         * events.c:
10541         * events.c (Fmake_event):
10542         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10543         [1].
10544         [9].
10545
10546         * events.c (format_event_object): fix gcc warnings.
10547
10548         * events.c (Fevent_timestamp): Document new primitives.
10549
10550         * events.c (TIMESTAMP_HALFSPACE): New.
10551
10552         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10553         comparing timestamps correctly (half-space algorithm).
10554
10555         * events.c (Fevent_modifier_bits): Doc fix.
10556
10557         * events.c (Fevent_modifiers): Major doc addition.
10558         * events.c (event_x_y_pixel_internal): Typo fix.
10559         * events.c (syms_of_events): Declare new primitives.
10560
10561         * events.h:
10562         Update long comment for button modifiers, timestamps.
10563
10564         * events.h (struct event_stream):
10565         New current_event_timestamp method.
10566
10567         * extents.c:
10568         * extents.c (extent_in_region_p):
10569         * extents.c (decode_extent):
10570         * extents.c (Fset_extent_parent):
10571         * extents.c (decode_map_extents_flags):
10572         Fix gcc warnings.
10573         [9].
10574
10575         * extents.c (struct extent_at_arg):
10576         * extents.c (decode_extent_at_flag):
10577         * extents.c (extent_at_mapper):
10578         * extents.c (extent_at_bytind):
10579         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10580         * extents.c (Fextents_at): New primitive. [9].
10581         * extents.c (symbol_to_glyph_layout): [9].
10582         Support new primitive `extents-at'.
10583
10584
10585         * extents.c (get_text_property_bytind):
10586         extent_at_bytind has another arg.
10587         [9].
10588
10589         * extents.c (syms_of_extents): New primitive.
10590
10591         * file-coding.c (Fmake_coding_system): [1].
10592         * file-coding.c (subsidiary_coding_system): fix gcc warning
10593         * file-coding.c (syms_of_file_coding): [2].
10594
10595         * fileio.c (Fexpand_file_name):
10596         * fileio.c (Fsysnetunam):
10597         * fileio.c (Ffile_exists_p):
10598         * fileio.c (Ffile_executable_p):
10599         * fileio.c (Fverify_visited_file_modtime):
10600         Clean up GCPROing.
10601
10602         * fileio.c (syms_of_fileio): [2].
10603
10604         * filelock.c (lock_file_1):
10605         * filelock.c (current_lock_owner):
10606         * filelock.c (lock_if_free):
10607         * filelock.c (lock_file):
10608         * filelock.c (unlock_file):
10609         Clean up GCPROing.
10610
10611         * fns.c (concat): Fix gcc warning.
10612
10613         * fns.c (Fmember):
10614         * fns.c (Fold_member):
10615         * fns.c (Fmemq):
10616         * fns.c (Fold_memq):
10617         * fns.c (memq_no_quit):
10618         * fns.c (Fassoc):
10619         * fns.c (Fold_assoc):
10620         * fns.c (Fassq):
10621         * fns.c (Fold_assq):
10622         * fns.c (assq_no_quit):
10623         * fns.c (Frassoc):
10624         * fns.c (Fold_rassoc):
10625         * fns.c (Frassq):
10626         * fns.c (Fold_rassq):
10627         * fns.c (rassq_no_quit):
10628         * fns.c (Fdelete):
10629         * fns.c (Fold_delete):
10630         * fns.c (Fdelq):
10631         * fns.c (Fold_delq):
10632         * fns.c (delq_no_quit):
10633         * fns.c (Fremassoc):
10634         * fns.c (Fremassq):
10635         * fns.c (remassq_no_quit):
10636         * fns.c (Fremrassoc):
10637         * fns.c (Fremrassq):
10638         * fns.c (remrassq_no_quit):
10639         * fns.c (Freverse):
10640         * fns.c (mapcar1):
10641         [1].
10642
10643         * frame-msw.c (mswindows_init_frame_1):
10644         * frame-msw.c (mswindows_delete_frame):
10645         Register popups with dialog code so keyboard traversing works.
10646
10647         * frame-tty.c (tty_raise_frame_no_select): [1].
10648
10649         * frame-x.c:
10650         * frame-x.c (x_set_frame_text_value):
10651         * frame-x.c (x_set_frame_properties):
10652         * frame-x.c (x_create_widgets):
10653         [7].
10654
10655         * frame.c:
10656         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10657
10658         * frame.h (wrap_frame): New.
10659         Macro like wrap_device.
10660
10661         * general.c:
10662         * general.c (SYMBOL):
10663         * general.c (syms_of_general):
10664         Major reorg.  This is now just a wrapper and symbols themselves
10665         are listed in general-slots.h.
10666
10667         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10668         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10669
10670         * glyphs-msw.c (mswindows_native_layout_instantiate):
10671         Add DS_CONTROL so keyboard traversal will work.
10672
10673         * glyphs-widget.c:
10674         * glyphs-widget.c (syms_of_glyphs_widget):
10675         Move some symbols to general-slots.h.
10676
10677         * glyphs-x.c:
10678         * glyphs-x.c (xbm_instantiate_1):
10679         * glyphs-x.c (x_xbm_instantiate):
10680         * glyphs-x.c (x_xface_instantiate):
10681         * glyphs-x.c (autodetect_instantiate):
10682         * glyphs-x.c (cursor_font_instantiate):
10683         * glyphs-x.c (x_update_widget):
10684         * glyphs-x.c (x_widget_instantiate):
10685         * glyphs.c (bitmap_to_lisp_data):
10686         * glyphs.c (pixmap_to_lisp_data):
10687         [7].
10688
10689         * glyphs.c (syms_of_glyphs):
10690         [2].
10691
10692         * gui-x.c:
10693         * gui-x.c (print_widget_value):
10694         * gui-x.c (menu_separator_style_and_to_external):
10695         * gui-x.c (add_accel_and_to_external):
10696         * gui-x.c (button_item_to_widget_value):
10697         * gui-x.c (gui_items_to_widget_values_1):
10698         * gui-x.c (gui_items_to_widget_values):
10699         * gui-x.c (syms_of_gui_x):
10700         * gui-x.c (vars_of_gui_x):
10701         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10702         [9].
10703
10704         * gui-x.h:
10705         Muleize, prototype changes matching gui-x.c.
10706
10707         * gui.c:
10708         * gui.c (separator_string_p):
10709         * gui.c (gui_item_add_keyval_pair):
10710         * gui.c (make_gui_item_from_keywords_internal):
10711         * gui.c (signal_too_long_error):
10712         * gui.c (parse_gui_item_tree_item):
10713         * gui.c (syms_of_gui):
10714         * gui.c (vars_of_gui):
10715         * gui.h:
10716         menu-no-selection-hook moved here (used by MSWin).
10717         Move some symbols to general-slots.h.
10718         [6].
10719         [9].
10720
10721         * insdel.c (get_buffer_pos_char):
10722         * insdel.c (get_buffer_range_char):
10723         Add GC comments.
10724
10725         * keymap.c (keymap_lookup_directly):
10726         * keymap.c (keymap_store):
10727         * keymap.c (ensure_meta_prefix_char_keymapp):
10728         * keymap.c (describe_map):
10729         * keymap.h:
10730         Support new button modifiers.
10731
10732         * lisp-disunion.h (wrap_object):
10733         * lisp-disunion.h (XSETOBJ):
10734         Rename make_obj to wrap_object.
10735
10736         * lisp-union.h:
10737         * lisp-union.h (make_int):
10738         * lisp-union.h (make_char):
10739         Support wrap_object.
10740
10741         * lisp.h:
10742         * lisp.h (LIST_LOOP):
10743         * lisp.h (EXTERNAL_LIST_LOOP):
10744         * lisp.h (LIST_LOOP_2):
10745         * lisp.h (EXTERNAL_LIST_LOOP_1):
10746         * lisp.h (EXTERNAL_LIST_LOOP_2):
10747         * lisp.h (EXTERNAL_LIST_LOOP_3):
10748         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10749         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10750         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10751         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10752         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10753         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10754         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10755         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10756         * lisp.h (struct Lisp_Symbol):
10757         * lisp.h (maybe_continuable_error_with_frob):
10758         Fix up section comments.
10759         Add new types for char to indicate usage.
10760         Delete symbols auto-generated from general-slots.h.
10761         Add prototypes for structured error functions.
10762         Add long comments describing looping macros and change interface
10763         so that lvalues are automatically declared.
10764         Add NO_DECLARE macro in case callers want to declare lvalues
10765         themselves.
10766
10767         * lread.c (read_syntax_error):
10768         * lread.c (continuable_read_syntax_error):
10769         * lread.c (read_structure):
10770         * lread.c (sequence_reader):
10771         * lread.c (read_list_conser):
10772         * lread.c (read_compiled_function):
10773         Rename syntax_error and continuable_syntax_error to avoid clash
10774         with same-named structured error functions.
10775
10776         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10777         * menubar-msw.c (populate_menu_add_item):
10778         * menubar-msw.c (populate_or_checksum_helper):
10779         [5].
10780         [9].
10781
10782         * menubar-x.c:
10783         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10784         Mule-ize whole file.
10785
10786         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10787
10788         * mule-charset.c (Fmake_charset):
10789         * mule-wnnfns.c (Fwnn_set_param):
10790         [1].
10791
10792         * ntproc.c (create_child):
10793         * ntproc.c (Fwin32_set_current_locale):
10794         Add comments portending doom.
10795
10796         * objects-msw.c:
10797         * objects-msw.c (old_font_enum_callback_2):
10798         * objects-msw.c (font_enum_callback_1):
10799         * objects-msw.c (mswindows_enumerate_fonts):
10800         [5].
10801
10802         * objects-x.c:
10803         * objects-x.c (allocate_nearest_color):
10804         * objects-x.c (x_parse_nearest_color):
10805         * objects-x.c (x_initialize_color_instance):
10806         * objects-x.c (x_print_color_instance):
10807         * objects-x.c (x_finalize_color_instance):
10808         * objects-x.c (x_valid_color_name_p):
10809         * objects-x.c (x_initialize_font_instance):
10810         * objects-x.c (x_print_font_instance):
10811         * objects-x.c (valid_x_font_name_p):
10812         * objects-x.c (truename_via_FONT_prop):
10813         * objects-x.c (truename_via_random_props):
10814         * objects-x.c (truename_via_XListFonts):
10815         * objects-x.c (x_font_truename):
10816         * objects-x.c (x_font_instance_truename):
10817         * objects-x.c (x_font_instance_properties):
10818         * objects-x.c (x_list_fonts):
10819         * objects-x.c (x_find_charset_font):
10820         Mule-ize entire file.
10821         [7].
10822
10823         * objects-x.h:
10824         Mule-verify.
10825
10826         * print.c:
10827         * print.c (std_handle_out_external):
10828         * print.c (debug_print_no_newline):
10829         * print.c (syms_of_print):
10830         Output to all debugger kinds in debug-print.
10831         Fix console-output code under MSWin to actually work.
10832
10833         * process-nt.c (send_signal):
10834         * process-nt.c (nt_create_process):
10835         Use newer Unicode macros.
10836
10837         * process-unix.c (unix_create_process):
10838         * process-unix.c (unix_canonicalize_host_name):
10839         * process-unix.c (unix_open_network_stream):
10840         [7].
10841
10842         * scrollbar-x.c:
10843         Mule-verify.
10844
10845         * search.c (syms_of_search):
10846         [2].
10847
10848         * select-msw.c (mswindows_destroy_selection):
10849         Use LIST_LOOP_2.
10850
10851         * select-x.c (symbol_to_x_atom):
10852         [7].
10853
10854         * select.c (syms_of_select):
10855         [2].
10856
10857         * sound.c (Fplay_sound_file):
10858         [7].
10859
10860         * specifier.c:
10861         * specifier.c (decode_specifier_type):
10862         * specifier.c (Fvalid_specifier_locale_type_p):
10863         * specifier.c (check_valid_locale_or_locale_type):
10864         * specifier.c (decode_locale):
10865         * specifier.c (decode_locale_type):
10866         * specifier.c (decode_locale_list):
10867         * specifier.c (check_valid_domain):
10868         * specifier.c (decode_specifier_tag_set):
10869         * specifier.c (Fcanonicalize_tag_set):
10870         * specifier.c (Fdefine_specifier_tag):
10871         * specifier.c (Fspecifier_tag_predicate):
10872         * specifier.c (check_valid_inst_list):
10873         * specifier.c (check_valid_spec_list):
10874         * specifier.c (decode_how_to_add_specification):
10875         * specifier.c (check_modifiable_specifier):
10876         * specifier.c (specifier_add_spec):
10877         * specifier.c (boolean_validate):
10878         * specifier.c (display_table_validate):
10879         [9].
10880
10881         * specifier.c (syms_of_specifier):
10882         Move some symbols to general-slots.h.
10883         [2].
10884
10885         * symbols.c:
10886         * symbols.c (Fmapatoms):
10887         * symbols.c (Fapropos_internal):
10888         Add GCPROs.
10889
10890         * symbols.c (set_default_buffer_slot_variable):
10891         * symbols.c (set_default_console_slot_variable):
10892         [1].
10893
10894         * symbols.c (defsymbol_massage_name_1):
10895         * symbols.c (defkeyword_massage_name):
10896         * symbols.c (deferror_1):
10897         * symbols.c (deferror):
10898         * symbols.c (deferror_massage_name_and_message):
10899         * symeval.h:
10900         * symeval.h (DEFSYMBOL):
10901         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10902
10903         * symbols.c (syms_of_symbols):
10904         [2].
10905
10906         * symsinit.h:
10907         * symsinit.h (init_win32): New.
10908         Also new is syms_of_dialog_mswindows.
10909
10910         * syswindows.h:
10911         Add new Unicode macros, missing Cygwin wide-char functions,
10912         convenience conversion macros for Qmswindows_tstr, macros for
10913         encapsulating required MSWin <-> Cygwin filename conversions,
10914         prototype for dynamically-extracted (not in NT 3.51) functions.
10915
10916         * toolbar-x.c:
10917         Mule-verify.
10918
10919         * tooltalk.c (Fadd_tooltalk_message_arg):
10920         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10921         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10922         [7].
10923
10924         * tooltalk.c (syms_of_tooltalk):
10925         [2].
10926
10927         * unexnt.c:
10928         * unexnt.c (unexec):
10929         Fix up headers, declaration of unexec() to be more standard.
10930
10931 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10932
10933         * offix.h: Revert change to guard macros - they're used in offix.c!
10934
10935 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10936
10937         * lisp.h: Defsubred Fdelete.
10938
10939         * console-msw.h:  (msprinter_default_printer): Added.
10940
10941         * console-msw.c (msprinter_canonicalize_console_connection):
10942         (msprinter_canonicalize_device_connection): Added.
10943
10944         * device-msw.c (msprinter_default_printer):
10945         (Fmswingows_get_default_printer):
10946         (signal_enum_priner_error):
10947         (Fmswingows_printer_list): Added.
10948
10949 2000-07-19  Martin Buchholz <martin@xemacs.org>
10950
10951         * XEmacs 21.2.35 is released.
10952
10953 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10954
10955         * select-x.c (x_handle_selection_request):
10956         Text selected in xemacs and pasted into xterm failed to appear.
10957         Spelling fixes and cosmetic changes.
10958
10959 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10960
10961         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10962         XEmacs frame (fix for doubling chars in dialog boxes).
10963
10964 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10965
10966         * select.c (select_convert_in, select_convert_out):
10967         Don't call intern() every time.
10968
10969         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10970         * select.c (vars_of_select): Initialise them.
10971
10972 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10973
10974         * select.c (selection-coercible-types): New.
10975
10976         * select.c (own-selection-internal):
10977         * select.c (get-selection-internal):
10978         MULE bug fix - these should default to COMPOUND_TEXT and not
10979         STRING for MULE. I think.
10980
10981         * select.c (select_convert_out): Use selection-coercible-types
10982         to find types that we can attempt to perform coercions on.
10983
10984 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10985
10986         * mule-wnnfns.c:
10987         * mule-canna.c:
10988         Add coding: cookie to identify encoding.
10989
10990         * mule-canna.c (CANNA_mode_keys): make static.
10991         Use proper prototypes, even for functions of no arguments.
10992         Remove external prototype for Fding().
10993
10994         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10995
10996         * select.c (syms_of_select): Add missing DEFSUBR.
10997
10998 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10999
11000         * select.c (get_selection_internal, own_selection_internal):
11001         Make the type default to STRING, rather than placing a nil type
11002         into Vselection_alist.
11003
11004 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11005
11006         * gpmevent.c (tty_selection_exists_p):
11007         * gpmevent.c (tty_own_selection):
11008         Updated parameter lists.
11009
11010 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11011
11012         * select.h (selection-alist): Removed declaration.
11013
11014         * select.h (get_local_selection):
11015         * select.c (get_local_selection):
11016         Made static.
11017
11018         * select.h (convert_selection): Removed declaration.
11019         * select.c (convert_selection): Removed.
11020         This function belongs in Lisp.
11021
11022         * select.h (select_convert_in): Declare.
11023         * select.h (select_convert_out): Declare.
11024         * select.c (select_convert_in): New.
11025         * select.c (select_convert_out): New.
11026         New conversion functions for other files to call.
11027
11028         * select.h (select_notify_buffer_kill): Declare.
11029         * select.c (select_notify_buffer_kill): New.
11030         New functions that get called from kill-buffer.
11031
11032         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11033         X-specific lisp code.
11034
11035         * select.h: Declare some of the lisp-visible functions for
11036         external use.
11037
11038         * select.c (clean_local_selection_data): Removed. This was
11039         a disgusting function, and previously should have been in
11040         select-x.c in any case. The functionality is now provided
11041         in select-convert-from-integer (select.el).
11042
11043         * select.c (available-selection-types): Fixed stupidity where
11044         INTEGER and ATOM got added twice. Also add STRING when we see an
11045         extent.
11046
11047         * select.c (get-selection-internal): Removed symbol stripping. No
11048         longer causes conversion when data comes from the internal cache.
11049
11050         * select.c (syms_of_select): Added new functions.
11051
11052         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11053         error checking - previously this called abort!
11054
11055         * select-x.c (x_own_selection): Changed comment.
11056
11057         * select-x.c (x_handle_selection_request): Use select_convert_out.
11058         Don't mess with selection-alist; it's an internal variable of select.c.
11059
11060         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11061
11062         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11063         rather than messing with selection-alist.
11064
11065         * select-msw.c (mswindows_get_foreign_selection):
11066         Use TO_INTERNAL_FORMAT rather than hacking.
11067
11068 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11069
11070         * process-unix.c (unix_open_multicast_group):
11071         (unix_open_multicast_group): Remove useless casts.
11072
11073 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11074
11075         * sound.c (Fplay_sound): Fix `unused variable' warning.
11076
11077         * emacs.c (main): Use correct type for _environ on SCO5.
11078
11079 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11080
11081         * console.h (own_selection_method):
11082         * console.h (selection_exists_p_method):
11083         * console.h (available_selection_types_method): New.
11084         * console.h (register_selection_data_type_method): New.
11085         * console.h (selection_data_type_name): New.
11086
11087         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11088         function & alist to track GlobalAlloc()'d handles that need
11089         releasing when the clipboard data gets replaced or emptied.
11090
11091         * event-msw.c (mswindows_wnd_proc): Call it.
11092
11093         * lisp.h, general.c (Qappend): New symbol representing a
11094         `how-to-add' mode.
11095
11096         * select.c (own-selection-internal):
11097         * select.c (selection-exists-p):
11098         * select.c (available-selection-types): New.
11099         * select.c (register-selection-data-type): New.
11100         * select.c (selection-data-type-name): New.  New functions to deal
11101         with device-specific selection data formats.
11102         * select.c (selection-converter-out-alist): Renamed.
11103         * select.c (selection-converter-in-alist): New.
11104         * select.c (selection-appender-alist): New.  Added new alists.
11105         * select.c (syms_of_select, vars_of_select): Added new symbols &
11106         variables.
11107         * select.c (get_local_selection): Split.
11108         * select.c: Removed spurious type checking - selections may now be
11109         of any type, not just strings.
11110         * select.c (own-selection-internal):
11111
11112         * select.h, select.c (convert_selection): New. Created
11113         convert_selection() function based on get_local_selection().
11114         * select.h, select.c (QCF_*): New symbols representing mswindows
11115         clipboard formats.
11116         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11117         symbols representing `how-to-add' modes.
11118
11119         * select-msw.c (x_sym_p): New.
11120         * select-msw.c (symbol_to_ms_cf): New.
11121         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11122         symbols & clipboard formats. Can also handle string names.
11123         * select-msw.c (mswindows_own_selection):
11124         * select-msw.c (mswindows_selection_exists_p):
11125         Added `data-type' parameter. Use it.
11126         * select-msw.c (mswindows_available_selection_types): New.
11127         * select-msw.c (mswindows_register_selection_data_type): New.
11128         * select-msw.c (mswindows_selection_data_type_name): New.
11129         * select-msw.c (mswindows_own_selection):
11130         * select-msw.c (mswindows_get_foreign_selection):
11131         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11132         * select-msw.c (console_create_select_mswindows): Added new methods.
11133         * select-msw.c (mswindows_destroy_selection): New.
11134         * select-msw.c (Vhandle_alist): New list.
11135         * select-msw.c (mswindows_own_selection):
11136
11137         * select-x.c (x_own_selection):
11138         * select-x.c (x_selection_exists_p):
11139         * select-x.c: Added some comments about maybe using new
11140         functionality.
11141         * select-x.c (x_own_selection):
11142
11143         * specifier.c: Remove definition of Qappend (now in general.c)
11144         * specifier.c (syms_of_specifier): Remove Qappend.
11145
11146 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11147
11148         * config.h.in: Add socklen_t.
11149
11150         * s/decosf4-0.h: No special compiler flags needed or desired.
11151         In particular, undefine _BSD for DEC OSF 4.0.
11152
11153 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11154
11155         * redisplay-msw.c (msprinter_frame_output_end): Added.
11156         (console_type_create_redisplay_mswindows): Referred the above.
11157
11158         * frame.c (setup_frame_without_minibuffer): Do not create a
11159         default minibuffer frame on a printer device.
11160
11161         * frame-msw.c (apply_dc_geometry): Added.
11162         (msprinter_start_page):
11163         (msprinter_init_frame_3):
11164         (msprinter_eject_page): Use it.
11165
11166         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11167         and removed residual duplex and orientation properties.
11168
11169 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11170
11171         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11172
11173         * unexalpha.c: Remove system prototypes from C sources!
11174
11175 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11176
11177         * eval.c: Remove references to M-x edit-options in DEFUNs for
11178         `defvar' and `defconst'.
11179
11180 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11181
11182         * config.h.in: Remove SMART_INCLUDE hackery.
11183
11184         PostgreSQL hacking:
11185         * config.h.in: Don't use SMART_INCLUDE.
11186
11187         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11188         * inline.c: Simply #include "postgresql.h"
11189         * postgresql.c:
11190         - Don't use SMART_INCLUDE
11191         - Use simply "const".
11192         - Use standard doc string conventions.
11193         - Use correct type for result of PQstatus.
11194
11195 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11196
11197         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11198
11199         C++ compilation changes.
11200         * config.h.in (EXTERN_C): Define.
11201         * config.h.in (not): This is also a C++ keyword.
11202         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11203         * cm.c: Use EXTERN_C.
11204         * redisplay-tty.c: Use EXTERN_C.
11205         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11206
11207 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11208
11209         * general.c: Remove duplicate definition for Qfunction.
11210
11211 2000-07-08  Ben Wing  <ben@xemacs.org>
11212
11213         * device-msw.c (msprinter_init_device):
11214         * device-msw.c (sync_printer_with_devmode):
11215         * device-msw.c (handle_devmode_changes):
11216         * device-msw.c (print_dialog_worker):
11217         * device-msw.c (Fmsprinter_apply_settings):
11218         * device-msw.c (hash_devmode):
11219         * device-msw.c (Fmsprinter_settings_despecialize):
11220         use Qmswindows_tstr, not Qctext.
11221
11222         * vm-limit.c (check_memory_limits):
11223         avoid infinite loop printing warning messages.
11224
11225 2000-07-05  Craig Lanning  <lanning@scra.org>
11226
11227         * Makefile.in.in: Add support for including the Windows resources
11228         when building with the cygwin and mingw targets.
11229
11230         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11231         not set or not correct.
11232         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11233         (init_initial_directory): Don't try to use $PWD on the
11234         WIN32_NATIVE target.
11235
11236         * s\cygwin32.h:
11237         [[Add -mwindows to eliminate console window.]] not required --ben
11238         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11239         (MAIL_USE_POP): removed; now handled by configure.
11240
11241         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11242         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11243         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11244         (MAIL_USE_POP): removed; now handled by configure.
11245         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11246         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11247         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11248         constant string.
11249         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11250         up from <winsock.h> via systime.h.
11251         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11252         (getpagesize): from Dan Holmsand, added.
11253         Added #endif which was left dangling by Ben's mega patch; added
11254         comment to help prevent this in the future.
11255
11256         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11257
11258 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11259
11260         * console-msw.h (struct mswindows_device): Removed unnecessary
11261         cached device geometry values.
11262         Added update_tick and an accessor macro.
11263         (Lisp_Devmode): Added lrecord declaration.
11264         (struct msprinter_device): Contain devmode as a Lisp object.
11265         Added mswindows_get_selected_frame_hwnd();
11266
11267         * console.h (struct console_methods): Indentation nitpicking.
11268
11269         * device-msw.c (mswindows_init_device): Do not initialize geometry
11270         cache. Initialize update tick.
11271         (mswindows_device_system_metrics): Ask the device for its geometry.
11272         (global_free_2_maybe):
11273         (devmode_to_hglobal):
11274         (handle_printer_changes):
11275         (ensure_not_printing):
11276         (print_dialog_worker):
11277         (Fmsprinter_print_setup_dialog):
11278         (Fmsprinter_print_dialog):
11279         (plist_get_margin):
11280         (plist_set_margin):
11281         (Fmsprinter_page_setup_dialog): Added functions.
11282         (sync_printer_with_devmode):
11283         (handle_devmode_changes):
11284         (Fmsprinter_get_settings):
11285         (Fmsprinter_select_settings):
11286         (Fmsprinter_apply_settings):
11287         (allocate_devmode):
11288         (Fmsprinter_settings_copy):
11289         (Fmsprinter_settings_despecialize):
11290         (print_devmode):
11291         (finalize_devmode):
11292         (equal_devmode):
11293         (hash_devmode): Added functions
11294         (syms_of_device_mswindows): Init devmode lrecord class.
11295
11296         * device.h: Added an exfun for find-device.
11297
11298         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11299         geometry; although, recreate the device compatible DC.
11300
11301         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11302         (msprinter_init_frame_3):
11303         (msprinter_frame_property):
11304         (msprinter_internal_frame_property_p):
11305         (msprinter_frame_properties):
11306         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11307         print job properties (will move to device settings).
11308
11309         * lisp.h: Added symbols.
11310
11311         * general.c (syms_of_general): Declared them.
11312
11313         * hash.c (string_hash): Added.
11314
11315         * lrecord.h (lrecord_type): Added devmode lrecord type.
11316
11317 2000-07-02  Mike Sperber <mike@xemacs.org>
11318
11319         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11320         FreeBSD 4.0.
11321
11322 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11323
11324         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11325         integer.
11326
11327 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11328
11329         * data.c (Fstring_to_number): Don't recognize floating point if
11330         base is not 10.
11331
11332 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11333
11334         * glyphs-widget.c (tab_control_query_geometry):
11335         (widget_query_geometry):
11336         (button_query_geometry):
11337         * glyphs.c (text_query_geometry):
11338         Enforce type correctness.
11339
11340 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11341
11342         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11343         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11344
11345 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11346
11347         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11348         conflicts with gcc's fixincluded version of FOO.h.
11349
11350         * glyphs.h (image_instance_geometry): Remove trailing `,'
11351
11352 2000-06-08  Mike Alexander  <mta@arbortext.com>
11353
11354         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11355         (shove_thread): Don't write the same output twice
11356         (make_ntpipe_output_stream): Increase priority of shove thread
11357         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11358         chance to run
11359         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11360         it.
11361
11362 2000-06-12  Ben Wing  <ben@xemacs.org>
11363
11364         * s\mingw32.h (sigset):
11365         * s\windowsnt.h (sigset):
11366         rename msw_ to mswindows_ for consistency with general convention.
11367
11368 2000-06-12  Ben Wing  <ben@xemacs.org>
11369
11370         * console-msw.c:
11371         * console-msw.c (mswindows_get_console_hwnd):
11372         * console-msw.c (mswindows_ensure_console_allocated):
11373         * console-msw.c (mswindows_hide_console):
11374         * console-msw.c (mswindows_show_console):
11375         * console-msw.c (mswindows_ensure_console_buffered):
11376         * console-msw.c (mswindows_output_console_string):
11377         * console-msw.c (mswindows_windows9x_p):
11378         * console-msw.h:
11379         * device-msw.c (mswindows_get_workspace_coords):
11380         * device-msw.c (mswindows_device_system_metrics):
11381         * dialog-msw.c (mswindows_popup_dialog_box):
11382         * event-msw.c (mswindows_wnd_proc):
11383         * frame-msw.c (mswindows_size_frame_internal):
11384         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11385         * menubar-msw.c (displayable_menu_item):
11386         * menubar-msw.c (mswindows_char_is_accelerator):
11387         * nt.c:
11388         * nt.c (mswindows_sigset):
11389         * nt.c (mswindows_sigrelse):
11390         * nt.c (mswindows_sigpause):
11391         * nt.c (mswindows_raise):
11392         * nt.c (timer_proc):
11393         * ntproc.c:
11394         * ntproc.c (find_child_console):
11395         * ntproc.c (sys_kill):
11396         * print.c:
11397         * print.c (std_handle_out_external):
11398         * process-nt.c (find_child_console):
11399         * process-nt.c (send_signal_the_95_way):
11400         * process-nt.c (ensure_console_window_exists):
11401         * process-nt.c (nt_create_process):
11402         * syssignal.h:
11403         rename msw_ to mswindows_ for consistency with general convention.
11404
11405         * emacs.c:
11406         * dumper.c:
11407         include nt.h, not syswindows.h.
11408
11409         * nt.c (mswindows_fstat):
11410         * nt.c (mswindows_stat):
11411         prefix mswindows_ instead of attempting to directly override the
11412         library functions.  fix declarations.
11413
11414         * nt.h:
11415         include syswindows.h.  move some sysdep.h stuff here.
11416
11417         * ntheap.h:
11418         include syswindows.h, not <windows.h>.
11419
11420         * ntplay.c:
11421         clean up headers.
11422
11423         * sysdep.c:
11424         clean up headers.
11425
11426         * sysdep.c (sys_fstat):
11427         * sysdep.c (sys_stat):
11428         call mswindows versions when appropriate.
11429
11430         * sysdep.h:
11431         move mswin decls to nt.h.
11432
11433         * syswindows.h:
11434         add long comment describing appropriate use of the various windows
11435         headers.
11436
11437 2000-06-11  Ben Wing  <ben@xemacs.org>
11438
11439         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11440
11441 2000-06-10  Ben Wing  <ben@xemacs.org>
11442
11443         * Makefile.in.in (release):
11444         Correction to make sure xemacs.exe always dumped when correct.
11445
11446         * alloca.c:
11447         * balloon_help.c:
11448         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11449
11450         * buffer.c (set_buffer_internal):
11451         [[[[2]]]]: Remove HAVE_FEP code.
11452
11453         * buffer.c (init_initial_directory):
11454         [3].
11455
11456         * bytecode.c:
11457         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11458         individual files.
11459
11460         * callproc.c:
11461         * callproc.c (call_process_cleanup):
11462         * callproc.c (Fold_call_process_internal):
11463         * callproc.c (child_setup):
11464         * callproc.c (getenv_internal):
11465         * callproc.c (init_callproc):
11466         * callproc.c (vars_of_callproc):
11467         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11468         __CYGWIN32__ -> CYGWIN.
11469         DOS_NT -> WIN32_NATIVE.
11470         Remove MSDOS support/references, converting to WIN32_NATIVE
11471           where correct.
11472         __MINGW32__ -> MINGW.
11473         Fix windows.h includes.
11474         Remove bogus HAVE_NTGUI.
11475
11476         * config.h.in:
11477         [2].
11478
11479         * console-msw.c:
11480         mswindows_message_outputted added for use in allowing startup
11481         errors on the console to be seen.
11482
11483         * console-msw.c (msw_ensure_console_allocated):
11484         * console-msw.c (msw_output_console_string):
11485         * console-msw.c (DHEADER):
11486         * console-msw.c (DOPAQUE_DATA):
11487         * console-msw.c (DEVENT):
11488         * console-msw.c (DCONS):
11489         * console-msw.c (DCONSCDR):
11490         * console-msw.c (DSTRING):
11491         * console-msw.c (DVECTOR):
11492         * console-msw.c (DSYMBOL):
11493         * console-msw.c (DSYMNAME):
11494         Fix warnings.
11495
11496         * console-stream.c (stream_init_console):
11497         Fix text/binary problems.
11498
11499         * device-msw.c:
11500         * device-msw.c (mswindows_finish_init_device):
11501         * device-msw.c (mswindows_delete_device):
11502         [1].
11503
11504         * device.c (handle_asynch_device_change):
11505         [3].
11506
11507         * dgif_lib.c:
11508         * dgif_lib.c (DGifOpenFileName):
11509         * dgif_lib.c (DGifOpenFileHandle):
11510         * dgif_lib.c (DGifGetLine):
11511         * dgif_lib.c (DGifGetPixel):
11512         Added config.h/lisp.h, fix up includes.
11513         [1].
11514
11515         * dired-msw.c:
11516         [4].
11517
11518         * dired.c:
11519         * dired.c (file_name_completion):
11520         * dired.c (Ffile_attributes):
11521         * dired.c (syms_of_dired):
11522         [1].
11523
11524         * dumper.c:
11525         * dumper.c (pdump_file_unmap):
11526         * dumper.c (pdump_load):
11527         [1].
11528
11529         * editfns.c:
11530         * editfns.c (Ftemp_directory):
11531         * editfns.c (user_login_name):
11532         * editfns.c (Fuser_real_login_name):
11533         * editfns.c (get_home_directory):
11534         [1].
11535
11536         * elhash.c (finish_marking_weak_hash_tables):
11537         [[[[5]]]]: Fix GCC warnings.
11538
11539         * emacs.c:
11540         * emacs.c (mswindows_handle_hardware_exceptions):
11541         * emacs.c (make_arg_list_1):
11542         * emacs.c (main_1):
11543         * emacs.c (Fkill_emacs):
11544         * emacs.c (Fdump_emacs):
11545         [1].
11546         Fix problems with nested crashes, add long comment.
11547
11548         * event-Xt.c (init_event_Xt_late):
11549         [1].
11550
11551         * event-msw.c:
11552         * event-msw.c (mswindows_dde_callback):
11553         * event-msw.c (mswindows_handle_sticky_modifiers):
11554         * event-msw.c (mswindows_wnd_proc):
11555         [1].
11556         [5].
11557
11558         * events.c (character_to_event):
11559         [1].
11560
11561         * fileio.c:
11562         * fileio.c (Ffile_name_directory):
11563         * fileio.c (Ffile_name_nondirectory):
11564         * fileio.c (directory_file_name):
11565         * fileio.c (Fexpand_file_name):
11566         * fileio.c (Fsubstitute_in_file_name):
11567         * fileio.c (Ffile_name_absolute_p):
11568         * fileio.c (check_executable):
11569         * fileio.c (Ffile_readable_p):
11570         * fileio.c (Ffile_accessible_directory_p):
11571         * fileio.c (Ffile_modes):
11572         * fileio.c (Funix_sync):
11573         * fileio.c (vars_of_fileio):
11574         [1]. [4].
11575
11576         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11577
11578         Expand getdefdir defn.
11579         Fix bogus rename() comment.
11580
11581         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11582         to use standard XEmacs include files, e.g. sysfile.h, rather
11583         than system-specific includes.
11584
11585         * fns.c:
11586         * fns.c (Fsubseq):
11587         [5]. [6].
11588
11589         * frame.c (vars_of_frame):
11590         [1].
11591
11592         * getloadavg.c:
11593         * getloadavg.c (getloadavg):
11594         [1]. [6].
11595         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11596         (We don't use it elsewhere in the code; just add a comment.)
11597
11598         * gif_io.c:
11599         [6].
11600         Add config.h.
11601
11602         * glyphs-msw.c:
11603         * glyphs-msw.c (mswindows_resource_instantiate):
11604         [1].
11605
11606         * glyphs-x.c (x_native_layout_instantiate):
11607         [5].
11608
11609         * gui-msw.c (Fmswindows_shell_execute):
11610         [1].
11611
11612         * insdel.c:
11613         [4].
11614
11615         * lisp.h:
11616         [4]. [5].
11617
11618         * lread.c (locate_file_in_directory_mapper):
11619         [1].
11620
11621         * lstream.c:
11622         [4].
11623
11624         * mem-limits.h:
11625         * mem-limits.h (get_lim_data):
11626         [1].
11627
11628         * menubar-msw.c:
11629         [4].
11630
11631         * ndir.h:
11632         [1].
11633
11634         * nt.c:
11635         * nt.c (getwd):
11636         * nt.c (closedir):
11637         * nt.c (rva_to_section):
11638         * nt.c (mswindows_executable_type):
11639         [1]. [6].
11640         Fix closedir() defn.
11641
11642         * nt.h:
11643         [[[[8]]]]: *_OK defs moved to sysfile.h.
11644
11645         * ntproc.c:
11646         [6]. [7].
11647
11648         * objects-x.c:
11649         [4].
11650
11651         * print.c:
11652         * print.c (std_handle_out_external):
11653         [1]. [4].
11654
11655         * process-nt.c:
11656         * process-nt.c (nt_create_process):
11657         [6].
11658         try to fix process quoting somewhat.
11659
11660         * process-unix.c (unix_create_process):
11661         [1].
11662
11663         * process.c:
11664         * process.c (vars_of_process):
11665         Add Vnull_device.
11666
11667         * process.h:
11668         [1].
11669
11670         * realpath.c:
11671         * realpath.c (xrealpath):
11672         [1].
11673
11674         * redisplay-tty.c (init_tty_for_redisplay):
11675         [3].
11676
11677         * redisplay.c:
11678         [4]. [6].
11679
11680         * scrollbar-msw.c:
11681         [4].
11682
11683         * sheap.c:
11684         * sheap.c (more_static_core):
11685         * sheap.c (report_sheap_usage):
11686         [5]. [6].
11687
11688         * signal.c:
11689         * signal.c (alarm_signal):
11690         [1]. [6].
11691
11692         * sound.c:
11693         [6].
11694
11695         * strftime.c:
11696         * strftime.c (zone_name):
11697         [1]. [5].
11698
11699         * symsinit.h (init_sunpro):
11700         [1].
11701
11702         * syscommctrl.h:
11703         commctrl.h not in Cygwin b20.1.
11704
11705         * sysdep.c:
11706         * sysdep.c (endif):
11707         * sysdep.c (sys_subshell):
11708         * sysdep.c (init_baud_rate):
11709         * sysdep.c (emacs_get_tty):
11710         * sysdep.c (emacs_set_tty):
11711         * sysdep.c (tty_init_sys_modes_on_device):
11712         * sysdep.c (init_system_name):
11713         * sysdep.c (sys_open):
11714         * sysdep.c (interruptible_open):
11715         * sysdep.c (sys_fopen):
11716         * sysdep.c (sys_mkdir):
11717         * sysdep.c (sys_rename):
11718         * sysdep.c (get_process_times_1):
11719         [1]. [6].
11720
11721         * sysdep.h:
11722         [1].
11723
11724         * sysdir.h:
11725         * sysdir.h (DIRENTRY_NONEMPTY):
11726         [1]. [6].
11727
11728         * sysdll.c (dll_init):
11729         * sysdll.h:
11730         [1].
11731
11732         * sysfile.h:
11733         [1]. [6]. [8].
11734         added text/binary defs.
11735
11736         * sysfloat.h:
11737         [1].
11738
11739         * sysproc.h:
11740         * sysproc.h (EDESTADDRREQ):
11741         * sysproc.h (poll_fds_for_input):
11742         [1]. [6].
11743
11744         * syspwd.h:
11745         [6].
11746
11747         * syssignal.h:
11748         [1].
11749
11750         * systime.h:
11751         [1]. [6].
11752
11753         * systty.h:
11754         [1].
11755
11756         * syswindows.h:
11757         [1].
11758         Always define WIN32_LEAN_AND_MEAN.
11759
11760         * unexcw.c (unexec):
11761         [5].
11762
11763         * unexec.c:
11764         * unexec.c (copy_text_and_data):
11765         * unexec.c (adjust_lnnoptrs):
11766         [1].
11767
11768         * unexnt.c:
11769         * unexnt.c (_start):
11770         [1].
11771
11772 2000-06-07  Ben Wing  <ben@xemacs.org>
11773
11774         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11775         was used only as a model.  We've long since extracted any useful
11776         logic or code out of this. (I just did an exhaustive search.)
11777
11778         * s\msdos.h: Removed.
11779
11780         * s\windows95.h: Removed.
11781
11782 2000-06-10  Ben Wing  <ben@xemacs.org>
11783
11784         * s\cygwin32.h:
11785         [1]. [5].
11786         Don't use extern with fun defs.
11787
11788         * s\mingw32.h:
11789         [1]. [7].
11790         Remove nt\inc include.
11791         Remove getdisk, getdefdir. (The former is unused, the latter
11792         expanded in fileio.h.)
11793
11794         * s\windowsnt.h:
11795         * s\windowsnt.h (WIN32_NATIVE):
11796         * s\windowsnt.h (HAVE_STRCASECMP):
11797         [1]. [7].
11798         Add long comment about preprocessor changes.
11799         Remove getdisk, getdefdir. (The former is unused, the latter
11800         expanded in fileio.h.)
11801
11802 2000-06-10  Ben Wing  <ben@xemacs.org>
11803
11804         * m\arm.h:
11805         * m\delta.h:
11806         * m\intel386.h:
11807         * m\sequent.h:
11808         * m\template.h:
11809         * m\windowsnt.h:
11810         [1].
11811         Remove bogus/unused NO_SOCK_SIGIO.
11812
11813 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11814
11815         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11816         not an Emchar.
11817
11818 2000-06-04  Mike Sperber <mike@xemacs.org>
11819
11820         * casetab.c (set_case_table): For `set-standard-case-table',
11821         actually deposit the new case tables where the rest of XEmacs can
11822         see them.
11823
11824 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11825
11826         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11827
11828 2000-06-05  Ben Wing  <ben@xemacs.org>
11829
11830         * callproc.c (child_setup): Don't do close_load_descs() under
11831         MS Windows.  Put in a comment explaining why.
11832
11833 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11834
11835         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11836         Toolkit shell" which breaks `kill-compilation' on Windows NT
11837         native, retaining STDERR handling improvements.
11838
11839 2000-06-01  Andreas Jaeger  <aj@suse.de>
11840
11841         * s/s390.h: Support for S390, based on a patch by Martin
11842         Schwidefsky <schwidefsky@de.ibm.com>.
11843
11844 2000-05-30  Andy Piper  <andy@xemacs.org>
11845
11846         * window.c (allocate_window):
11847         (make_dummy_parent):
11848         (Fset_window_configuration): use new hashtable type.
11849
11850         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11851         (struct image_instantiator_methods):
11852         (struct Lisp_Image_Instance): make instance geometry signed.
11853
11854         * glyphs.c (instantiate_image_instantiator):
11855         (image_instance_query_geometry):
11856         (image_instance_layout):
11857         (image_instance_layout):
11858         (query_string_geometry):
11859         (text_query_geometry):
11860         (image_instantiate):
11861         (image_instantiate):
11862         (cache_subwindow_instance_in_frame_maybe):
11863         (subwindow_query_geometry): make instance geometry signed.
11864
11865         * glyphs-widget.c (widget_query_geometry):
11866         (widget_layout):
11867         (button_query_geometry):
11868         (tree_view_query_geometry):
11869         (tab_control_query_geometry):
11870         (layout_query_geometry):
11871         (layout_layout):
11872         (native_layout_layout): make instance geometry signed.
11873
11874 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11875
11876         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11877         constant.
11878
11879         * general.c (syms_of_general): Add Qfull_assoc symbol.
11880
11881         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11882         correctly.
11883         (decode_weak_list_type): Decode full-assoc type.
11884         (encode_weak_list_type): Encode full-assoc type.
11885         (Fmake_weak_list): Update doc string.
11886
11887 2000-05-30  Andy Piper  <andy@xemacs.org>
11888
11889         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11890
11891         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11892         (decode_hash_table_weakness): ditto.
11893         (Fhash_table_weakness): ditto.
11894         (Fhash_table_type): ditto.
11895         (finish_marking_weak_hash_tables): ditto.
11896         (hash_table_weakness_validate): ditto.
11897         (syms_of_elhash): ditto.
11898
11899 2000-05-28  Martin Buchholz <martin@xemacs.org>
11900
11901         * XEmacs 21.2.34 is released.
11902
11903 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11904
11905         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11906         start cache.
11907         (updating_line_start_cache): Gone.
11908         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11909         generic code to force a minimum of 1 line laid out in the
11910         CMOTION_DISP case.
11911
11912 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11913
11914         * glyphs.c (instantiate_image_instantiator): Check for initialized
11915         height & width no longer special cases IMAGE_NOTHING.
11916         (nothing_instantiate): Set height and width of instance.
11917
11918 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11919
11920         * unexelf.c (unexec): Search for ".data" section.
11921         Initialize new_data2_offset from old_data_index.
11922         Remove redundant check for ElfW.
11923
11924 2000-05-23  Andy Piper  <andy@xemacs.org>
11925
11926         * glyphs.c (get_image_instantiator_governing_domain): allow more
11927         specific domains as the governing domain rather than expecting an
11928         exact match. This fixes problems with layouts.
11929
11930 2000-05-22  Andy Piper  <andy@xemacs.org>
11931
11932         * redisplay-output.c (compare_runes): check for non-images
11933
11934         * glyphs.c (set_glyph_dirty_p): ditto.
11935         (update_glyph_cachel_data): ditto.
11936
11937         * glyphs-widget.c (layout_post_instantiate): ditto.
11938         (layout_post_instantiate): ditto.
11939
11940         * event-msw.c (mswindows_wnd_proc): warning removal.
11941
11942 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11943
11944         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11945
11946         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11947
11948         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11949
11950         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11951         (mswindows_executable_type): mingw32 now has enough headers for
11952         this to work.
11953
11954 2000-05-20  Andy Piper  <andy@xemacs.org>
11955
11956         * console-msw.c (mswindows_output_last_error): ; -> ,
11957
11958 2000-05-12  Andy Piper  <andy@xemacs.org>
11959
11960         * console-msw.c (FROB): compare ints with ints.
11961
11962 2000-05-11  Andy Piper  <andy@xemacs.org>
11963
11964         * glyphs-x.c (x_finalize_image_instance): make minimal build
11965         happy.
11966
11967 2000-05-20  Ben Wing  <ben@xemacs.org>
11968
11969         * event-Xt.c:
11970         * event-Xt.c (vars_of_event_Xt):
11971         move modifier-keys-are-sticky to event-stream.c.
11972
11973         * event-msw.c:
11974         * event-msw.c (mswindows_enqueue_mouse_button_event):
11975         * event-msw.c (key_needs_default_processing_p):
11976         * event-msw.c (XEMSW_LCONTROL):
11977         * event-msw.c (mswindows_handle_sticky_modifiers):
11978         * event-msw.c (FROB):
11979         * event-msw.c (clear_sticky_modifiers):
11980         * event-msw.c (output_modifier_keyboard_state):
11981         * event-msw.c (output_alt_keyboard_state):
11982         * event-msw.c (mswindows_wnd_proc):
11983         * event-msw.c (mswindows_modifier_state):
11984         * event-msw.c (emacs_mswindows_handle_magic_event):
11985         implement sticky modifiers.
11986
11987         * event-stream.c:
11988         * event-stream.c (vars_of_event_stream):
11989         move modifier-keys-are-sticky here.
11990
11991         * lisp.h:
11992         add CHECK_FUNCTION.
11993
11994         * rangetab.c:
11995         implement map-range-table.
11996
11997
11998 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11999
12000         * redisplay-tty.c (reset_tty_modes):
12001         (tty_redisplay_shutdown): Adjust argument type to
12002         tty_frame_output_end.
12003
12004 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12005
12006         * eval.c (Fbacktrace): Don't output a line with only right
12007         parenthesis.
12008
12009 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12010
12011         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12012         (Fpq_reset_poll): Ditto.
12013
12014 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12015
12016         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12017
12018 2000-05-16  Ben Wing  <ben@xemacs.org>
12019
12020         * buffer.c:
12021         * buffer.c (dfc_convert_to/from_internal_format):
12022         * buffer.c (reinit_vars_of_buffer):
12023         Fix conversion functions to allow reentrancy.
12024
12025         * console-msw.c:
12026         * console-msw.c (mswindows_output_last_error):
12027         New fun, generally useful -- output a human-readable
12028         version of GetLastError() on the console.
12029
12030         * console-msw.h:
12031         * console-msw.h (struct mswindows_frame):
12032         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12033
12034         * console-stream.c (stream_output_begin):
12035         * console-stream.c (stream_output_end):
12036         * console-stream.c (stream_output_vertical_divider):
12037         * console-stream.c (stream_clear_region):
12038         * console-stream.c (stream_flash):
12039         * console-stream.c (console_type_create_stream):
12040         Delete blank stream methods, not needed.
12041
12042         * console.h (struct console_methods):
12043         Split begin/end methods into window and frame.
12044
12045         * event-msw.c:
12046         * event-msw.c (mswindows_handle_paint):
12047         * event-msw.c (output_alt_keyboard_state):
12048         * event-msw.c (mswindows_wnd_proc):
12049         * event-msw.c (vars_of_event_mswindows):
12050         Comment about problems with ignored-expose.
12051         Define mswindows-debug-events; not really implemented.
12052
12053         * frame-msw.c (mswindows_init_frame_1):
12054         random cleanups.
12055
12056         * glyphs-msw.c:
12057         * glyphs-msw.c (begin_defer_window_pos):
12058         * glyphs-msw.c (mswindows_unmap_subwindow):
12059         * glyphs-msw.c (mswindows_map_subwindow):
12060         * glyphs-msw.c (mswindows_resize_subwindow):
12061         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12062
12063         * glyphs.c (make_image_instance_1):
12064         Fix crash.
12065
12066         * gutter.c (Fredisplay_gutter_area):
12067         Use new begin/end methods.
12068
12069         * lisp.h (Dynarr_new2):
12070         New creation fun.
12071
12072         * redisplay-msw.c:
12073         * redisplay-msw.c (mswindows_frame_output_begin):
12074         * redisplay-msw.c (mswindows_frame_output_end):
12075         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12076         New begin/end methods -- handle DeferWindowPos.
12077
12078         * redisplay-output.c (redisplay_move_cursor):
12079         * redisplay-output.c (redraw_cursor_in_window):
12080         * redisplay-output.c (redisplay_update_line):
12081         * redisplay-output.c (redisplay_output_window):
12082         New begin/end methods.
12083
12084         * redisplay-tty.c:
12085         * redisplay-tty.c (tty_frame_output_begin):
12086         * redisplay-tty.c (tty_frame_output_end):
12087         * redisplay-tty.c (console_type_create_redisplay_tty):
12088         New begin/end methods.
12089
12090         * redisplay-x.c:
12091         * redisplay-x.c (x_window_output_begin):
12092         * redisplay-x.c (x_window_output_end):
12093         * redisplay-x.c (console_type_create_redisplay_x):
12094         New begin/end methods.
12095
12096         * redisplay.c (redisplay_frame):
12097         * redisplay.c (Fredisplay_echo_area):
12098         New begin/end methods.
12099         use MAYBE_DEVMETH for clear_frame; it may not exist.
12100
12101         * window.h (WINDOW_XFRAME):
12102         WINDOW_XFOO macros -- get locale and decode struct pointer.
12103
12104
12105 2000-05-12  Ben Wing  <ben@xemacs.org>
12106
12107         * emacs.c:
12108         * emacs.c (ensure_no_quitting_from_now_on):
12109         * emacs.c (fatal_error_signal):
12110         * emacs.c (mswindows_handle_hardware_exceptions):
12111         * emacs.c (main):
12112         * emacs.c (Fkill_emacs):
12113         * emacs.c (shut_down_emacs):
12114         * emacs.c (assert_failed):
12115         various improvements in fatal error handling.
12116
12117         * eval.c:
12118         move preparing_for_armageddon to emacs.c.
12119
12120         * lisp.h:
12121         declare fatal_error_in_progress.
12122
12123         * print.c:
12124         * print.c (std_handle_out_external):
12125         * print.c (std_handle_out_va):
12126         * print.c (stderr_out):
12127         * print.c (stdout_out):
12128         use console under mswin when no standard output.
12129         don't do code conversion during fatal error.
12130
12131         * scrollbar.c (Fscrollbar_page_up):
12132         * scrollbar.c (Fscrollbar_page_down):
12133         fix missing else.  reindent.
12134
12135 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12136
12137         Emergency fix.
12138
12139         * glyphs.h (GLYPH_CACHEL_DESCENT):
12140         (GLYPH_CACHEL_DESCENT):
12141         (GLYPH_CACHEL_DESCENT):
12142         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12143         used in case these are inline functions.
12144         Use more absurd values to error check.
12145
12146         include window.h for error check functions.
12147
12148 2000-05-11  Ben Wing  <ben@xemacs.org>
12149
12150         * cmdloop.c (Freally_early_error_handler):
12151         Display message box under windows; otherwise, message will disappear
12152         before it can be viewed.
12153
12154         * console-msw.c:
12155         * console-msw.c (Fmswindows_message_box):
12156         * console-msw.c (FROB):
12157         * console-msw.c (syms_of_console_mswindows):
12158         Define new fun `mswindows-message-box'.
12159         #### I will merge this into `popup-dialog-box'; just give me
12160         a bit of time.
12161
12162         * general.c:
12163         * general.c (syms_of_general):
12164         Some new symbols used in `mswindows-message-box'.
12165
12166         * glyphs.c:
12167         * glyphs.c (Fset_image_instance_property):
12168         put warning in this fun.
12169
12170         * glyphs.h:
12171         * glyphs.h (GLYPH_CACHEL_WIDTH):
12172         * glyphs.h (GLYPH_CACHEL_ASCENT):
12173         * glyphs.h (GLYPH_CACHEL):
12174         * glyphs.h (GLYPH_CACHEL_GLYPH):
12175         define error-checking versions to try to catch a bug i've seen --
12176         redisplay gets in an infinite loop because the glyph width of the
12177         continuation glyph is 65535.
12178
12179         * lisp.h:
12180         Extern message-box stuff.
12181
12182         * window.c (allocate_window):
12183         * window.c (make_dummy_parent):
12184         * window.c (Fset_window_configuration):
12185         Use EQUAL not EQ for subwindow caches to make them work a bit
12186         better. (Something is still very broken.)
12187
12188
12189 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12190
12191         * glyphs.c (image_instantiate): Suppress gcc warnings.
12192         (Fmake_image_instance): Fix doc string.
12193         * specifier.c (Fmake_specifier): Ditto.
12194
12195 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12196
12197         * paths.h.in (PATH_LOCK): Removed.
12198         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12199         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12200
12201 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12202
12203         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12204         Document (featurep '(and xemacs 21.02)).
12205
12206 2000-05-09  Ben Wing  <ben@xemacs.org>
12207
12208         * buffer.c (complex_vars_of_buffer):
12209         update modeline-format doc.
12210
12211         * device.h:
12212         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12213
12214         * emacs.c:
12215         timeline of all released versions of Emacs, for use in creating
12216         authorship comments and in synching up.
12217
12218         * glyphs-widget.c (image_instantiator_buttons):
12219         * glyphs-widget.c (image_instantiator_edit_fields):
12220         * glyphs-widget.c (image_instantiator_combo_box):
12221         * glyphs-widget.c (image_instantiator_scrollbar):
12222         * glyphs-widget.c (image_instantiator_progress_guage):
12223         * glyphs-widget.c (image_instantiator_tree_view):
12224         * glyphs-widget.c (image_instantiator_tab_control):
12225         * glyphs-widget.c (image_instantiator_labels):
12226         * glyphs-widget.c (image_instantiator_layout):
12227         * glyphs-widget.c (image_instantiator_native_layout):
12228         rename decode_domain method to governing_domain.
12229
12230         * glyphs.c:
12231         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12232         * glyphs.c (add_entry_to_device_ii_format_list):
12233         make sure we don't put an entry more than once into the list.
12234         * glyphs.c (check_instance_cache_mapper):
12235         *************************************************************
12236         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12237         HAVE BEEN GETTING.
12238         *************************************************************
12239         * glyphs.c (get_image_instantiator_governing_domain):
12240         clean up, expand on new concept of governing domain.
12241         * glyphs.c (instantiate_image_instantiator):
12242         * glyphs.c (allocate_image_instance):
12243         use governing_domain instead of cache_domain in naming.
12244         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12245         * glyphs.c (make_image_instance_1):
12246         * glyphs.c (Fmake_image_instance):
12247         allow for any domain (not just device), and process the
12248         governing domain correctly.  very big doc fix.
12249         * glyphs.c (Fimage_instance_domain):
12250         new primitive, to retrieve the governing domain of an image instance.
12251         * glyphs.c (image_instantiate):
12252         use new governing_domain stuff.  this fixes a crash you could get
12253         by instantiating certain widget glyphs in frame locales. (should
12254         signal an error instead of crashing.)
12255         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12256         * glyphs.c (Fglyphp): clean up doc.
12257         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12258         * glyphs.c (syms_of_glyphs):
12259         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12260         * glyphs.c (image_instantiator_format_create): add some comments about
12261         bogus code.
12262         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12263         for current-display-table. (Apparently Hrjove implemented in 1998 a
12264         design I wrote up in 1996, but didn't update the doc string.)
12265
12266         * glyphs.h: clean up a doc string.
12267         * glyphs.h (governing_domain):
12268         * glyphs.h (struct image_instantiator_methods):
12269         changes for governing_domain stuff.
12270
12271         * gutter.c:
12272         * gutter.c (Fgutter_specifier_p):
12273         * gutter.c (Fgutter_size_specifier_p):
12274         * gutter.c (Fgutter_visible_specifier_p):
12275         * objects.c:
12276         * objects.c (Fcolor_specifier_p):
12277         * objects.c (Ffont_specifier_p):
12278         * objects.c (Fface_boolean_specifier_p):
12279         doc strings moved to make-*-specifier.
12280
12281         * redisplay.c (add_disp_table_entry_runes_1):
12282         * redisplay.c (generate_fstring_runes):
12283         * redisplay.c (screen):
12284         add random comments and doc strings.
12285
12286         * specifier.c:
12287         * specifier.c (Fmake_specifier):
12288         major overhaul of this doc string.
12289
12290         * specifier.c (Fvalid_specifier_domain_p):
12291         comment about the bogosity of image instances being domains.
12292         * specifier.c (decode_domain):
12293         now non-static, used in glyphs.c.
12294         * specifier.c (specifier_instance):
12295         comment about the bogosity of image instances being domains.
12296         * specifier.c (Fgeneric_specifier_p):
12297         move doc string to make-generic-specifier.
12298         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12299         rebackslashify.
12300
12301         * specifier.h:
12302         * specifier.h (DOMAIN_FRAME):
12303         * specifier.h (DOMAIN_LIVE_P):
12304         * specifier.h (DOMAIN_XDEVICE):
12305         rebackslashify.
12306         add comments about problems with these macros.
12307         prototype for decode_domain.
12308
12309         * toolbar.c:
12310         * toolbar.c (Ftoolbar_specifier_p):
12311         move doc string to `make-toolbar-specifier'.
12312
12313         * window.c (window_unmap_subwindows_cache_mapper):
12314         *************************************************************
12315         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12316         HAVE BEEN GETTING.
12317         *************************************************************
12318
12319 2000-05-09  Andy Piper  <andy@xemacs.org>
12320
12321         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12322
12323         * window.c (Fset_window_configuration): reset the frame subwindow
12324         cache and re-initialize the window subwindow caches.
12325
12326         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12327
12328 2000-05-09  Ben Wing  <ben@xemacs.org>
12329
12330         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12331         DWORD.
12332
12333 2000-04-26  Mike Woolley  <mike@bulsara.com>
12334
12335         * ntheap.c: Changed recreate_heap to limit the amount reserved
12336         for the heap to that which is actually available. Also now
12337         displays a message box (with some dignostics) in the event that
12338         it still can't start.
12339
12340 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12341
12342         * callproc.c (Fold_call_process_internal): GCPRO path
12343
12344 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12345
12346         Patch by Bill Perry.
12347
12348         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12349         back data instead of #ifdef.
12350         (Fscrollbar_page_down): ditto.
12351
12352 2000-05-07  Ben Wing  <ben@xemacs.org>
12353
12354         * buffer.h:
12355         Kludge for defining Qmswindows_tstr.
12356
12357         * nt.c:
12358         * nt.c (open_input_file):
12359         * nt.c (open_output_file):
12360         * nt.c (rva_to_section):
12361         * nt.c (mswindows_executable_type):
12362         Move all memory-mapped-file routines here (some were in unexnt.c,
12363         which is bad because they are used by process-nt.c, and unexnt
12364         won't be around when portable dumping).  Synched the above routines
12365         with FSF 20.6.
12366
12367         * nt.h:
12368         Removed ifdef'd out bogus code.
12369         Fixed some prototypes.
12370
12371         * nt.h (file_data):
12372         * nt.h (OFFSET_TO_RVA):
12373         * nt.h (RVA_TO_OFFSET):
12374         * nt.h (RVA_TO_PTR):
12375         Moved the memory-mapped-file structures, macros and prototypes
12376         here, to parallel nt.c.  ntheap.h should really be removed
12377         entirely, and it's a non-portable-dumper specific file.
12378
12379         * ntheap.h (round_to_next):
12380         Moved the memory-mapped-file structures, macros and prototypes
12381         to nt.h.
12382
12383         * ntproc.c (compare_env):
12384         Moved rva_to_section and mswindows_executable_type to nt.c.
12385         Moved compare_env to process-nt.c.
12386         ntproc.c will die, one day.
12387
12388         * ntproc.c (sys_spawnve):
12389         Account for win32_ -> mswindows_.
12390
12391         * process-nt.c:
12392         * process-nt.c (struct nt_process_data):
12393         * process-nt.c (ensure_console_window_exists):
12394         * process-nt.c (compare_env):
12395         * process-nt.c (nt_create_process):
12396         * process-nt.c (nt_kill_process_by_pid):
12397         * process-nt.c (syms_of_process_nt):
12398         * process-nt.c (vars_of_process_nt):
12399         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12400         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12401         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12402         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12403         Move compare_env here from ntproc.c.
12404
12405         * process.c (Fprocess_send_region):
12406         Takes an optional fourth argument, BUFFER, which should fix some
12407         problems with call-process.
12408
12409         * syscommctrl.h:
12410         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12411
12412         * syswindows.h:
12413         Move ICC_BAR_CLASSES to syscommctrl.h.
12414         Add preliminary macros for MSWindows/Mule.  More to come.
12415
12416         * unexnt.c:
12417         * unexnt.c (unexec):
12418         open_output_file moved to nt.c.
12419
12420
12421 2000-05-05  Andy Piper  <andy@xemacs.org>
12422
12423         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12424         instance from the frame cache also since GC may catch up too late
12425         to make frame deletion sane.
12426
12427 2000-05-04  Andy Piper  <andy@xemacs.org>
12428
12429         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12430         (x_finalize_image_instance): ungcpro on deletion.
12431
12432         * glyphs.c (image_instantiator_format_create): give pointers a
12433         query geometry method so that the geometry is at least set.
12434
12435         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12436         initialize layouts if using widgets.
12437
12438 2000-05-03  Andy Piper  <andy@xemacs.org>
12439
12440         * nt.c: remove bogus reference to sysmmsystem.h
12441
12442         * gui-x.c (popup_selection_callback): fix no selection abort.
12443
12444 2000-05-02  Andy Piper  <andy@xemacs.org>
12445
12446         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12447         (mswindows_widget_instantiate): ditto.
12448
12449         * glyphs-widget.c (initialize_widget_image_instance): initialize
12450         children correctly.
12451         (widget_instantiate): cope with children and items in the same
12452         instance.
12453
12454         * glyphs.c (mark_image_instance): cope with children as a first
12455         class member.
12456         (image_instance_equal): ditto.
12457         (image_instance_hash): ditto.
12458         (image_instance_changed): ditto.
12459
12460 2000-04-30  Andy Piper  <andy@xemacs.org>
12461
12462         * glyphs.c (subwindow_query_geometry): new function. Return some
12463         defaults.
12464         (subwindow_instantiate): don't assign dimensions if none have been
12465         given.
12466         (image_instantiator_format_create): add subwindow_query_geometry.
12467         (print_image_instance): cope with layouts as widgets.
12468
12469 2000-04-29  Andy Piper  <andy@xemacs.org>
12470
12471         * frame.c (delete_frame_internal): call
12472         free_frame_subwindow_instance_cache so that all subwindows are
12473         finalized before their parent.
12474         (mark_frame): remove subwindow_cachels.
12475         (Fmake_frame): remove subwindow_cachel manipulation.
12476         (allocate_frame_core): subwindow_instance_cache is a weak list.
12477         (delete_frame_internal): set subwindow_instance_cache to nil.
12478
12479         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12480         finalization safe.
12481         (mswindows_finalize_image_instance): use the device
12482         not the domain as the domain may have died already.
12483
12484         * glyphs-x.c (x_finalize_image_instance): ditto.
12485         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12486         HEIGHT.
12487
12488         * redisplay-output.c (redisplay_unmap_subwindows): update for
12489         subwindow instance cache as a weak list.
12490         (redisplay_unmap_subwindows_maybe): ditto.
12491         (redisplay_unmap_subwindows_except_us): ditto.
12492
12493         * glyphs.c (unmap_subwindow): error checking will check the domain
12494         so don't deal with it here. Don't use cachels anymore.
12495         (map_subwindow): ditto.
12496         (update_subwindow_cachel_data): remove old accessor names.
12497         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12498         (Fresize_subwindow): don't update cachel.
12499         (mark_subwindow_cachels):
12500         (update_subwindow_cachel_data):
12501         (add_subwindow_cachel):
12502         (get_subwindow_cachel_index):
12503         (update_subwindow_cachel):
12504         (reset_subwindow_cachels):
12505         (mark_subwindow_cachels_as_not_updated): deleted.
12506         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12507         subwindow instance to the frame cache.
12508         (find_matching_subwindow): update for subwindow instance cache as
12509         a weak list.
12510         (update_widget_instances): ditto.
12511         (image_instance_type_to_mask):inlined.
12512         (free_frame_subwindow_instance_cache): new function. finalize all
12513         subwindows that are instantiated.
12514
12515         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12516         of cachel information.
12517         (IMAGE_INSTANCE_DISPLAY_X):
12518         (IMAGE_INSTANCE_DISPLAY_Y):
12519         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12520         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12521         (XIMAGE_INSTANCE_DISPLAY_X):
12522         (XIMAGE_INSTANCE_DISPLAY_Y):
12523         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12524         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12525         remove subwindow_cachel structure and function references.
12526         (image_instance_type_to_mask): inline from glyphs.c
12527
12528         * redisplay.c (redisplay_frame): remove subwindow_cachel
12529         references.
12530
12531         * frame.h (struct frame): remove subwindow_cachels.
12532         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12533
12534         * frameslots.h: add subwindow_instance_cache.
12535
12536         * window.c (replace_window): check subwindow cache of replacement.
12537         (window_unmap_subwindows_cache_mapper):
12538         (window_unmap_subwindows): new functions. Unmap all subwindows
12539         cached on this window.
12540         (mark_window_as_deleted): unmap all subwindows.
12541
12542 2000-04-27  Andy Piper  <andy@xemacs.org>
12543
12544         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12545
12546         * glyphs-widget.c (widget_layout): return something.
12547         (layout_layout): return something. Fail if not initialized.
12548         (layout_query_geometry): ditto.
12549         (image_instantiator_native_layout): new function. Initialized the
12550         native layout type.
12551         (widget_instantiate): don't do layout stuff here.
12552
12553         * glyphs.c (instantiate_image_instantiator): reorded calling or
12554         instantiate and post_instantiate with layout in between.
12555         (image_instance_layout): be more selective about deciding whether
12556         the layout has been done or not.
12557
12558         * glyphs.h (struct image_instantiator_methods): return a value
12559         from layout_method.
12560
12561 2000-04-26  Andy Piper  <andy@xemacs.org>
12562
12563         * glyphs.c (allocate_image_instance): make initial width and
12564         height unspecified. Set initialized to 0.
12565
12566         * syscommctrl.h new file. Encapsulates commctrl.h.
12567
12568         * syswindows.h new file. Encapsulates windows.h.
12569
12570         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12571         * nt.c: ditto.
12572         * console-msw.h: ditto.
12573
12574         * redisplay-tty.c (tty_output_display_block): remove layout references.
12575
12576         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12577         window handle rather than just the frame.
12578
12579         * glyphs.c (mark_image_instance): remove layout references.
12580         (print_image_instance): ditto.
12581         (image_instance_equal): ditto.
12582         (image_instance_hash): ditto.
12583         (decode_image_instance_type): ditto.
12584         (encode_image_instance_type): ditto.
12585         (image_instantiate): ditto.
12586         (allocate_glyph): ditto.
12587         (Fimage_instance_height): ditto.
12588         (Fimage_instance_width): ditto.
12589         (update_subwindow): ditto.
12590
12591         * redisplay-x.c (x_output_display_block): recode for layouts as
12592         widgets.
12593
12594         * redisplay-output.c (redisplay_output_layout): recode for layouts
12595         as widgets.
12596         (compare_runes): remove layout references.
12597
12598         * redisplay-msw.c (mswindows_output_display_block): recode for
12599         layouts as widgets.
12600
12601         * glyphs-widget.c (image_instantiator_layout): remove
12602         layout_possible_dest_types.
12603         (layout_possible_dest_types): deleted.
12604
12605         * glyphs.h (image_instance_type): remove layout references.
12606         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12607         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12608         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12609
12610 2000-04-25  Andy Piper  <andy@xemacs.org>
12611
12612         * glyphs-widget.c (image_instantiator_buttons):
12613         (image_instantiator_edit_fields):
12614         (image_instantiator_combo_box):
12615         (image_instantiator_scrollbar):
12616         (image_instantiator_progress_guage):
12617         (image_instantiator_tree_view):
12618         (image_instantiator_tab_control):
12619         (image_instantiator_labels):
12620         (image_instantiator_layout): call default post_instantiate method.
12621         (widget_post_instantiate): new function. Simply lays out the
12622         widgets.
12623
12624         * glyphs.h (struct image_instantiator_methods): add
12625         post_instantiate method.
12626
12627         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12628         method calls.
12629
12630 2000-04-23  Andy Piper  <andy@xemacs.org>
12631
12632         * glyphs.h (struct image_instantiator_methods): add
12633         decode_domain_method.
12634         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12635         derived from the domain.
12636         (IMAGE_INSTANCE_FRAME): new accessor.
12637         (XIMAGE_INSTANCE_FRAME): ditto.
12638
12639         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12640         instead of _SUBWINDOW_FRAME.
12641         (finalize_image_instance): ditto.
12642         (Fimage_instance_foreground): ditto.
12643         (Fimage_instance_background): ditto.
12644         (image_instantiate): ditto.
12645         (update_subwindow_cachel): ditto.
12646         (update_subwindow): ditto.
12647         (unmap_subwindow): ditto.
12648         (map_subwindow): ditto
12649         (subwindow_instantiate): ditto.
12650         * glyphs-msw.c (mswindows_update_widget): ditto.
12651         (mswindows_progress_gauge_instantiate): ditto.
12652         (mswindows_tab_control_update): ditto.
12653         * glyphs-x.c (x_update_widget): ditto.
12654         (x_widget_instantiate): ditto.
12655         (x_tab_control_instantiate): ditto.
12656         (x_tab_control_update): ditto.
12657         * event-msw.c (mswindows_wnd_proc): ditto
12658
12659         * glyphs-widget.c (image_instantiator_layout): use
12660         subwindow_decode_domain.
12661         (image_instantiator_buttons): ditto.
12662         (image_instantiator_edit_fields): ditto.
12663         (image_instantiator_combo_box): ditto.
12664         (image_instantiator_scrollbar): ditto.
12665         (image_instantiator_progress_guage): ditto.
12666         (image_instantiator_tree_view): ditto.
12667         (image_instantiator_tab_control): ditto.
12668         (image_instantiator_labels): ditto.
12669         (image_instantiator_layout): ditto.
12670
12671         * glyphs.c: add instance error checking to many functions.
12672         (instantiate_image_instantiator): decode device from cache_domain.
12673         (image_instantiate): partially rewrite by using
12674         decode_image_instantiator_domain to determine what domain the
12675         instance needs to be cached in.
12676         (decode_image_instantiator_domain): new function. Determine what
12677         domain the image needs to be cached in.
12678         (check_window_subwindow_cache): new error checking function.
12679         (check_instance_cache_mapper): ditto.
12680         (check_image_instance_structure): ditto.
12681         (subwindow_decode_domain): new function. Encodes a window as a
12682         subwindow's cache domain.
12683         (image_instantiator_format_create): use it for text and
12684         subwindows.
12685
12686 2000-04-21  Andy Piper  <andy@xemacs.org>
12687
12688         * glyphs.c (image_instance_device): new function.
12689         (image_instance_frame): new function.
12690         (image_instance_window): new function.
12691         (image_instance_live_p): new function.
12692
12693         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12694         cache to nil.
12695
12696         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12697         (IMAGE_INSTANCE_DOMAIN): new accessor.
12698         (XIMAGE_INSTANCE_DOMAIN): ditto.
12699
12700         * glyphs-x.c (x_finalize_image_instance): device->domain.
12701
12702         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12703         (mswindows_finalize_image_instance): ditto.
12704
12705         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12706         (gif_instantiate): ditto.
12707         (png_instantiate): ditto.
12708         (tiff_instantiate): ditto.
12709
12710         * glyphs.c (instantiate_image_instantiator): use domain rather
12711         than device.
12712         (mark_image_instance): device -> domain.
12713         (print_image_instance): ditto.
12714         (finalize_image_instance): ditto.
12715         (image_instance_equal): ditto.
12716         (allocate_image_instance): ditto.
12717         (Fcolorize_image_instance): ditto.
12718         (query_string_geometry): ditto.
12719         (image_instantiate): ditto
12720         (query_string_font): ditto.
12721         (image_instantiate): ditto.
12722         (update_subwindow): ditto.
12723         (unmap_subwindow): ditto.
12724         (map_subwindow): ditto.
12725         (subwindow_instantiate): ditto.
12726
12727         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12728         (DOMAIN_FRAME): ditto.
12729         (DOMAIN_WINDOW): ditto.
12730         (DOMAIN_LIVE_P): ditto.
12731         (XDOMAIN_DEVICE): ditto.
12732         (XDOMAIN_FRAME): ditto.
12733         (XDOMAIN_WINDOW): ditto.
12734
12735         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12736         a valid specifier domain.
12737
12738 2000-04-19  Andy Piper  <andy@xemacs.org>
12739
12740         * glyphs-widget.c (syms_of_glyphs_widget): remove
12741         widget-callback-current-channel.
12742         (vars_of_glyphs_widget): ditto.
12743         * glyphs.h: ditto
12744
12745         * gui.c (get_gui_callback): revert to previous behaviour.
12746
12747 2000-04-18  Andy Piper  <andy@xemacs.org>
12748
12749         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12750         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12751         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12752
12753         * glyphs.c (image_instance_equal): add margin_width.
12754         (image_instance_hash): ditto.
12755
12756         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12757         (layout_query_geometry): ditto.
12758         (layout_layout): ditto.
12759         (syms_of_glyphs_widget): add margin-width.
12760         (image_instantiator_layout): allow margin-width.
12761
12762         * glyphs.c (update_widget_instances): make a normal function.
12763         (syms_of_glyphs): remove Qupdate_widget_instances.
12764         * glyphs.h: ditto.
12765
12766         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12767         so that we don't corrupt ideas about the last event or
12768         command. Remove widget-callback-current-channel fiddling.
12769         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12770
12771 2000-05-01  Martin Buchholz <martin@xemacs.org>
12772
12773         * XEmacs 21.2.33 is released.
12774
12775 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12776
12777         * make-src-depend: Allow dots in header file name.
12778
12779 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12780
12781         * mule-charset.h (struct charset_lookup): Add
12782         next_allocated_1_byte_leading_byte and
12783         next_allocated_2_byte_leading_byte.
12784         * mule-charset.c: Move above two variables so that those values
12785         will be dumped.
12786
12787 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12788
12789         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12790         when string length is zero.
12791         (find_charsets_in_emchar_string): Ditto.
12792
12793 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12794
12795         * lisp.h: extern Qdialog and Qmenubar.
12796
12797         * gui-x.c: added events.h.
12798                 also fixed typo which made the file uncompilable.
12799
12800         * general.c: Added Qmenubar and Qdialog
12801
12802 2000-04-28  Ben Wing  <ben@xemacs.org>
12803
12804         * frame-msw.c (mswindows_init_frame_1):
12805         * frame-msw.c (mswindows_mark_frame):
12806         * event-msw.c (mswindows_enqueue_dispatch_event):
12807         * console-msw.h:
12808         * console-msw.h (struct mswindows_frame):
12809         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12810         there are now three hash tables for callbacks.
12811         mswindows_enqueue_dispatch_event is no longer static.
12812
12813         * dialog-x.c (maybe_run_dbox_text_callback):
12814         * dialog-x.c (dbox_descriptor_to_widget_value):
12815         switch to new cons3 form for callbacks.
12816
12817         * glyphs-msw.c (mswindows_register_gui_item):
12818         * glyphs-msw.c (mswindows_widget_instantiate):
12819         * glyphs-msw.c (add_tree_item):
12820         * glyphs-msw.c (add_tab_item):
12821         new image instance parameter, so it can be passed to callback-ex.
12822         respect :callback-ex as well as :callback.
12823
12824         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12825         add :callback-ex.
12826
12827         * glyphs.c (print_image_instance):
12828         prettify, e.g. now prints widget type.
12829
12830         * gui-x.h:
12831         certain funs have new image instance parameter.
12832
12833         * gui.c:
12834         * gui.c (get_gui_callback):
12835         * gui.c (gui_item_add_keyval_pair):
12836         * gui.c (gui_item_init):
12837         * gui.c (gui_add_item_keywords_to_plist):
12838         * gui.c (mark_gui_item):
12839         * gui.c (gui_item_hash):
12840         * gui.c (gui_item_equal):
12841         * gui.c (copy_gui_item):
12842         * gui.c (syms_of_gui):
12843         recognize callback-ex in a number of places.
12844         also, fix the annoying "can't get out of yes-no dialog" bug.
12845
12846         * gui.h:
12847         * gui.h (struct Lisp_Gui_Item):
12848         recognize callback-ex in a number of places.
12849
12850         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12851         new parameter in button_item_to_widget_value.
12852
12853         * glyphs-x.c (x_update_widget):
12854         * glyphs-x.c (x_button_instantiate):
12855         * glyphs-x.c (x_button_update):
12856         * glyphs-x.c (x_progress_gauge_instantiate):
12857         * glyphs-x.c (x_edit_field_instantiate):
12858         * glyphs-x.c (x_combo_box_instantiate):
12859         * glyphs-x.c (x_tab_control_instantiate):
12860         * glyphs-x.c (x_label_instantiate):
12861         new image instance parameter in various places.
12862
12863         * event-Xt.c:
12864         * event-Xt.c (enqueue_Xt_dispatch_event):
12865         this fun gets exported.
12866
12867         * gui-msw.c:
12868         * gui-msw.c (mswindows_handle_gui_wm_command):
12869         handle both :callback and :callback-ex, and generate our own
12870         event because it's one of the callback-ex arguments.
12871
12872         * gui-x.c:
12873         * gui-x.c (popup_selection_callback):
12874         handle both :callback and :callback-ex, and generate our own
12875         event because it's one of the callback-ex arguments.
12876         * gui-x.c (button_item_to_widget_value):
12877         * gui-x.c (gui_items_to_widget_values_1):
12878         * gui-x.c (gui_item_children_to_widget_values):
12879         * gui-x.c (gui_items_to_widget_values):
12880         new image instance parameter in various places.
12881
12882         * fns.c (Freplace_list):
12883         fix small typo in doc string.
12884
12885         * lisp.h:
12886         declare enqueue_Xt_dispatch_event.
12887
12888 2000-04-28  Ben Wing  <ben@xemacs.org>
12889
12890         * buffer.c:
12891         * buffer.c (Frecord_buffer):
12892         * buffer.c (syms_of_buffer):
12893         delete record-buffer-hook.
12894
12895         * fns.c:
12896         * fns.c (Freplace_list):
12897         * fns.c (syms_of_fns):
12898         new primitive replace-list.
12899
12900         * frameslots.h:
12901         slot for old buffer-alist.
12902
12903         * lisp.h:
12904         exfun replace-list.
12905
12906         * redisplay.c:
12907         * redisplay.c (redisplay_frame):
12908         * redisplay.c (syms_of_redisplay):
12909         * redisplay.c (vars_of_redisplay):
12910         new hook buffer-list-changed-hook.
12911         call it.
12912
12913 2000-04-27  Ben Wing  <ben@xemacs.org>
12914
12915         * extents.h: extern in_modeline_generation.
12916
12917         * redisplay.c (generate_formatted_string_db): set
12918         in_modeline_generation.
12919
12920         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12921         flags if in modeline generation.  otherwise frame-modified-tick
12922         is ticked far too often.
12923         Declare in_modeline_generation.
12924
12925 2000-04-26  Ben Wing  <ben@xemacs.org>
12926
12927         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12928         option.
12929         (vars_of_emacs): add quick-build as an error-checking option.
12930         A bit kludgy, but there doesn't seem much point in creating
12931         a real var for this.
12932
12933         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12934
12935 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12936
12937         * redisplay.h (struct display_line): Add a new variable,
12938         line_continuation.
12939
12940         * redisplay.c (create_text_block): Set dl->line_continuation if
12941         the line continues.
12942         (create_string_text_block): Ditto.
12943         (regenerate_window_incrementally): Use line_continuation instead
12944         of searching continuation glyph.
12945         (add_margin_runes): Call add_glyph_rune.
12946         (add_glyph_rune): Handle margin glyph.
12947
12948 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12949
12950         * filelock.c (fill_in_lock_file_name):
12951         ANSIfy.
12952         Check for IS_ANY_SEP instead of '/'.
12953         (lock_file_1):
12954         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12955         Never check errno without first seeing that system call failed.
12956         (unlock_file): Add GCPRO.
12957         (Flock_buffer): Fix docstring.
12958         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12959
12960 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12961
12962         * sysdep.c (get_pty_max_bytes):
12963         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12964         strings longer than 252 bytes.
12965
12966         * md5.c: Unconditionally include ANSI header <limits.h>
12967
12968         * glyphs-x.c (convert_EImage_to_XImage):
12969         * lisp-union.h (union Lisp_Object):
12970         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12971
12972 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12973
12974         * filelock.c (current_lock_owner): Remove unused variable o, p.
12975
12976 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12977
12978         * callint.c: Remove multiply defined symbol Qlet
12979         (syms_of_callint): ditto.
12980
12981 2000-04-14  Andy Piper  <andy@xemacs.org>
12982
12983         * general.c (syms_of_general): add last-command, this-command, let
12984         and funcall.
12985
12986         * lisp.h: declare various symbols.
12987
12988         * glyphs.h: declare Qwidget_callback_current_channel;
12989
12990         * glyphs-widget.c (syms_of_glyphs_widget): add
12991         Qgui_callback_current_channel.
12992         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12993
12994         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12995         widget-callback-current-channel when invoking the interactive
12996         arg. Also bind last-command and next-command when invoking the
12997         widget updates.
12998         * gui-x.c (popup_selection_callback): ditto.
12999
13000         * gui.c (get_gui_callback): massage args so that we are always
13001         calling eval. This allows us to add our own variable bindings
13002         outside.
13003
13004         * glyphs-x.c (x_button_instantiate): use
13005         gui_items_to_widget_values since this is GC safe.
13006         (x_progress_gauge_instantiate): ditto.
13007         (x_edit_field_instantiate): ditto.
13008         (x_label_instantiate): ditto.
13009
13010         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13011         (emacs_Xt_event_widget_focus_out): new function
13012         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13013         focus.
13014         (emacs_Xt_event_add_widget_actions): new function. add focus
13015         functions as actions.
13016         (init_event_Xt_late): use it.
13017
13018 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13019
13020         * event-stream.c (Fdispatch_event): Doc fix.
13021
13022 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13023
13024         * postgresql.c: Remove all references to PQsetenv*.
13025
13026         * postgresql.h: Remove references to PGsetenvHandler object.
13027         * lrecord.h (lrecord_type): Ditto.
13028
13029 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13030
13031         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13032         real_heigh and real_width members, and accessor macros for these.
13033
13034         * glyphs-msw.c (init_image_instance_geometry): New function.
13035         (init_image_instance_from_dibitmap): Use it.
13036         (mswindows_resource_instantiate): Use it.
13037         (init_image_instance_from_xbm_inline): Use it.
13038         (mswindows_initialize_image_instance_mask): Use real bitmap
13039         geometry.
13040         (mswindows_create_resized_bitmap): Ditto.
13041         (mswindows_create_resized_mask): Ditto.
13042
13043         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13044         and bitmap to their surface size.
13045
13046 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13047
13048         * process-unix.c (unix_send_process): Guard against process MIA
13049         after Faccept_process_output.
13050
13051 2000-04-11  Ben Wing  <ben@xemacs.org>
13052
13053         * eval.c (unbind_to_hairy): fix brokenness introduced by
13054         nanosecond speed improvements.
13055
13056 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13057
13058         * sunplay.c (init_device): To play sounds correctly, the device
13059         apparently needs to be initialized at least once by XEmacs.  Make
13060         it so.
13061
13062 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13063
13064         * redisplay.c (add_margin_runes): Add text image glyph
13065           handling.
13066
13067 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13068
13069         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13070         gcc is newer than 2.5.
13071
13072 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13073
13074         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13075
13076         * fns.c (size_bit_vector):
13077         * alloc.c (size_vector):
13078         (make_vector_internal):
13079         (make_bit_vector_internal):
13080         (sweep_bit_vectors_1):
13081         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13082
13083 2000-04-06  Andy Piper  <andy@xemacs.org>
13084
13085         * gmalloc.c (malloc): undo previous change.
13086         (malloc): ditto.
13087         (free): ditto.
13088         (realloc): ditto.
13089
13090 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13091
13092         * line-number.c (buffer_line_number): Revert to former version.
13093
13094 2000-04-06  Andy Piper  <andy@xemacs.org>
13095
13096         * gmalloc.c (malloc): add error checking.
13097         (malloc): ditto.
13098         (free): ditto.
13099         (realloc): ditto.
13100
13101         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13102         button_item_to_widget_value arg.
13103
13104         * glyphs-x.c (x_button_instantiate): add extra
13105         button_item_to_widget_value arg.
13106         (x_progress_gauge_instantiate): ditto.
13107         (x_edit_field_instantiate): ditto.
13108         (x_label_instantiate): ditto.
13109
13110         * gui-x.c (gui_items_to_widget_values_1): add extra
13111         button_item_to_widget_value arg.
13112         (button_item_to_widget_value): add extra menu_item_p arg.
13113
13114         * gui-x.h: change signature of button_item_to_widget_value.
13115
13116         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13117         button_item_to_widget_value arg.
13118
13119 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13120
13121         * buffer.h (struct buffer): auto_save_modified should be long.
13122
13123 2000-04-05  Andy Piper  <andy@xemacs.org>
13124
13125         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13126         type.
13127         (button_query_geometry): give a little more room so that athena
13128         buttons fit.
13129
13130 2000-04-05  Andy Piper  <andy@xemacs.org>
13131
13132         * faces.c (complex_vars_of_faces): The widget face should inherit
13133         the font of the gui-element face.
13134
13135 2000-04-04  Andy Piper  <andy@xemacs.org>
13136
13137         * glyphs-x.c (x_button_update): new function. unconditionally
13138         update a button's state when the instance is dirty.
13139         (image_instantiator_format_create_glyphs_x): add x_button_update.
13140         (x_widget_instantiate): remove old resize cruft.
13141
13142 2000-04-02  Andy Piper  <andy@xemacs.org>
13143
13144         * frame.c (change_frame_size_1): The introduction of gutters means
13145         that we need to allow 0 as a potential frame dimension.
13146
13147 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13148
13149         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13150         image glyph if allow_cursor.
13151         (add_hscroll_rune): Don't allow cursor to border glyph.
13152         (create_text_block): Ditto.
13153
13154         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13155         text not in buffer.
13156         (redisplay_output_layout): Call ensure_face_cachel_complete for
13157         text image glyph.
13158
13159
13160 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13161
13162         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13163
13164         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13165         not in buffer
13166
13167         * redisplay-tty.c (tty_output_display_block): Delete the routine
13168         for text image glyph
13169         * redisplay-x.c (x_output_display_block): ditto
13170         * redisplay-msw.c (mswindows_output_display_block): ditto
13171
13172 2000-02-02  Mike Alexander  <mta@arbortext.com>
13173
13174         Note: Some of these were committed by accident as part of other
13175         patches.
13176
13177         * regex.c (regex_compile): Avoid compiler warnings.
13178
13179         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13180
13181         * nt.h: Declare term_ntproc correctly.
13182
13183         * nt.c: Remove incorrect declaration of get_home_directory which
13184         is declared correctly in lisp.h.
13185
13186         * keymap.c (get_keyelt): Avoid compiler warnings.
13187         (raw_lookup_key_mapper): Avoid compiler warnings.
13188
13189         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13190
13191         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13192
13193         * filemode.c (mode_string): Avoid compiler warnings.
13194
13195         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13196         avoid warning.
13197
13198         * events-mod.h: Undef some things that winuser.h defines differently.
13199
13200         * data.c (Faset): Avoid compiler warnings.
13201
13202         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13203
13204 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13205
13206         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13207         Fall through to simple beep on error.
13208         Replace "extern" by real header file.
13209
13210         * linuxplay.c: Use nativesound.h
13211         (play_sound_data): Return error code. Be less verbose on error.
13212
13213         * sunplay.c: Use nativesound.h
13214         (play_sound_data): Return error code. Be less verbose on error.
13215
13216         * ntplay.c: Use nativesound.h
13217         (play_sound_data): Return fake error code
13218
13219         * sgiplay.c: Use nativesound.h
13220         (play_sound_data): Return error code
13221
13222         * hpplay.c: Use nativesound.h, partially implement
13223         new error code. Break compilation until finished.
13224         (play_sound_data): error code.
13225
13226         * nativesound.h (play_sound_file):
13227           (play_sound_data): Prototype in new header.
13228
13229 2000-03-31  Andy Piper  <andy@xemacs.org>
13230
13231         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13232         for toggle and radio buttons.
13233         (image_instantiator_buttons): use it.
13234
13235 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13236
13237         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13238         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13239         found. Scrollbar event probably belonged to some old config.
13240
13241 2000-03-31  Andy Piper  <andy@xemacs.org>
13242
13243         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13244         than 1.
13245         (initialize_widget_image_instance): default layout to
13246         LAYOUT_HORIZONTAL rather than 0.
13247         (widget_instantiate): reverse the item list at the end rather than
13248         every iteration.
13249         (layout_layout): re-code for the border text at the front of the
13250         item list rather than at the end.
13251         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13252         provided by the user.
13253         (widget_query_geometry): comment.
13254
13255 2000-03-30  Andy Piper  <andy@xemacs.org>
13256
13257         * glyphs-widget.c (image_instantiator_layout): allow standard
13258         widget keywords in layouts.
13259
13260         * gutter.c (output_gutter): cope with nil gutter contents.
13261
13262         * frame.c (Fset_frame_properties): add gutter docs.
13263
13264 2000-03-29  Andy Piper  <andy@xemacs.org>
13265
13266         * toolbar-msw.c (TBSTYLE_FLAT): add.
13267         (mswindows_output_toolbar): minor fiddling.
13268
13269 2000-03-29  Andy Piper  <andy@xemacs.org>
13270
13271         * gutter.c (output_gutter): force gutter size recalculation if
13272         what we are trying to display won't fit.
13273         (update_gutter_geometry): new function. A per-gutter version of
13274         update_frame_gutter_geometry.
13275         (update_frame_gutter_geometry): use it.
13276         (redraw_exposed_gutter): add extra debugging output.
13277
13278 2000-03-28  Mike Alexander  <mta@arbortext.com>
13279
13280         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13281         (pdump_file_unmap): Implement it on Windows
13282         (pdump_file_get): Save alocated handles for pdump_file_unmap
13283
13284 2000-03-28  Andy Piper  <andy@xemacs.org>
13285
13286         * gui.c (get_gui_callback): treat Quit specially.
13287
13288 2000-03-27  Andy Piper  <andy@xemacs.org>
13289
13290         * glyphs.c (image_instantiate): be careful to check in the same
13291         way we assigned.
13292
13293 2000-03-27  Didier Verna  <didier@xemacs.org>
13294
13295         * config.h.in: define the proper SMART_INCLUDE macro.
13296         handle renaming of `foo_h_path' to `foo_h_file'.
13297
13298         * database.c: ditto.
13299
13300         * emacs.c: ditto.
13301
13302         * linuxplay.c: ditto.
13303
13304         * terminfo.c: ditto.
13305
13306         * tooltalk.h: ditto.
13307
13308 2000-03-27  Andy Piper  <andy@xemacs.org>
13309
13310         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13311         gets updated whenever the face might have changed.
13312
13313 2000-03-26  Mike Alexander  <mta@arbortext.com>
13314
13315         * dumper.c (pdump_resource_free): Fix the comment.
13316
13317 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13318
13319         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13320
13321 2000-03-22  Mike Alexander  <mta@arbortext.com>
13322
13323         * dumper.c: Include Windows headers on Windows
13324         (pdump_resource_free): Add a body to the function
13325         (pdump_load): exe_name -> exe_path and add some comments.
13326
13327 2000-03-25  Mike Alexander  <mta@arbortext.com>
13328
13329         * gui.c (copy_gui_item_tree): Return a value in all cases
13330
13331 2000-03-21  Didier Verna  <didier@xemacs.org>
13332
13333         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13334         lwlib/config.h.in.
13335         (SMART_INCLUDE): new macro.
13336         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13337         the proper location.
13338
13339         * postgresql.c: use it.
13340
13341         * inline.c: ditto.
13342
13343 2000-03-24  Andy Piper  <andy@xemacs.org>
13344
13345         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13346         do this.
13347
13348 2000-03-24  Andy Piper  <andy@xemacs.org>
13349
13350         * redisplay-output.c (compare_runes): use image_instance_changed
13351         to detect changes. Do not depend on glyphs_changed, only depend on
13352         dirtiness.
13353          (redisplay_output_layout): add debug messages.
13354         (compare_runes): ditto.
13355
13356         * glyphs.h: declare new functions.
13357         (struct Lisp_Image_Instance): remove percent and associated
13358         accessors.
13359
13360         * gui.h: declare new copying functions.
13361
13362         * gui.c (copy_gui_item_tree): new function.
13363         (copy_gui_item): new function.
13364         (gui_item_id_hash): revert to standard hash.
13365         (gui_item_hash): ditto.
13366         (gui_item_hash_internal): deleted.
13367         (mark_gui_item): mark value.
13368         (gui_item_add_keyval_pair): add value.
13369         (gui_item_init): ditto.
13370         (gui_add_item_keywords_to_plist): ditto.
13371         (gui_item_equal): ditto.
13372         (syms_of_gui): add Q_value.
13373
13374         * glyphs-x.c (x_progress_gauge_update): use pending items and
13375         value for setting the state.
13376         (x_update_widget): don't set items from pending here.
13377
13378         * glyphs-widget.c (update_widget): update items here.
13379         (progress_gauge_set_property): use items for storing value. Put
13380         new value in pending items.
13381
13382         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13383         items for new value. Convert percent -> value.
13384         (mswindows_tab_control_update): don't update items here.
13385
13386         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13387         (update_subwindow): ditto.
13388         (image_instance_changed): new function. Compare hash values and
13389         past and present widget items.
13390         (image_instantiate): We more careful about where we instantiate
13391         things.
13392         (image_instantiate): add error checking.
13393
13394         * gutter.c (syms_of_gutter): use -hook.
13395
13396 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13397
13398         * console-tty.c (Fset_console_tty_input_coding_system): Use
13399         Qkeyboard.
13400         (Fset_console_tty_output_coding_system): Use Qterminal.
13401         (tty_init_console): Use Qkeyboard and Qterminal.
13402
13403 2000-03-21  Ben Wing  <ben@xemacs.org>
13404
13405         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13406         From Mike Alexander <mta@arbortext.com>.
13407
13408 2000-03-21  Ben Wing  <ben@xemacs.org>
13409
13410         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13411         process brokenness.  Proper implementation to come.
13412         * callproc.c:
13413         Rename call-process-internal to old-call-process-internal.
13414         New impl. in process.el.
13415
13416 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13417
13418         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13419
13420 2000-03-20  Andy Piper  <andy@xemacs.org>
13421
13422         * glyphs.c (full_list_hash): make hashes of the same elements in
13423         different orders return different values.
13424
13425 2000-03-20  Martin Buchholz <martin@xemacs.org>
13426
13427         * XEmacs 21.2.32 is released.
13428
13429 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13430
13431         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13432         (DFC_MALLOC_USE_CONVERTED_DATA):
13433         Add aliasing-safe casts to allow use with char* or unsigned char*
13434         lvalues.
13435
13436         * eldap.c (Fldap_open):
13437         (Fldap_search_basic):
13438         (Fldap_add):
13439         (Fldap_modify):
13440         Make C++-compilable.
13441         Make sure GCPRO'ed variables are initialized.
13442         Use temp variables to avoid repeated calls to Flength.
13443
13444 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13445
13446         * sysfile.h:
13447         Make sure PATH_MAX is always defined.
13448         Include limits.h for PATH_MAX.
13449         Deprecate use of MAXPATHLEN.
13450
13451 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13452
13453         * emacs.c: Add reinit_vars_of_fileio.
13454         * symsinit.h: Add reinit_vars_of_fileio.
13455         * fileio.c (reinit_vars_of_fileio): New.
13456         * fileio.c (Fmake_temp_name):
13457         Initialize temp_name random number from microseconds to make
13458         collisions even less likely.  Initialize always at process startup
13459         time.  (make-temp-name) used to return the same file name twice in
13460         a row when PDUMP.
13461         Random stylistic fiddling.
13462         Comment fixes.
13463
13464 2000-03-20  Andy Piper  <andy@xemacs.org>
13465
13466         * glyphs.c (image_instantiate): allow text glyphs to be
13467         instantiated in the minibuffer window.
13468
13469 2000-03-19  Andy Piper  <andy@xemacs.org>
13470
13471         * glyphs.c (image_instance_hash): be careful about which items we
13472         hash on.
13473
13474         * glyphs-widget.c (tab_control_set_property): record into pending
13475         items rather than the actual items.
13476
13477         * glyphs-x.c (x_update_widget): use pending items to update with.
13478
13479         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13480         to update with.
13481
13482         * glyphs.c (mark_image_instance): mark pending items.
13483
13484         * window.c (Fset_window_configuration): record the buffer.
13485         (Fselect_window): totally revert previous change which breaks many
13486         things.
13487
13488 2000-03-18  Andy Piper  <andy@xemacs.org>
13489
13490         * glyphs-msw.c (mswindows_tab_control_update): force selected
13491         item.
13492
13493         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13494         window domain cache, otherwise we get inconsistencies at
13495         startup. There is something fishy at startup which can lead to the
13496         minibuffer being the selected window when the gutter content is
13497         instantiated.
13498
13499         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13500         gcpros.
13501         (parse_gui_item_tree_children): ditto.
13502         (parse_gui_item_tree_item): ditto.
13503
13504         * glyphs.c (Fupdate_widget_instances): return something.
13505
13506 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13507
13508         * window.c (Fselect_window): Undo 2000-03-17 change.
13509
13510 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13511
13512         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13513         against v7.0 libraries.  Insta-coredump city until the postgres
13514         folks fix it.
13515
13516 2000-03-17  Andy Piper  <andy@xemacs.org>
13517
13518         * faces.c (complex_vars_of_faces): don't give the widget face an
13519         inherited background pixmap.
13520
13521         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13522         selected item.
13523
13524         * event-stream.c (Fdispatch_non_command_events): return something.
13525
13526         * gutter.c (output_gutter): use widget face.
13527         (clear_gutter): ditto.
13528
13529         * NEWS: adjust again.
13530
13531         * window.c (Fselect_window): make sure this runs to completion to
13532         avoid oddities with Fset_window_configuration.
13533         (Fcurrent_window_configuration): in general do not save the
13534         minibuffer as the selected window.
13535
13536         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13537
13538 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13539
13540         * emacs.c (Frunning_temacs_p): Revert previous patch.
13541         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13542
13543 2000-03-16  Andy Piper  <andy@xemacs.org>
13544
13545         * glyphs-x.c (x_tab_control_update): if no widget values then
13546         return.
13547
13548         * NEWS: update for new features.
13549
13550         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13551         synthetic event to the native system.
13552         (reinit_vars_of_event_Xt): set force_event_pending to
13553         emacs_Xt_force_event_pending.
13554
13555         * events.h (struct event_stream): add force_event_pending.
13556
13557         * specifier.c (recompute_one_cached_specifier_in_window): add
13558         comment.
13559
13560         * redisplay.c (redisplay_frame): don't call
13561         update_frame_subwindows. Reset subwindow cachels when
13562         subwindows_changed, removing this was an optimization too far.
13563
13564         * redisplay-output.c (compare_runes): reorganize so that we catch
13565         glyph changes when we want them. Set optimize_output when this
13566         would help layouts.
13567         (redisplay_output_layout): remove frame_really_changed, use
13568         optimize_output instead.
13569
13570         * redisplay-msw.c (mswindows_output_display_block): reset
13571         optimize_output after outputting a glyph.
13572         * redisplay-x.c (x_output_display_block): ditto.
13573         * redisplay-tty.c (tty_output_display_block): ditto.
13574
13575         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13576         functions.
13577         (gutter_specs_changed): do specific gutter positions.
13578         (top_gutter_specs_changed): new function. Only update the
13579         specified gutter specs.
13580         (bottom_gutter_specs_changed): ditto.
13581         (left_gutter_specs_changed): ditto.
13582         (right_gutter_specs_changed): ditto.
13583
13584         * gui.c (gui_item_hash_internal): new function, does a real hash.
13585         (gui_item_id_hash): use it.
13586         (gui_item_hash): hash the eval'ed gui_item.
13587
13588         * gui-x.c (popup_selection_callback): send an eval event to call
13589         Fupdate_widget_instances.
13590
13591         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13592         to call Fupdate_widget_instances.
13593
13594         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13595         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13596
13597         * glyphs.c: (update_frame_subwindows): deleted.
13598         (Fupdate_widget_instances): new function for updating the dirty
13599         state of widgets that might have changed.
13600         (syms_of_glyphs): add Qupdate_widget_instances.
13601         (full_list_hash): hash a list completely.
13602         (image_instance_hash): use it for items and properties.
13603
13604         * frame-msw.c (mswindows_size_frame_internal): remove unused
13605         variable.
13606
13607         * faces.h (struct face_cachel): fix comment.
13608
13609         * event-stream.c (Fdispatch_non_command_events): new
13610         function. Process non-command events, forcing an event cycle
13611         beforehand.
13612         (syms_of_event_stream): declare.
13613         (event_stream_force_event_pending): new function. Force an event
13614         on the native event queue so that an event cycle will occur next
13615         time we check.
13616
13617         * event-msw.c:
13618         (struct ntpipe_shove_stream):
13619         (mswindows_enqueue_dispatch_event):
13620         (mswindows_dequeue_dispatch_event):
13621         (mswindows_cancel_dispatch_event):
13622         (mswindows_pump_outstanding_events):
13623         (mswindows_drain_windows_queue):
13624         (mswindows_handle_paint):
13625         (mswindows_wnd_proc):
13626         (mswindows_key_to_emacs_keysym):
13627         (get_process_input_waitable):
13628         (emacs_mswindows_delete_stream_pair): re-indent file.
13629         (mswindows_need_event): do not process further fds if the windows
13630         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13631         fixes the 100% cpu problem.
13632         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13633
13634 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13635
13636         * alloc.h: New.
13637         * dumper.h: New.
13638         * dumper.c: New.
13639
13640         * emacs.c: Moved dump file searching to dumper.c.
13641         (Frunning_temacs_p): Fixed.
13642
13643         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13644         last_lrecord_type_index_assigned.
13645
13646 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13647
13648         * symsinit.h: Added reinit parameter to init_console_stream
13649         declaration.
13650
13651         * lisp.h: Added file parameter to pdump_load declaration.
13652
13653         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13654         support.  Added dump file searching.
13655
13656         * config.h.in: Added EMACS_PROGNAME.
13657
13658         * console-stream.c (init_console_stream): Fix reinitialisation
13659         when running from temacs.
13660
13661         * alloc.c (pdump): Add id support.
13662         (pdump_load): Add file parameter and signature/id support.
13663
13664         * Makefile.in.in: Add full pdump support.
13665
13666 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13667
13668         * postgresql.c: Update documentation to reflect latest code
13669         status.
13670         (print_result): Show tuple counts in printed representation when
13671         appropriate.
13672         (Fpq_put_nbytes): MULE-ize.
13673         (Fpq_get_line_async): Ditto.
13674
13675 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13676
13677         * postgresql.c (Fpq_lo_import): Fix return value.
13678         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13679
13680 2000-03-13  Ben Wing  <ben@xemacs.org>
13681
13682         * alloc.c (pdump_load):
13683         Fix compile warning under mswin.
13684
13685 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13686
13687         * postgresql.c: Mule-ization, bug fixes.
13688         Use PG_CODING to encapsulate coding system name changes.
13689         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13690         (pg-coding-system): Create.
13691
13692         (Fpq_conn_defaults): Mule-ize.
13693         (Fpq_connectdb): Mule-ize & bug fix.
13694         (Fpq_connect_start): Mule-ize.
13695         (Fpq_set_client_encoding): Mule-ize.
13696         (Fpq_finish): Document `DEAD' connection status.
13697         (Fpq_clear): Ditto.
13698         (Fpq_pgconn): Mule-ize.
13699         (Fpq_exec): Mule-ize & bug fix.
13700         (Fpq_send_query): Ditto.
13701         (Fpq_get_result): Ditto.
13702         (Fpq_res_status): Mule-ize.
13703         (Fpq_result_error_message): Mule-ize.
13704         (Fpq_ntuples): fix comments.
13705         (Fpq_fname): Mule-ize.
13706         (Fpq_fnumber): Mule-ize.
13707         (Fpq_ftype): fix comments.
13708         (Fpq_get_value): Mule-ize.
13709         (Fpq_cmd_status): Ditto.
13710         (Fpq_cmd_tuples): Ditto.
13711         (Fpq_oid_value): Ditto.
13712         (Fpq_notifies): Ditto.
13713         (Fpq_lo_import): Ditto.
13714         (Fpq_lo_export): Ditto.
13715         (Fpq_get_line): Ditto.
13716         (Fpq_put_line): Mule-ize and bug fix.
13717         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13718
13719 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13720
13721         * postgresql.c (vars_of_postgresql): Mule-ize.
13722         (Fpq_conn_defaults): Ditto.
13723
13724 2000-03-12  Ben Wing  <ben@xemacs.org>
13725
13726         * alloc.c (Fmake_byte_code):
13727         * alloc.c (debug_string_purity_print):
13728         * alloc.c (pdump_backtrace):
13729         * alloc.c (pdump_get_indirect_count):
13730         * alloc.c (pdump_register_sub):
13731         * alloc.c (pdump_register_object):
13732         * alloc.c (pdump_register_struct):
13733         * alloc.c (pdump_dump_data):
13734         * alloc.c (pdump_reloc_one):
13735         Minor cleanups.
13736
13737         * console-msw.c:
13738         * console-msw.c (GetConsoleHwnd):
13739         * console-msw.c (msw_hide_console):
13740         * console-msw.c (msw_show_console):
13741         * console-msw.c (msw_ensure_console_buffered):
13742         * console-msw.c (msw_output_console_string):
13743         * console-msw.c (console_type_create_mswindows):
13744
13745         a) Added functions to manipulate the console window for use with
13746         shell support.
13747
13748         b) Added support for writing text to the console, which is now
13749         used under Windows when xemacs is not being run non-interactively,
13750         to write text that would otherwise be destined for stdout because
13751         under these circumstances, text written to stdout tends to
13752         disappear and not be seen.
13753
13754         * console-msw.h:
13755         * event-Xt.c:
13756         * event-Xt.c (x_event_to_emacs_event):
13757         * event-Xt.c (describe_event_window):
13758         * events-mod.h (XEMACS_MOD_CONTROL):
13759         * events.c:
13760         * events.c (Fmake_event):
13761         * events.c (character_to_event):
13762         * events.c (event_to_character):
13763         * events.c (format_event_object):
13764         * events.c (Fevent_modifiers):
13765         * events.h:
13766         * events.h (struct key_data):
13767         * events.h (struct button_data):
13768         * events.h (struct misc_user_data):
13769         * frame-x.c (Fcde_start_drag_internal):
13770         * frame-x.c (Foffix_start_drag_internal):
13771         * gpmevent.c (Freceive_gpm_event):
13772         * keymap.c:
13773         * keymap.c (bucky_sym_to_bucky_bit):
13774         * keymap.c (control_meta_superify):
13775         * keymap.c (make_key_description):
13776         * keymap.c (keymap_lookup_directly):
13777         * keymap.c (create_bucky_submap):
13778         * keymap.c (keymap_store):
13779         * keymap.c (define_key_check_and_coerce_keysym):
13780         * keymap.c (define_key_parser):
13781         * keymap.c (define_key_alternate_name):
13782         * keymap.c (Fdefine_key):
13783         * keymap.c (raw_lookup_key_mapper):
13784         * keymap.c (struct map_keymap_unsorted_closure):
13785         * keymap.c (map_keymap_unsorted_mapper):
13786         * keymap.c (map_keymap_sort_predicate):
13787         * keymap.c (map_keymap_sorted):
13788         * keymap.c (accessible_keymaps_mapper_1):
13789         * keymap.c (where_is_recursive_mapper):
13790         * keymap.c (describe_map_mapper):
13791         * keymap.c (describe_map_sort_predicate):
13792         * keymap.c (describe_map):
13793         * keymap.c (complex_vars_of_keymap):
13794         And a number of other files, the key modifier preprocessor
13795         constants that xemacs uses have names that conflict with constants
13796         defined under MS Windows for other purposes, so they were renamed
13797         to begin with the prefix XEMACS_. The variables that hold such
13798         modifiers were changed to consistently be of type int to fix
13799         various compile warnings.
13800
13801         * console.c (complex_vars_of_console):
13802         * device.c:
13803         * device-msw.c:
13804         * device-msw.c (mswindows_finish_init_device):
13805         * device-msw.c (msw_get_workspace_coords):
13806         * device-msw.c (mswindows_device_system_metrics):
13807         and various other files, added support for a new
13808         device property called offset-workspace which returns the position
13809         of the upper left corner of the workspace area and goes along with
13810         the existing size-workspace property.
13811
13812         * dialog-msw.c:
13813         * dialog-msw.c (push_bufbyte_string_as_unicode):
13814         * dialog-msw.c (mswindows_popup_dialog_box):
13815         Added support for XEmacs-style accelerator specifications in
13816         button text.  Note: I didn't add support for this under X Windows,
13817         and somebody needs to do this.
13818
13819         * dialog.c:
13820         * dialog.c (Fpopup_dialog_box):
13821         Documented the support for accelerators that was just mentioned.
13822
13823         editfns.c (get_home_directory): Changed behavior under Windows
13824         when HOME not defined; former behavior was irretrievably broken.
13825
13826         * emacs.c:
13827         * emacs.c (main_1):
13828         * emacs.c (main):
13829         * minibuf.c (clear_echo_area_internal):
13830         * minibuf.c (echo_area_append):
13831         * print.c:
13832         * print.c (std_handle_out_external):
13833         * print.c (std_handle_out_va):
13834         * print.c (fatal):
13835         * print.c (write_string_to_stdio_stream):
13836         * print.c (output_string):
13837         * print.c (debug_print):
13838         * print.c (debug_backtrace):
13839         * print.c (debug_short_backtrace):
13840         Cleaned up the code that prints text to stdout so that this can be
13841         changed to output into a console window instead under MS Windows,
13842         as described above.
13843
13844         * eval.c:
13845         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13846         * eval.c (internal_catch):
13847         * eval.c (unwind_to_catch):
13848         * eval.c (throw_or_bomb_out):
13849         * eval.c (condition_case_1):
13850         * eval.c (signal_1):
13851         * eval.c (check_error_state_sanity):
13852         * eval.c (call_with_suspended_errors_1):
13853         * eval.c (call_with_suspended_errors):
13854         * eval.c (reinit_vars_of_eval):
13855         Added code to catch throw loops and check for a pesky bug that may
13856         be gone now.
13857
13858         * event-msw.c:
13859         * event-msw.c (key_needs_default_processing_p):
13860         * event-msw.c (mswindows_wnd_proc):
13861         * event-msw.c (mswindows_modifier_state):
13862         * event-msw.c (emacs_mswindows_quit_p):
13863         * event-msw.c (vars_of_event_mswindows):
13864         a) Added support for using the alt key to select menu items as is
13865         standard under MS Windows.  This is controlled using the variable
13866         menu-accelerator-enabled, just like under X Windows.  There is an
13867         option on the options menu to turn this support on.  I really
13868         think that it should be on by default under Windows, but I'm not
13869         going to make this change yet.
13870
13871         b)  Added support for dynamic display size changes under Windows.
13872
13873         * event-stream.c:
13874         * event-stream.c (maybe_echo_keys):
13875         * event-stream.c (Fnext_event):
13876         * event-stream.c (command_builder_find_leaf):
13877         * event-stream.c (lookup_command_event):
13878         * event-stream.c (execute_command_event):
13879         * event-stream.c (pre_command_hook):
13880         * event-stream.c (post_command_hook):
13881         * event-stream.c (syms_of_event_stream):
13882         * event-stream.c (vars_of_event_stream):
13883         * event-stream.c (complex_vars_of_event_stream):
13884         * events.h (struct command_builder):
13885
13886         a) Tried to clean up a little bit the horribly written x-specific
13887         accelerator code that crept into this file.  I moved this code
13888         into menubar-x.c where it belongs. I also needed to move the
13889         command builder structure into the file events.h because it is
13890         accessed directly by this accelerator code.  What I didn't do, but
13891         which should be done at some point, is to properly abstract this
13892         code using device methods instead of the kludgy way that it
13893         currently hooks into the event code.
13894
13895         b) Added the lisp variables this-command-properties and
13896         last-command- properties, which should be used to synchronize two
13897         adjacent commands in preference to playing games with the variable
13898         this-command, which is typically what happens.
13899
13900         c) Added some slightly nasty code to hook into the lisp support
13901         for shifted- motion-key selection.  This is actually necessary for
13902         somewhat complicated reasons, which are described in
13903         simple.el. (NB: I think the proper thing would be to have the code
13904         that calls the pre and post command hooks also call out to generic
13905         lisp functions in simple.el, where all built-in stuff could be
13906         added.  I will think about this more.)
13907
13908         * event-unixoid.c (poll_fds_for_input):
13909         * lread.c (readchar):
13910         * redisplay-tty.c (tty_clear_frame):
13911         * redisplay-x.c (x_get_gc):
13912         * signal.c (interrupt_signal):
13913         And a whole bunch of other files: fixed up places that printed
13914         directly to stderr to instead call the function stderr_out so that
13915         the changes I made under Windows work correctly.
13916
13917         * filemode.c (mode_string):
13918         Warning fixes.
13919
13920         * frame-msw.c:
13921         * frame-msw.c (mswindows_size_frame_internal):
13922         Fixed the computation of frame size and position to keep the frame
13923         within the workspace area, rather than within the physical
13924         dimensions of the screen, so that the frame doesn't overlap window
13925         manager decorations, such as the start menu and toolbar, typically
13926         at the bottom of the screen.
13927
13928         * frame.c (vars_of_frame):
13929         Changed the default frame title format under MS Windows to consist
13930         of buffername-XEmacs, which is standard under MS Windows.  I think
13931         it might be a good idea to change this everywhere because I think
13932         it is superior to the current frame title format, but this is the
13933         kind of change that is likely to cause some people to get annoyed,
13934         so I'm not making it.
13935
13936         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13937
13938         * gui-msw.c (mswindows_handle_gui_wm_command):
13939         Fixed compile warnings.
13940
13941         * gui-x.c:
13942         * gui-x.c (strdup_and_add_accel):
13943         * gui-x.c (button_item_to_widget_value):
13944         * gui-x.h:
13945         Added code to automatically put an accelerator onto the beginning
13946         of menu items that don't have one as is now the standard, and is
13947         described more later.  Also fixed things so that the menu item
13948         name can be an evaluated expression, again a new standard.
13949
13950         * gui.c:
13951         * gui.c (gui_item_add_keyval_pair):
13952         * gui.c (make_gui_item_from_keywords_internal):
13953         * gui.c (gui_add_item_keywords_to_plist):
13954         * gui.c (gui_item_accelerator):
13955         * gui.c (gui_name_accelerator):
13956         * gui.c (gui_item_included_p):
13957         * gui.c (gui_item_display_flush_left):
13958         * gui.c (gui_item_display_flush_right):
13959         * gui.c (parse_gui_item_tree_item):
13960         * gui.c (parse_gui_item_tree_children):
13961         * gui.c (parse_gui_item_tree_list):
13962         Mule-ized.  Cleanup.  GCPRO addition.
13963
13964         * line-number.c (buffer_line_number):
13965         * lisp.h:
13966         * lisp.h (EMACS_INT_MAX):
13967         Added the manifest constant EMACS_INT_MIN corresponding to the
13968         existing constant EMACS_INT_MAX.  This is partially to fix compile
13969         warnings under Windows, and partly for cleanliness.
13970
13971         * menubar-msw.c:
13972         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13973         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13974         * menubar-msw.c (displayable_menu_item):
13975         * menubar-msw.c (populate_menu_add_item):
13976         * menubar-msw.c (populate_or_checksum_helper):
13977         * menubar-msw.c (populate_menu):
13978         * menubar-msw.c (update_frame_menubar_maybe):
13979         * menubar-msw.c (prune_menubar):
13980         * menubar-msw.c (msw_char_is_accelerator):
13981         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13982         * menubar-msw.c (mswindows_handle_wm_command):
13983         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13984         * menubar-msw.c (mswindows_handle_wm_initmenu):
13985         * menubar-msw.c (mswindows_update_frame_menubars):
13986         * menubar-msw.c (mswindows_free_frame_menubars):
13987         * menubar-msw.c (mswindows_popup_menu):
13988         Fixed a bug in handling accelerators where an extra character
13989         would be displayed in the menu item.  Also generalized the
13990         function displayable_menu_item because it is now used by the
13991         dialog box code as well.  And finally, added code in the functions
13992         that create the menubar to extract a list of accelerators for the
13993         top level menubar, which is used in the event code to determine
13994         whether a particular alt-key combination should be used to invoke
13995         a menu item, or should be passed through to access the standard
13996         XEmacs keymap binding for this key combination.
13997
13998         Much needed GCPROing.
13999
14000         * menubar-x.c:
14001         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14002         * menubar-x.c (menu_item_descriptor_to_widget_value):
14003         * menubar-x.c (restore_in_menu_callback):
14004         * menubar-x.c (x_popup_menu):
14005         * menubar-x.c (menu_move_up):
14006         * menubar-x.c (menu_move_down):
14007         * menubar-x.c (menu_move_left):
14008         * menubar-x.c (menu_move_right):
14009         * menubar-x.c (menu_select_item):
14010         * menubar-x.c (command_builder_operate_menu_accelerator):
14011         * menubar-x.c (menu_accelerator_junk_on_error):
14012         * menubar-x.c (command_builder_find_menu_accelerator):
14013         * menubar-x.c (Faccelerate_menu):
14014         * menubar.h:
14015         Moved a whole bunch of code here that was previously in
14016         event-stream.c as described above.  There is also code connected
14017         to the new standard of adding an accelerator to the beginning of
14018         menu items that don't have one as described above and below.
14019
14020         * menubar.c:
14021         * menubar.c (menu_parse_submenu_keywords):
14022         * menubar.c (Fmenu_find_real_submenu):
14023         * menubar.c (Fnormalize_menu_item_name):
14024         * menubar.c (syms_of_menubar):
14025         * menubar.c (vars_of_menubar):
14026         * menubar.c (complex_vars_of_menubar):
14027
14028         a) Cleaned up a bunch of documentation and improved it.
14029
14030         b) XEmacs now automatically adds an accelerator onto the beginning
14031         of any menu items that don't have one.  I did this because there
14032         will inevitably be some menu items on the main menubar that don't
14033         have accelerators on them because the package that adds that
14034         particular menu item hasn't yet been fixed up to have accelerators
14035         in them and it looked rather strange to have some items with and
14036         some items without accelerators, especially since even in items
14037         without accelerators, you can, at least under windows, still
14038         access the item through an accelerator corresponding to the first
14039         character in the item's name.  If people don't like this behavior,
14040         I can add a variable to turn it off optionally, but I'm not sure
14041         this is a good idea because we really do need to have accelerators
14042         on all of the menu items, and if a package doesn't like the
14043         accelerators being put on the first character, then it should put
14044         the accelerators where they belong.
14045
14046         c) I made a behavior change, which is that the descriptor that
14047         specifies the text of the menu item, which formerly was just a
14048         string, can now also be an evaluated expression.  This makes this
14049         descriptor parallel with all of the others, which could also be
14050         evaluated expressions.  This also obviates the need for the
14051         keyword :label, which was previously listed in the documentation
14052         as unimplemented, and which was for the same purpose.
14053
14054         d) GCPROing.
14055
14056         * ntproc.c:
14057         * ntproc.c (new_child):
14058         * ntproc.c (sys_spawnve):
14059         * ntproc.c (find_child_console):
14060         * ntproc.c (sys_kill):
14061         Fixed compile warnings.  By the way, this file should really go
14062         away entirely, and this will happen as soon as Kirill makes his
14063         final round of process cleanups, which affect the function
14064         call-process.
14065
14066         * process-nt.c:
14067         * process-nt.c (struct nt_process_data):
14068         * process-nt.c (find_process_from_pid):
14069         * process-nt.c (send_signal_the_nt_way):
14070         * process-nt.c (enable_child_signals):
14071         * process-nt.c (find_child_console):
14072         * process-nt.c (send_signal_the_95_way):
14073         * process-nt.c (nt_finalize_process_data):
14074         * process-nt.c (ensure_console_window_exists):
14075         * process-nt.c (nt_create_process):
14076         * process-nt.c (nt_kill_child_process):
14077         * process-nt.c (nt_kill_process_by_pid):
14078         * process-nt.c (nt_open_network_stream):
14079         * process-nt.c (vars_of_process_nt):
14080         Copied over code from Emacs 20.5 to correctly send signals to sub-
14081         processes under Windows 95.  Also added code to automatically
14082         create and hide console window when a sub-process is created under
14083         Windows 95, which obviates the need for the separate runemacs.exe
14084         executable, and finally implemented some variables that were
14085         implemented in Emacs 20.5, but previously not in XEmacs.  These
14086         include mswindows- start-process-share-console and
14087         mswindows-start-process-inherit-error-mode. (Both of these only
14088         apply to Windows 95.)
14089
14090         * regex.c (regex_compile): Fixed a compile warning.
14091
14092         * select-msw.c:
14093         * select-msw.c (mswindows_own_selection):
14094         * select-msw.c (mswindows_get_foreign_selection):
14095         * select-msw.c (mswindows_disown_selection):
14096         * select-msw.c (console_type_create_select_mswindows):
14097         * select-msw.c (syms_of_select_mswindows):
14098         Cleaned up the file and implemented the device method
14099         selection_exists_p, which had accidentally been left out.  Also
14100         removed four lisp functions that were remnants from before the
14101         time when the selection code was properly device abstracted.
14102         These functions are no longer needed because there are generic
14103         equivalents, and because they were added recently and don't exist
14104         in FSF Emacs, I don't think there's any problem with just deleting
14105         them.
14106
14107         * sysdep.c:
14108         * sysdep.c (sys_subshell):
14109         Fixed a compile warning, although in this case there's probably
14110         something wrong with this code, and it ought to be looked into
14111         more thoroughly by somebody who understands it.
14112
14113         * window.c:
14114         * window.c (Fwindow_text_area_height):
14115         * window.c (Fwindow_width):
14116         * window.c (Fwindow_full_width):
14117         * window.c (Fwindow_pixel_width):
14118         * window.c (debug_print_window):
14119         * window.c (syms_of_window):
14120         Added functions window-text-area-height and window-full-width,
14121         which are functions for returning various width and height
14122         characteristics of a window. (One of these functions is necessary
14123         for making the file dialog box work correctly, and the other one
14124         was added for completeness.)  Also added a table to the
14125         documentation for window-height which describes the entire scheme
14126         for accessing width and height characteristics of a window.
14127
14128 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14129
14130         * nt.c (fstat): Added a comment for another problem with
14131         non-encapsulated [f]stat(), reported by Adrian Aichner
14132         <aichner@ecf.teradyne.com>.
14133
14134 2000-03-11  Andy Piper  <andy@xemacs.org>
14135
14136         * window.c (make_dummy_parent): initialize subwindow instance
14137         cache.
14138         (Fset_window_configuration): zero extent_modiff.
14139
14140 2000-03-10  Andy Piper  <andy@xemacs.org>
14141
14142         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14143         more changes can be triggered.
14144         (Fredisplay_frame): ditto.
14145         (Fredraw_device): ditto.
14146         (Fredisplay_device): ditto.
14147         (redisplay_frame): make non-static.
14148         (redisplay_frame): call update_frame_gutter_geometry outside of
14149         display proper.
14150
14151         * gutter.h: declare update_frame_gutter_geometry.
14152
14153         * redisplay.h: declare redisplay_frame.
14154
14155         * gutter.c (update_frame_gutter_geometry): move geometry changes
14156         in update_frame_gutters here. Geometry changes can only occur
14157         outside of redisplay.
14158         (update_frame_gutters): remove geometry change code.
14159         (Fredisplay_gutter_area): make sure that we are in display when we
14160         update and that we have flushed any size changes.
14161
14162 2000-03-11  Andy Piper  <andy@xemacs.org>
14163
14164         * alloc.c (pdump_dump_data): remove i & count shadows.
14165
14166 2000-02-27  Mike Alexander  <mta@arbortext.com>
14167
14168         * sysdep.h: Declare pdump_read_file
14169
14170         * sysdep.c (pdump_read_file): New function
14171
14172         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14173         dump data
14174
14175 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14176
14177         * lrecord.h: add `lrecord_type_pgsetenv'.
14178
14179 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14180
14181         * symsinit.h: declare (vars|syms)_of* functions.
14182         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14183
14184 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14185
14186         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14187
14188         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14189         GCCs.
14190
14191         * emacs.c (main_1): Call postgres initialization code.
14192
14193         * postgresql.h: New file.  PostgreSQL RDBMS support.
14194         * postgresql.c: New file.
14195
14196 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14197
14198         * redisplay-output.c (redisplay_output_display_block): Disable
14199         redundant code.
14200
14201 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14202
14203         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14204         (Fcanna_henkan_next): Ditto.
14205         (Fcanna_bunsetu_henkou): Ditto.
14206         (Fcanna_henkan_kakutei): Ditto.
14207         (Fcanna_henkan_end): Ditto.
14208         (Fcanna_henkan_quit): Ditto.
14209         (Fcanna_henkan_next): Set retun value correctly.
14210         (c2mu): Use unsigned char instead of signed char.
14211
14212 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14213
14214         * emacs.c (main_1): Always call syms_of_gui.
14215         * inline.c: include gui.h
14216
14217 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14218
14219         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14220         converted to Lisp_Object.
14221         (Qtop_bottom): New variable.
14222         (syms_of_redisplay): Initialize it.
14223         * redisplay.h (Vvisible_bell): Ditto.
14224         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14225         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14226         only flash top and bottom.
14227
14228 2000-03-08  Andy Piper  <andy@xemacs.org>
14229
14230         * buffer.c (Frename_buffer): record new buffer name the right way.
14231
14232 2000-03-08  Andy Piper  <andy@xemacs.org>
14233
14234         * glyphs.c (update_subwindow): increase hash depth so that widget
14235         items get picked up properly.
14236
14237         * redisplay-output.c (compare_runes): increase hash depth so that
14238         widget items get picked up properly.
14239
14240 2000-03-08  Andy Piper  <andy@xemacs.org>
14241
14242         * gutter.c (output_gutter): add some debug.
14243
14244         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14245         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14246         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14247
14248         * redisplay-output.c (compare_runes): use display_hash to
14249         determine if glyphs really are not the same.
14250
14251         * glyphs.c (update_subwindow): check display_hash to see if
14252         anything really needs to be updated. If not then do
14253         nothing. Record the display_hash after updating.
14254         (image_instance_equal): compare the image_instance face also.
14255
14256 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14257
14258         * redisplay.h: Fix comment style.
14259
14260 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14261
14262         * consle-msw.h (struct mswindows_frame):
14263         Added new member paint_pending to indicate whether a WM_PAINT
14264         magic event has been queued for this frame.
14265
14266         * event-msw.c (mswindows_drain_windows_queue):
14267         Don't queue a WM_PAINT magic event if one is already queued.
14268         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14269
14270         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14271
14272 2000-03-07  Didier Verna  <didier@xemacs.org>
14273
14274         * dired.c: #include `regex.h' after `sysfile.h'.
14275
14276 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14277
14278         * sound.c (init_nas_sound): Fix compiler warning.
14279
14280         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14281         (FREE_STRUCT_P):
14282         (MARK_STRUCT_AS_FREE):
14283         (MARK_STRUCT_AS_NOT_FREE):
14284         Make `gcc -fstrict-aliasing' work properly.
14285
14286 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14287
14288         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14289         (mswindows_delete_device): Call CoUnnitialize().
14290
14291         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14292
14293 2000-02-25    <CraigL@DyCon.com>
14294
14295         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14296         <errno.h>.
14297
14298         * sysdep.c: This extern declaration for environ prevents MinGW
14299         from finding the variable in CRTDLL.DLL.
14300
14301         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14302         windows headers.
14303         (SHGFI_EXETYPE): ..
14304         (WM_MOUSEWHEEL): ..
14305         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14306         definitions.
14307         (MMRESULT): Removed, now defined in cygwin's windows headers.
14308         (TIMECAPS): ..
14309         (uid_t,gid_t,pid_t,ssize_t): ..
14310         (_timeb): Removed, MinGW defines both _timeb and timeb.
14311         (HAVE_H_ERRNO): Added.
14312         (HAVE_TZNAME): Added, configure is not detecting this.
14313
14314 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14315
14316         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14317         * syntax.c (syntax_match): Use it.
14318
14319         * cmds.c: Import auto-fill-chars from FSF Emacs.
14320         (Vauto_fill_chars): New variables.
14321         (internal_self_insert): Check Vauto_fill_chars.
14322         (vars_of_cmds):
14323         Declare auto-fill-chars as a Lisp variable and initialize it.
14324
14325 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14326
14327         * fileio.c (Fmake_symbolic_link):
14328         (Ffile_symlink_p):
14329         Run handlers even if local machine doesn't have symlinks.
14330
14331 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14332
14333         * event-msw.c (mswindows_drain_windows_queue):
14334         Don't generate paint magic events for non-XEmacs frames.
14335
14336 2000-03-05  Andy Piper  <andy@xemacs.org>
14337
14338         * redisplay.c (redisplay_frame): generate_displayable_area and
14339         friends assumes that we are not in GC, we therefore have to make
14340         sure that this doesn't happen.
14341
14342         * gutter.c (calculate_gutter_size): generate_displayable_area
14343         assumes that we are not in GC, we therefore have to make sure that
14344         this doesn't happen.
14345
14346 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14347
14348         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14349
14350 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14351
14352         * redisplay.c (regenerate_window): Make sure we set a sane value
14353         for end_pos even if we jump out of the loop.
14354         (regenerate_window): Answer Ben's question :-).
14355         (start_end_of_last_line): Add may_error argument.
14356         (start_of_last_line):
14357         (end_of_last_line): Pass may_error = 0.
14358         (end_of_last_line_may_error): New function.
14359         (pixel_to_glyph_translation): Use it, so we don't crash in
14360         event_to_glyph.
14361
14362 2000-03-04  Andy Piper  <andy@xemacs.org>
14363
14364         * window.h (struct window): add gutter_extent_modiff.
14365
14366         * window.c (allocate_window): zero out gutter_extent_modiff.
14367
14368         * redisplay.h: declare sync_display_line_structs.
14369
14370         * redisplay.c (add_glyph_rune): add a better comment.
14371
14372         * redisplay-output.c (sync_display_line_structs): made non-static.
14373         (compare_runes): remove unneccesary glyph cachel access.
14374
14375         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14376
14377         * gutter.c (output_gutter): don't output the gutter if extent
14378         changes only involve extents in buffers. use 4 sets of display
14379         lines.
14380         (gutter_extent_signal_changed_region_maybe): new function. Mark
14381         extents in gutters as changed.
14382         (update_frame_gutters): use 4 sets of display lines.
14383         (reset_gutter_display_lines): ditto.
14384         (free_frame_gutters): ditto.
14385         (redraw_exposed_gutter): force output of gutters.
14386
14387         * frame.h (struct frame): add 4 sets of gutter display lines.
14388
14389         * extents.c: (extent_changed_for_redisplay): signal changes to
14390         extents in strings in the gutter as well as extents in buffers.
14391
14392 2000-03-02  Andy Piper  <andy@xemacs.org>
14393
14394         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14395
14396         * frame.c (Fmake_frame): make sure the gutters get initialized
14397         after the frame is visible.
14398         (set_frame_selected_window): re-arrange compilation macros a
14399         little.
14400         (change_frame_size_1): mark gutters changed.
14401
14402         * device.c (Fset_device_class): mark gutters changed.
14403
14404 2000-03-01  Andy Piper  <andy@xemacs.org>
14405
14406         * window.c (window_top_frame_gutter_height): deleted.
14407         (window_bottom_frame_gutter_height): ditto.
14408         (window_left_frame_gutter_height): ditto.
14409         (window_right_frame_gutter_height): ditto.
14410         (window_top_gutter_height): don't use them.
14411         (window_bottom_gutter_height): ditto.
14412         (window_left_gutter_width): ditto.
14413         (window_right_gutter_width): ditto.
14414         (Fsplit_window): ditto.
14415         (Fwindow_pixel_edges): don't use border dimensions here.
14416
14417         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14418         (update_scrollbar_instance): ditto.
14419
14420         * redisplay.c (generate_modeline): don't take gutters into account.
14421         (generate_modeline): ditto.
14422         (redisplay_frame): small gutter display optimization.
14423
14424         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14425
14426         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14427         gutters into account.
14428
14429         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14430         for window position and type.
14431
14432         * gutter.c (get_gutter_coords): fix for frame gutters.
14433         (update_frame_gutters): update frame geometry if the gutters have
14434         changed.
14435         (init_frame_gutters): record current gutter geometries.
14436
14437         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14438         var.
14439         (mswindows_widget_instantiate): ditto.
14440
14441         * frame.h (struct frame): add current_gutter_bounds.
14442
14443         * frame.c (change_frame_size_1): position window and minibuffer
14444         appropriately taking into account the frame gutters.
14445
14446         * frame-x.c: (x_initialize_frame_size): take into account the
14447         frame gutters.
14448
14449 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14450
14451         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14452
14453 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14454
14455         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14456
14457 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14458
14459         * file-coding.c (reset_decoding_stream): Clear previous
14460         detection state when autodetect.
14461
14462 2000-02-29  Didier Verna  <didier@xemacs.org>
14463
14464         * extents.c (set_extent_glyph_1): don't require extents to be
14465         attached.
14466
14467 2000-02-27  Andy Piper  <andy@xemacs.org>
14468
14469         * gutter.c (Fset_default_gutter_position): don't default left and
14470         right gutter visibility to t.
14471         (Fset_default_gutter_position): run
14472         default-gutter-position-changed-hook.
14473         (syms_of_gutter): add default-gutter-position-changed-hook.
14474
14475 2000-02-26  Andy Piper  <andy@xemacs.org>
14476
14477         * specifier.c (Fmake_specifier): add gutter references.
14478
14479         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14480
14481         * lisp.h: declare Fvalid_plist_p.
14482
14483         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14484         as changed.
14485         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14486         well as its visibility so that it gets reconstructed.
14487         (construct_window_gutter_spec): new function. Construct a string
14488         to be displayed in the gutter from a plist of strings. Take care
14489         to only use elements that are declared as visible.
14490         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14491         WINDOW_GUTTER.
14492         (gutter_validate): allow plists of strings in the specifier.
14493         (gutter_specs_changed): construct the real_gutter from the gutter
14494         specs using construct_window_gutter_spec.
14495         (gutter_visible_validate): gutter-visible is a new specifier type.
14496         (Fgutter_visible_specifier_p): new function for the new specifier.
14497         (syms_of_gutter): declare gutter-visible and
14498         Fgutter_visible_specifier_p.
14499         (specifier_type_create_gutter): intitalize new gutter-visible
14500         specifier.
14501         (reinit_specifier_type_create_gutter): ditto.
14502         (specifier_vars_of_gutter): use new specifier type for gutter
14503         visibility.
14504         (init_frame_gutters): construct real_gutter correctly.
14505         (Fgutter_specifier_p): beef up documentation.
14506         (Fgutter_size_specifier_p): ditto.
14507
14508         * winslots.h: add real_gutter slots.
14509
14510 2000-02-25  Andy Piper  <andy@xemacs.org>
14511
14512         * device-msw.c: Be kind to older cygwin versions. From Raymond
14513         Toy <toy@rtp.ericsson.se>.
14514
14515         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14516         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14517
14518 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14519
14520         * elhash.c (MARK_OBJ): Practice macro hygiene.
14521
14522 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14523
14524         * miscplay.c: s/__inline__/inline/g;
14525         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14526         (get_device_compdc): INLINE ==> static inline
14527         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14528         find -name '*.h' | \
14529         xargs global-replace \
14530         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14531
14532 2000-02-25  Andy Piper  <andy@xemacs.org>
14533
14534         * window.c (window_top_frame_gutter_height): new function.
14535         (window_top_window_gutter_height): ditto.
14536         (window_top_gutter_height): use them.
14537         (window_bottom_frame_gutter_height): new function.
14538         (window_bottom_window_gutter_height): ditto.
14539         (window_bottom_gutter_height): use them.
14540         (window_left_window_gutter_width): new function.
14541         (window_left_frame_gutter_width): ditto.
14542         (window_left_gutter_width): use them.
14543         (window_right_window_gutter_width): new function.
14544         (window_right_frame_gutter_width): ditto.
14545         (window_right_gutter_width): use them.
14546         (window_pixel_height): new function. calulate window pixel height
14547         with frame gutter involvement.
14548         (Fsplit_window): calculate new sizes taking frame gutters into
14549         account.
14550         (window_char_height_to_pixel_height): don't include frame gutters.
14551         (window_char_height): use window_pixel_height.
14552         (window_pixheight): rename from window_pixel_height.
14553         (change_window_height): use it.
14554         (window_pixel_height_to_char_height): don't include frame gutters.
14555         (window_char_width_to_pixel_width): ditto.
14556
14557 2000-02-25  Andy Piper  <andy@xemacs.org>
14558
14559         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14560         if it is.
14561
14562 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14563
14564         * alloc.c (staticpro):
14565         (staticpro_nodump):
14566         (dumpstruct):
14567         (dumpopaque):
14568         (pdump_wire):
14569         (pdump_wire_list):
14570         (compact_string_chars):
14571         (pdump_dump_wired):
14572         Convert:  if (foo) abort();  ==>  assert (! foo);
14573
14574         * eldap.c (Fldap_search_basic):
14575         (Fldap_add):
14576         (Fldap_modify):
14577         (Fldap_delete):
14578         Fix compiler warnings, and possible crashes if (random) return
14579         value were to be used.
14580
14581 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14582
14583         * device-msw.c: Workaround ResetDC failure.
14584
14585         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14586         applying a devmode.
14587
14588         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14589         (mswindows_text_width): Do not start printer page.
14590
14591         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14592
14593         * glyphs-msw.c: Added image methods to msprinter console and
14594         msprinter-specific image instantiation.
14595
14596 2000-02-20  Mike Alexander  <mta@arbortext.com>
14597
14598         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14599         to avoid crashes when selection-sets-clipboard is on
14600         (mswindows_own_selection): ditto
14601
14602 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14603
14604         * glyphs-msw.c:
14605         * redisplay-msw.c (get_frame_dc):
14606         (get_frame_compdc):
14607         * console-msw.h:
14608         * device-msw.c (mswindows_init_device):
14609         (mswindows_delete_device):
14610         (msprinter_init_device):
14611         (msprinter_delete_device):
14612         * frame-msw.c (mswindows_init_frame_1):
14613         (mswindows_delete_frame):
14614         (msprinter_init_frame_3):
14615         (msprinter_delete_frame): Move compatible DC to device object from
14616         frame object, for both mswindows and msprinter. Only one at a time
14617         is needed, it is a real waste to have one per frame!
14618
14619 2000-02-23  Andy Piper  <andy@xemacs.org>
14620
14621         * glyphs.c: add dynamic width and height elements.
14622         (image_instance_equal): ditto.
14623
14624         * glyphs-widget.c (widget_query_geometry): calculate width and
14625         height dynamically if required.
14626         (initialize_widget_image_instance): initialize dynamic dimensions.
14627         (widget_instantiate): pick-up dynamic dimensions.
14628
14629         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14630         dynamic determination. Add appropriate macros.
14631
14632         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14633         dimensions safe.
14634         (WINDOW_GUTTER_SIZE): ditto.
14635         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14636
14637         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14638         inline.
14639         (get_frame_dc): ditto.
14640
14641         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14642         here.
14643
14644 2000-02-23  Martin Buchholz <martin@xemacs.org>
14645
14646         * XEmacs 21.2.31 is released.
14647
14648 2000-02-22  Ben Wing <ben@xemacs.org>
14649
14650         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14651
14652 2000-02-22  Andy Piper  <andy@xemacs.org>
14653
14654         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14655
14656 2000-02-21  Mike Sperber <mike@xemacs.org>
14657
14658         * .dbxrc:
14659         * .gdbinit:
14660         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14661         variables.
14662
14663 2000-02-21  Mike Sperber <mike@xemacs.org>
14664
14665         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14666
14667 2000-02-21  Martin Buchholz <martin@xemacs.org>
14668
14669         * XEmacs 21.2.30 is released.
14670
14671 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14672
14673         Performance hacking.
14674         * *.c (syms_of_*):
14675         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14676         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14677         * emacs.c (main_1):
14678         * lisp.h (DEFUN):
14679         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14680         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14681         * symeval.h (DEFVAR_SYMVAL_FWD):
14682         * symbols.c (guts_of_unbound_marker):
14683         Make all c_readonly objects also lisp_readonly and marked for life.
14684         * lrecord.h (struct lrecord_implementation):
14685         Document flags better.
14686         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14687         * lrecord.h (DECLARE_LRECORD):
14688         * lrecord.h (XSETRECORD):
14689         * lrecord.h (RECORDP):
14690         * lrecord.h (RECORD_TYPEP):
14691         * lrecord.h (RECORD_MARKER): New.
14692         * lrecord.h (error_check_*):
14693         * lrecord.h (CONCHECK_NONRECORD):
14694         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14695         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14696         * lrecord.h (set_lheader_implementation):
14697         * lrecord.h (enum lrecord_type): New.
14698         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14699         * alloc.c (disksave_object_finalization_1):
14700         * alloc.c (mark_object):
14701         * alloc.c (lrecord_type_index):
14702         * alloc.c (tick_lcrecord_stats):
14703         * alloc.c (Fgarbage_collect):
14704         * alloc.c (init_alloc_once_early):
14705         * alloc.c (pdump_load):
14706         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14707         * alloc.c (lrecord_type_index): Delete.
14708         Make lisp object type indexes be constant.
14709           Makes (byte-compile) 5% faster.
14710         Put all marker functions into their own array.
14711           Makes (garbage-collect) 5% faster.
14712         Optimize SYMBOL_VALUE_MAGIC_P.
14713           Makes (byte-compile) 2-3% faster.
14714         * config.h.in (gc_checking_assert): New.
14715         * alloc.c: Use gc_checking_assert().
14716         * .dbxrc: Make compatible with new object type implementation.
14717         * .gdbinit: Make compatible with new object type implementation.
14718         * alloc.c: Delete all symbols defined only for debugging, such as
14719         Lisp_Type_Vector and lrecord_charset.
14720
14721 2000-02-21  Andy Piper  <andy@xemacs.org>
14722
14723         * gui-msw.c (Fmswindows_shell_execute): fix file location
14724         problems.
14725
14726         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14727         unshowing so that set_window_buffer doesn't undo
14728         kill_buffer_hook's hard work.
14729
14730         * glyphs-widget.c (tab_control_query_geometry): don't count the
14731         first item when calculating geometry.
14732
14733         * glyphs.c (map_subwindow): remove redundant code.
14734         (update_frame_subwindows): be more circumspect about when to
14735         update subwindows.
14736
14737         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14738         when items haven't changed. Update faces if faces have changed as
14739         well as just the widget face.
14740         (x_tab_control_update): Update faces if faces have changed as well
14741         as just the widget face.
14742
14743 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14744
14745         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14746         registration.
14747         (build_syscolor_string): Use mswindows_color_to_string to try to
14748         get a named color.
14749         (mswindows_device_system_metrics): Reverse the foreground and
14750         background colors so that they match the documentation.
14751
14752         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14753         they match the default Windows palette.
14754         (mswindows_color_to_string): New function.
14755
14756 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14757
14758         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14759
14760 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14761
14762         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14763         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14764
14765         * symbols.c (init_symbols_once_early): Removed obsolete
14766         DATA_SEG_BITS related kludge.
14767         (defvar_magic): Ditto.
14768
14769         * malloc.c: Removed obsolete DATA_SEG_BITS
14770         * ralloc.c: Ditto.
14771         * mem-limits.h: Ditto.
14772
14773         * Makefile.in.in: Removed obsolete HAVE_SHM
14774         * emacs.c: Ditto.
14775
14776 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14777
14778         *  device-msw.c (mswindows_delete_device): Free DDE string
14779         handles.
14780
14781 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14782
14783         * keymap.c (get_keyelt):
14784         * unexnt.c (unexec):
14785         * vm-limit.c (memory_warnings):
14786         * ntheap.c (recreate_heap):
14787         * ntheap.h (UNINIT_PTR):
14788         * select-msw.c (Fmswindows_get_clipboard):
14789         (Fmswindows_set_clipboard):
14790         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14791         * objects-msw.c:
14792         * menubar-msw.c (displayable_menu_item):
14793         * glyphs-msw.c:
14794         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14795         * sysdep.c (sys_subshell):
14796         * process-nt.c (nt_create_process):
14797         * nt.c (normalize_filename):
14798         (dostounix_filename):
14799         (unixtodos_filename):
14800         * ntproc.c (win32_executable_type):
14801         * ntplay.c (play_sound_data_1):
14802         (play_sound_file):
14803         * editfns.c (get_home_directory):
14804         * event-msw.c (struct winsock_stream):
14805         (mswindows_dde_callback):
14806         * device-msw.c (msprinter_init_device):
14807         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14808
14809         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14810         mswindows_clear_toolbar were swapped!
14811
14812         * objects-msw.c:(colormap_t):
14813         (fontmap_t):
14814         * emacs.c (struct standard_args): Fixed const jumble.
14815
14816         * glyphs-widget.c (update_widget): Fixed comparison notation.
14817
14818         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14819
14820         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14821         __declspec(noreturn) syntax.
14822
14823 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14824
14825         * eldap.c (Fldap_open):
14826         (Fldap_search_basic):
14827         (Fldap_add):
14828         (Fldap_modify):
14829         Use new coding system conversion macros.
14830
14831 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14832
14833         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14834
14835 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14836
14837         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14838         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14839
14840         * eldap.c (Qadd, Qreplace): New constant symbols
14841         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14842         interruptions by XEmacs signals
14843         Remove unnecessary calls to slow_down_interrupts and
14844         speed_up_interrupts
14845         (Fldap_search_basic): Renamed from Fldap_search_internal
14846         Added new optional parameter VERBOSE that triggers the
14847         display of progress messages
14848         Remove unnecessary calls to slow_down_interrupts and
14849         speed_up_interrupts
14850         LDAP result code analysis rewritten
14851         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14852         (syms_of_eldap): Define the new symbols and functions
14853
14854
14855 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14856
14857         * realpath.c: Determine PATH_MAX maximally portably.
14858
14859         * insdel.c (bytecount_to_charcount): Optimize.
14860         The function used to be optimized for entirely ASCII sequences.
14861         Now it is optimized for successive characters from the same
14862         charset.  This also wins big for _mostly_ ASCII sequences.
14863
14864         * fileio.c (Ffile_truename): convert return from realpath() using
14865         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14866         - Rewrite GCPROing slightly.
14867
14868         * sysdep.c (sys_open): Do filename conversion, like all other
14869         sys_* functions.  Fixes bug:
14870         (let ((file-name-coding-system 'iso-8859-2))
14871            (write-region x y latin2-name))
14872         ==> writes filename using internal encoding.
14873
14874 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14875
14876         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14877         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14878         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14879         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14880         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14881         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14882         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14883         (CONST_IF_NOT_DEBUG): Delete.
14884         * alloc.c (this_one_is_unmarkable): Delete.
14885         (mark_object): Don't check for this_one_is_unmarkable. Use the
14886         c_readonly flag instead.
14887         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14888
14889 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14890
14891         * event-msw.c (mswindows_drain_windows_queue):
14892         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14893         away redundant repaint events.
14894
14895 2000-02-17  Andy Piper  <andy@xemacs.org>
14896
14897         * redisplay.h: declare mark_redisplay_structs.
14898
14899         * redisplay.c (redisplay_window):
14900         (redisplay_frame): don't check subwindows_state_changed.
14901         (mark_redisplay): mark gutters here.
14902
14903         * glyphs.c: (instantiate_image_instantiator): always layout if we
14904         haven't done so already.
14905         (allocate_image_instance): don't mark as dirty.
14906         (update_subwindow): bind inhibit_quit.
14907
14908         * gutter.c (mark_gutters): new function.
14909
14910         * glyphs-x.c (x_update_widget): Always resize to get round a
14911         widget bug.
14912
14913         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14914         breaking absolutely everything.
14915
14916         * gutter.h: declare mark_gutters.
14917
14918 2000-02-16  Martin Buchholz <martin@xemacs.org>
14919
14920         * XEmacs 21.2.29 is released.
14921
14922 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14923
14924         * fns.c (size_bit_vector): Fix computation of the size.
14925
14926 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14927
14928         * *.[ch]: Change CONST to const globally.
14929         find -name '*.[ch]' | \
14930         xargs global-replace \
14931         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14932         - Remove vestigial references to CONST_IS_LOSING
14933
14934 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14935
14936         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14937         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14938         events instead of dispatching them directly.
14939         (mswindows_handle_paint): New function to do repainting.
14940         (mswindows_wnd_proc):
14941         (emacs_mswindows_handle_magic_event): Call above function.
14942
14943 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14944
14945         * objects-msw.c (mswindows_create_font_variant): Return the new
14946         font handle.
14947         (initialize_font_instance): Get font metrics from the underlined
14948         variant of the font to cope with the case where the underlined
14949         font has a bigger descent.
14950
14951 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14952
14953         * gui.c (gui_item_accelerator): Return the first underlined
14954         character in item name.
14955
14956 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14957
14958         * lisp.h: Added Qprinter.
14959
14960         * general.c (syms_of_general): Initialized it.
14961
14962         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14963         (get_frame_dc):
14964         (get_frame_compdc): Made inline.
14965
14966         * console.h (struct console_methods): Added eject_page method.
14967
14968         * frame.h: Added FRAME_DISPLAY_P and friends.
14969         Aligned backslahes in many macros in more readable fashion.
14970         Added page_number to struct frame, and an accessor macro
14971         for it.
14972
14973         * defice.h: Added DEVICE_DISPLAY_P and friends.
14974
14975         * device.c (Fdevice_printer_p): Used these.
14976
14977         * frame.c (allocate_frame_core): Initialize page number.
14978         (Fprint_job_page_number):
14979         (Fprint_job_eject_page): Implemented.
14980
14981         * frame-msw.c (msprinter_eject_page): Added method.
14982         (msprinter_start_page): Added.
14983
14984         * window.c (Fwindow_truncated_p): Fixed docstring.
14985         (Fwindow_last_line_visible_height): Implemented.
14986
14987 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14988
14989         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14990
14991 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14992
14993         * syntax.c (scan_words): Always advance at least one character.
14994
14995 2000-02-13  Andy Piper  <andy@xemacs.org>
14996
14997         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14998         to make sure the glyph is in the cachels.
14999
15000         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15001         global image instance flag.
15002         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15003         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15004
15005         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15006         (Fset_image_instance_property): mark layout as changed.
15007         (invalidate_glyph_geometry_maybe): mark layout as changed.
15008         (glyph_width): use new NEEDS_LAYOUT macro.
15009         (glyph_ascent): ditto.
15010         (glyph_descent): ditto.
15011         (glyph_height): ditto.
15012         (image_instance_layout): mark layout as clean after laying out.
15013         (update_subwindow): don't mark layout as clean here.
15014
15015         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15016         should no longer be needed.
15017
15018         * glyphs-x.c (x_update_widget): sanitize asserts.
15019         (x_finalize_image_instance): sanitize assignment to widgets.
15020
15021         * glyphs-widget.c (widget_instantiate): don't need to clear the
15022         layout flag here.
15023
15024 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15025
15026         * sysdep.c (getcwd): Use standard prototype.
15027         * sysdep.h (getcwd): Use standard prototype.
15028
15029         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15030         (sequence, start, end).
15031         Remove redundant type checking.
15032         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15033         view of `caller-protects') to avoid a crash where the real fix was
15034         found elsewhere.
15035
15036 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15037
15038         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15039
15040         * s/sol2.h: Remove feature macro initialization.
15041
15042         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15043         (vector_hash): New.  Code from internal_hash.
15044         * lrecord.h:
15045         Fix up allocation subsystem comments.
15046
15047         * config.h.in: Add __EXTENSIONS__ for Solaris.
15048
15049         * systime.h (EMACS_GETTIMEOFDAY): New.
15050         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15051         Remove Solaris-specific code.
15052         Use void* for the (ignored) second arg for gettimeofday().
15053
15054         * elhash.c (hash_table_hash): Implement it, finally.
15055         * elhash.c:  Use hashcode_t.
15056
15057         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15058         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15059
15060         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15061         * fns.c (size_bit_vector):
15062         * alloc.c (size_vector):
15063         (make_vector_internal):
15064         (make_bit_vector_internal):
15065         (sweep_bit_vectors_1):
15066         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15067
15068 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15069
15070         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15071         Include strings.h to avoid warnings for bzero and strcasecmp.
15072
15073 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15074
15075         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15076         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15077
15078         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15079         sequence.
15080
15081 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15082
15083         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15084         use a value field instead.
15085         (symbol_value_forward_forward): Use value field.
15086         (DEFVAR_SYMVAL_FWD): Use value field.
15087         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15088         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15089         (DEFVAR_CONST_INT): Ditto.
15090         (DEFVAR_BOOL): Ditto.
15091         (DEFVAR_CONST_BOOL): Ditto.
15092         (DEFVAR_INT_MAGIC): Ditto.
15093         (DEFVAR_BOOL_MAGIC): Ditto.
15094
15095         * symbols.c (guts_of_unbound_marker): Use value field.
15096         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15097         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15098
15099         * lisp.h: Declare dumpopaque and noninteractive1.
15100
15101         * alloc.c (dumpopaque): Added.
15102         (pdump_dump_opaquevec): Added.
15103         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15104         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15105         noninteractive.
15106
15107 2000-02-10  Andy Piper  <andy@xemacs.org>
15108
15109         * glyphs.c (image_instance_layout): if the size changes, mark it
15110         as such.
15111
15112         * redisplay-output.c (redisplay_output_layout): Update the
15113         subwindow here.
15114         (redisplay_output_subwindow): ditto.
15115
15116         * glyphs.c (update_subwindow): make sure we reset flags for
15117         layouts as well as everything else.
15118
15119         * glyphs-widget.c (layout_layout): don't need to set the instances
15120         dimensions here.
15121
15122 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15123
15124         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15125         not HAVE_DLOPEN, which is a lower-level thing.
15126
15127         * .cvsignore: Ignore gmon.out
15128
15129 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15130
15131         * .cvsignore: Ignore portable dumper xemacs.dmp file
15132
15133 2000-02-09  Andy Piper  <andy@xemacs.org>
15134
15135         * redisplay-output.c (redisplay_output_layout): be more clever
15136         about when we output based on the changed flags.
15137
15138         * glyphs.h (struct image_instantiator_methods): add update_method.
15139         (struct Lisp_Image_Instance): add changed flags. Declare new
15140         macros for manipulating them.
15141
15142         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15143         (image_instance_parent_glyph): find an image_instance's parent
15144         glyph or image_instance.
15145         (image_instance_layout): mark the size as changed.
15146         (set_image_instance_dirty_p): new function. mark an image
15147         instance, plus all of its parents, as dirty.
15148         (Fset_image_instance_property): use it.
15149         (Fglyph_animated_timeout_handler): use it.
15150         (update_subwindow): call update_widget and device methods for
15151         update_subwindow. Mark all changed flags as clean.
15152         (Fresize_subwindow): mark size as changed.
15153
15154         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15155         failures.
15156         (x_update_subwindow): only resize subwindows here.
15157         (x_update_widget): new function. Update all changed properties of
15158         a widget.
15159         (x_resize_subwindow): deleted.
15160         (x_widget_set_property): deleted.
15161         (x_progress_gauge_set_property): deleted.
15162         (x_progress_gauge_update): new function. Implement recorded
15163         changes.
15164         (x_tab_control_update): ditto.
15165         (x_tab_control_set_property): deleted.
15166         (console_type_create_glyphs_x): declare new functions.
15167         (image_instantiator_format_create_glyphs_x): ditto.
15168
15169         * glyphs-widget.c (widget_set_property): mark text changed.
15170         (update_widget): new function. Update properties of a widget.
15171         (widget_instantiate): for layouts make sure we set their
15172         children's parent correctly.
15173         (tab_control_set_property): new function. Record changes that will
15174         take place under redisplay's control.
15175         (progress_gauge_set_property): ditto.
15176         (image_instantiator_progress_guage): declare new functions.
15177         (image_instantiator_tab_control): ditto.
15178
15179         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15180         now.
15181         (mswindows_update_widget): new function. Update all properties on
15182         a widget that have changed.
15183         (mswindows_button_update): new function. Update a button's set
15184         state.
15185         (mswindows_tab_control_update): new function. Update the items in
15186         a tab.
15187         (mswindows_tab_control_set_property): deleted.
15188         (mswindows_progress_gauge_update): new function. Update the
15189         progress gauge's progress.
15190         (mswindows_widget_set_property): deleted. This is all done
15191         asynchronously now.
15192         (mswindows_progress_gauge_set_property): ditto.
15193         (console_type_create_glyphs_mswindows): declare new methods.
15194         (image_instantiator_format_create_glyphs_mswindows): ditto.
15195
15196         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15197         (msprinter_set_frame_properties): ditto.
15198
15199         * console.h (struct console_methods): Add update_widget_method.
15200
15201 2000-02-09  Andy Piper  <andy@xemacs.org>
15202
15203         * gui-msw.c (Fmswindows_shell_execute): Make
15204         mswindows-shell-execute industrial strength.
15205
15206 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15207
15208         * lrecord.h: Make macro argument `props' match member function `plist'.
15209         * fns.c (Fget):
15210         * fns.c (Fput):
15211         * fns.c (Fremprop):
15212         * fns.c (Fobject_plist):
15213         * alloc.c:
15214         * symbols.c:
15215         Object property list frobbing cleanup.
15216         - Allow any lisp object (compared with `eq'), not just symbols, as
15217           keys in object plists.
15218         - Move symbol plist frobbing into symbols.c, where it belongs.
15219         - Move string plist frobbing into alloc.c, where it belongs.
15220         - Everything's an lrecord now, so no need to test for symbolp, etc.
15221         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15222
15223         * extents.c: Reorder code to remove declarations.
15224
15225         * frame.h (store_in_alist): Remove useless declaration.
15226
15227 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15228
15229         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15230         * config.h.in: Add HAVE_XCONVERTCASE.
15231
15232 2000-02-07  Andy Piper  <andy@xemacs.org>
15233
15234         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15235         it breaks many things.
15236
15237 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15238
15239         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15240         actually can start a common comment type.
15241         * src/syntax.h (SYNTAX_END_P): ditto for end.
15242
15243 2000-02-07  Martin Buchholz <martin@xemacs.org>
15244
15245         * XEmacs 21.2.28 is released.
15246
15247 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15248
15249         * event-Xt.c (x_keysym_to_character): New.
15250         (maybe_define_x_key_as_self_inserting_character): New.
15251         (x_has_keysym): New.
15252         Auto-define all keys on the keyboard as self-insert-key.
15253
15254 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15255
15256         * menubar.c (vars_of_menubar): A small code simplification.
15257
15258         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15259
15260         * ExternalShell.c:
15261         * ExternalClient.c:
15262         * EmacsShell-sub.c:
15263         * EmacsManager.c:
15264         * EmacsFrame.c:
15265         Use consistent style for specifying X resources.
15266
15267         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15268         This makes (dontusethis-set-symbol-value-handler) actually usable.
15269
15270         * lrecord.h (lrecord_decription_type):
15271         * alloc.c (pdump_register_sub):
15272         (pdump_dump_data):
15273         (pdump_reloc_one):
15274         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15275         Comply with XEmacs coding style.
15276         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15277         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15278
15279         * keymap.c (Faccessible_keymaps):
15280         Make (accessible-keymaps map "\C-h") do the Right Thing.
15281         Make (accessible-keymaps map []) do the Right Thing.
15282         Make (accessible-keymaps map "") do the Right Thing.
15283         (check_keymap_definition_loop): New function.
15284         (keymap_store_internal): Keep luser from shooting self in foot,
15285           via (define-key ctl-x-4-map "p" global-map).
15286         Remove fullness slot from struct Lisp_Keymap, since hash tables
15287         are now reliable.
15288         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15289
15290 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15291
15292         * redisplay.c (init_redisplay): Fix small memory leak.
15293         * elhash.h:
15294         * elhash.c (pdump_reorganize_hash_table):
15295         Rename from reorganize_hash_table. Change prototype.
15296         Reuse the original memory for hentries.  Save 100k.
15297         * alloc.c (PDUMP_READ): new macro.
15298         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15299         * alloc.c: No need to #ifndef before #undef.
15300
15301         * print.c: Allow debug_print() to print readably by modifying
15302         debug_print_readably.  Use consistent variable names.
15303
15304         * .dbxrc: Try to get things to work even if stopped in a function
15305         without source available by explicitly specifying source files.
15306 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15307
15308         * unexnt.c (_start): Removed bogus code which caused loading heap
15309         from differrent executable file.
15310         Removed bogus assignment to _fmode, which caused inconsistencies.
15311
15312 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15313
15314         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15315         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15316         Do not preliminary `#define signal sigset'.
15317
15318         * systime.h: Do not prototype environ on windows nt and cygwin,
15319         this conflicts with system header.
15320
15321         * syssignal.h: Use correct define for WINDOWSNT
15322
15323         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15324         with system header.
15325
15326         * sysdep.c (near start of file): Fixed commentary and rearranged
15327         ifdefs in readable order.
15328         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15329         (start_of_text):
15330         (end_of_text):
15331         (end_of_data): Do not compile in if using PDUMP.
15332
15333         * symsinit.h: Prototyped vars_of_nt().
15334
15335         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15336         (find_child_console): Use it.
15337         (sys_kill): Use it.
15338
15339         * ntheap.h: Do not extern os_subtype.
15340
15341         * ntheap.c (cache_system_info): Do not cache unneeded:
15342         nt_major_version, nt_minor_version and os_subtype.
15343         (recreate_heap): Do not compile in when PDUMPing.
15344
15345         * nt.c (geteuid and friends): Use the new varibale
15346         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15347         (init_user_info): Removed the above mentioned hackery.
15348         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15349         stat has been fixed in the C runtime.
15350         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15351
15352         * file-coding.c (struct file_coding_dump): Do not define
15353         ucs_to_mule_table in the struct if not MULE.
15354         (struct struct lrecord_description fcd_description_1): Do not dump
15355         the above.
15356
15357         * emacs.c (main_1): Call vars_of_nt().
15358         (right before Fdump_emacs_data): Don't need lastfile if using both
15359         portabe dumper and system malloc.
15360
15361         * alloc.c (Fmemory_limit): Conditionalized out.
15362         (pdump): Use OPEN_BINARY for the portable dump file.
15363         (pdump_load): Ditto.
15364
15365 2000-02-02  Mike Alexander  <mta@arbortext.com>
15366
15367         * nt.c (convert_time): Set tm_isdst before calling mktime and
15368         avoid calling it at all if the compiler supports 64 bit integers.
15369         Also initialize utc_base_ft before using it.
15370
15371 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15372
15373         * frame.c (change_frame_size_1): Take f->internal_border_width
15374         into consideration when calculating the width of the frame.
15375
15376 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15377
15378         * window.c (frame_min_height):
15379         (frame_size_valid_p):
15380         (frame_pixsize_valid_p): Added.
15381         (check_frame_size): Generalized.
15382
15383         * window.h: Prototyped the above.
15384
15385         * lisp.h:
15386         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15387         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15388         Deleted Vwin32_* and Vbinary_process_* unused variables.
15389
15390         * device-msw.c (msprinter_init_device): Do not get printer font
15391         list; Added DEVMODE functions.
15392
15393         * frame-msw.c: Added lots of printer code.
15394
15395         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15396         general.c.
15397
15398         * console-msw.h: Added more msprinter device private slots.
15399
15400 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15401
15402         * event-msw.c (key_needs_default_processing_p): Added.
15403         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15404
15405 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15406
15407         * glyphs.c (image_instance_layout): Mark image instance as clean
15408         after layout.
15409         (glyph_dirty_p): Removed redundant function.
15410         (invalidate_glyph_geometry_maybe): Added.
15411         (update_glyph_cachel_data): Call it.
15412
15413         * glyphs.h: Prototyped it.
15414
15415         * redisplay.c (add_glyph_rune): Call it.
15416         (redisplay_window): Reset glyphs cachels when frame faces have
15417         changed, thus forcing recomputation of built-in border glyphs.
15418
15419 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15420
15421         * Makefile.in.in: Make portable dumper and purify play well together.
15422         Add imperfect, but better than nothing, support for pdump.
15423         Remove xemacs.dmp when temacs is re-generated.
15424         Don't ignore errors when dumping xemacs.
15425
15426         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15427
15428 2000-01-28  Andy Piper  <andy@xemacs.org>
15429
15430         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15431         (setup_normal_frame): ditto.
15432         (setup_frame_without_minibuffer): ditto.
15433         (setup_minibuffer_frame): ditto.
15434         (delete_frame_internal): ditto.
15435         (Fmake_frame_invisible): ditto.
15436         (Ficonify_frame): ditto.
15437
15438         * window.h: change Fset_window_buffer signature.
15439
15440         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15441         (Fset_window_buffer): allow recording of buffer if the window is
15442         the selected window.
15443         (window_loop): Use new Fset_window signature.
15444
15445 2000-01-23  Daniel Pittman  <daniel@danann.net>
15446
15447         * config.h.in: Added template for `HAVE_ATHENA_3D'
15448
15449 2000-01-29  Andy Piper  <andy@xemacs.org>
15450
15451         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15452
15453         * gutter.c (output_gutter): Don't output if the window isn't live.
15454
15455 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15456
15457         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15458         of 01/12/00: Moved SetFocus back here where it belongs.
15459
15460 2000-01-23  Andy Piper  <andy@xemacs.org>
15461
15462         * s/cygwin32.h: declare printer things.
15463
15464 2000-01-26  Andy Piper  <andy@xemacs.org>
15465
15466         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15467         Alexander.
15468
15469 2000-01-24  Andy Piper  <andy@xemacs.org>
15470
15471         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15472         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15473
15474         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15475
15476         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15477
15478         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15479
15480         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15481         (mswindows_output_display_block): Avoid local shadows.
15482
15483         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15484         (mswindows_enqueue_mouse_button_event): ditto.
15485         (mswindows_handle_gui_wm_command): remove declaration.
15486
15487         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15488         warnings.
15489
15490         * console-msw.h: Avoid shadows.
15491         (mswindows_get_toolbar_button_text):
15492         (emacs_mswindows_create_stream_pair):
15493         (emacs_mswindows_delete_stream_pair):
15494         (mswindows_handle_toolbar_wm_command): declare.
15495
15496         * device-msw.c (build_syscolor_string): Avoid shadows.
15497
15498 2000-01-23  Andy Piper  <andy@xemacs.org>
15499
15500         * glyphs-widget.c (widget_instantiate): reverse the items for
15501         layouts so that children are in the expected order.
15502
15503 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15504
15505         * ralloc.c: safe_bcopy ==> memmove
15506         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15507         * s/msdos.h: Remove BCOPY macros.
15508         * insdel.c (gap_right): Remove BCOPY conditional code.
15509         * insdel.c (gap_left): Remove BCOPY conditional code.
15510         XEmacs demands a working ANSI C compiler - hence memmove.
15511
15512         * regex.c (regex_compile): Remove accidental use of trigraphs.
15513
15514 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15515
15516         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15517         event timestamp.
15518
15519 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15520
15521         * event-msw.c (mswindows_drain_windows_queue): Added the
15522         parameter.
15523         (mswindows_need_event): Commented the call to
15524         mswindows_drain_windows_queue().
15525         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15526         only.
15527
15528         * console-msw.h: Moved a few function prototypes here from
15529         event-msw.c.
15530
15531         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15532         parameter from unsigned short to unsigned long.
15533         (Fmswindows_shell_execute): Added return value.
15534
15535 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15536
15537         * sysdep.c (init_system_name):
15538           process-unix.c (unix_canonicalized_host_name):
15539         Don't call freeaddrinfo() if getaddrinfo() fails.
15540
15541         * process-unix.c (unix_open_unix_network_stream):
15542         Moved the code to get a port # into address loop.
15543
15544 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15545
15546         * buffer.c (reinit_vars_of_buffer):
15547         The right place to initialize conversion_in_dynarr and
15548         conversion_out_dynarr.
15549
15550         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15551
15552         * process-unix.c (unix_canonicalize_host_name): Muleize.
15553         (unix_open_network_stream): Muleize.
15554
15555         * buffer.h: Fix up prototypes for ralloc.c functions.
15556
15557 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15558         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15559         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15560                 instead of gethostbyname()
15561         * process-unix.c: In unix_canonicalize_host_name() and
15562                 unix_open_network_stream(), add code to use getaddrinfo()
15563                 instead of gethostbyname().
15564
15565 2000-01-27  Daniel Pittman <daniel@danann.net>
15566
15567         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15568         libs when built with flat Athena.
15569
15570 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15571
15572         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15573         Use coding standards for function prototypes.
15574
15575 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15576
15577         * dialog-msw.c (push_lisp_string_as_unicode):
15578         * doc.c (unparesseuxify_doc_string):
15579         * dired.c (Fuser_name_completion_1):
15580         * dired.c (Fuser_name_all_completions):
15581         * dired.c (free_user_cache):
15582         * dired.c (user_name_completion):
15583         * console-x.c (get_display_arg_connection):
15584         * minibuf.c (clear_echo_area_internal):
15585         * minibuf.c (echo_area_append):
15586         * eldap.c (Fldap_open):
15587         * eldap.c (Fldap_search_internal):
15588         * frame-x.c (x_set_frame_text_value):
15589         * frame-x.c (x_set_frame_properties):
15590         * frame-x.c (x_create_widgets):
15591         * redisplay-tty.c (term_get_fkeys_1):
15592         * objects-x.c (x_parse_nearest_color):
15593         * objects-x.c (x_valid_color_name_p):
15594         * objects-x.c (x_initialize_font_instance):
15595         * objects-x.c (x_list_fonts):
15596         * objects-x.c (x_find_charset_font):
15597         * tooltalk.c (Fadd_tooltalk_message_arg):
15598         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15599         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15600         * process-unix.c (unix_create_process):
15601         * ntproc.c (sys_spawnve):
15602         * sound.c (Fplay_sound_file):
15603         * sound.c (Fplay_sound):
15604         * buffer.c (init_initial_directory):
15605         * buffer.c (init_buffer):
15606         * editfns.c (init_editfns):
15607         * editfns.c (Ftemp_directory):
15608         * editfns.c (Fuser_full_name):
15609         * editfns.c (uncache_home_directory):
15610         * editfns.c (get_home_directory):
15611         * editfns.c (Fuser_home_directory):
15612         * editfns.c (Fformat_time_string):
15613         * editfns.c (Fcurrent_time_string):
15614         * gui-x.c (button_item_to_widget_value):
15615         * database.c (Fopen_database):
15616         * event-Xt.c (x_to_emacs_keysym):
15617         * event-Xt.c (x_event_to_emacs_event):
15618         * event-Xt.c (describe_event_window):
15619         * event-msw.c (mswindows_wnd_proc):
15620         * glyphs-eimage.c (jpeg_instantiate):
15621         * glyphs-eimage.c (gif_instantiate):
15622         * glyphs-eimage.c (png_instantiate):
15623         * glyphs-eimage.c (tiff_instantiate):
15624         * glyphs-x.c (xbm_instantiate_1):
15625         * glyphs-x.c (x_xbm_instantiate):
15626         * glyphs-x.c (x_xface_instantiate):
15627         * glyphs-x.c (autodetect_instantiate):
15628         * glyphs-x.c (cursor_font_instantiate):
15629         * glyphs-x.c (x_widget_instantiate):
15630         * glyphs-x.c (x_widget_set_property):
15631         * glyphs-x.c (x_widget_property):
15632         * glyphs-x.c (BUILD_GLYPH_INST):
15633         * print.c (write_string_to_stdio_stream):
15634         * print.c (output_string):
15635         * print.c (Falternate_debugging_output):
15636         * print.c (Fexternal_debugging_output):
15637         * glyphs-msw.c (extract_xpm_color_names):
15638         * glyphs-msw.c (mswindows_xpm_instantiate):
15639         * glyphs-msw.c (bmp_instantiate):
15640         * glyphs-msw.c (resource_name_to_resource):
15641         * glyphs-msw.c (mswindows_resource_instantiate):
15642         * glyphs-msw.c (xbm_instantiate_1):
15643         * glyphs-msw.c (mswindows_xbm_instantiate):
15644         * glyphs-msw.c (mswindows_xface_instantiate):
15645         * glyphs-msw.c (mswindows_widget_instantiate):
15646         * glyphs-msw.c (add_tree_item):
15647         * glyphs-msw.c (add_tab_item):
15648         * glyphs-msw.c (mswindows_combo_box_instantiate):
15649         * glyphs-msw.c (mswindows_widget_property):
15650         * glyphs-msw.c (mswindows_combo_box_property):
15651         * glyphs-msw.c (mswindows_widget_set_property):
15652         * console.c (stuff_buffered_input):
15653         * objects-msw.c (mswindows_initialize_color_instance):
15654         * objects-msw.c (mswindows_valid_color_name_p):
15655         * objects-msw.c (mswindows_list_fonts):
15656         * objects-msw.c (mswindows_font_instance_truename):
15657         * bytecode.c (optimize_compiled_function):
15658         * select-x.c (symbol_to_x_atom):
15659         * select-x.c (x_atom_to_symbol):
15660         * select-x.c (hack_motif_clipboard_selection):
15661         * select-x.c (selection_data_to_lisp_data):
15662         * select-x.c (lisp_data_to_selection_data):
15663         * select-x.c (Fx_get_cutbuffer_internal):
15664         * select-x.c (Fx_store_cutbuffer_internal):
15665         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15666         * buffer.h (TO_INTERNAL_FORMAT): New function.
15667         * emacs.c (make_arg_list_1):
15668         * emacs.c (make_argc_argv):
15669         * emacs.c (main_1):
15670         * emacs.c (Fdump_emacs):
15671         * emacs.c (split_string_by_emchar_1):
15672         * file-coding.h:
15673         * lisp.h:
15674         * lstream.h:
15675         * symsinit.h:
15676         * device-x.c (x_init_device):
15677         * device-x.c (Fx_valid_keysym_name_p):
15678         * device-x.c (Fx_get_font_path):
15679         * device-x.c (Fx_set_font_path):
15680         * glyphs.c (bitmap_to_lisp_data):
15681         * glyphs.c (pixmap_to_lisp_data):
15682         * alloc.c (make_ext_string): Use coding system arguments.  Update
15683         all callers.
15684         * alloc.c (build_string):
15685         * callproc.c (child_setup):
15686         * callproc.c (init_callproc):
15687         * fileio.c (lisp_strerror):
15688         * fileio.c (directory_file_name):
15689         * fileio.c (Fexpand_file_name):
15690         * fileio.c (Ffile_truename):
15691         * fileio.c (Fsysnetunam):
15692         * fileio.c (Fdo_auto_save):
15693         * sysdep.c (sys_readdir):
15694         * tests.c: New file.  Allow adding C tests.
15695         Replace GET_* macros with a more comprehensible and flexible
15696         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15697         Modify all calls.
15698         Any coding system can be used to do format conversion.
15699         Eliminate enum external_data_format.
15700         Eliminate convert_to_external_format.
15701         Eliminate convert_to_internal_format.
15702         Make sure file-name, keyboard, terminal, and ctext are always
15703         defined as coding systems or aliases.  Make
15704         file-name-coding-system, terminal-coding-system, and
15705         keyboard-coding-system magical variables that are equivalent to
15706         defining the corresponding coding system aliases.
15707
15708         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15709         * file-coding.c (Fcoding_system_alias_p): New function.
15710         * file-coding.c (Fcoding_system_aliasee): New function.
15711         * file-coding.c (append_suffix_to_symbol): New function.
15712         * file-coding.c (dangling_coding_system_alias_p): New function.
15713         * file-coding.c (Ffind_coding_system):
15714         * file-coding.c (Fcopy_coding_system):
15715         * file-coding.c (encode_coding_no_conversion):
15716         * file-coding.c (syms_of_file_coding):
15717         * file-coding.c (vars_of_file_coding):
15718         Rewrite coding system alias code.
15719         Allow nested aliases, like symbolic links.
15720         Allow redefinition of coding system aliases.
15721         Prevent existence of dangling coding system aliases.
15722
15723         * dired.c (Fuser_name_completion_1):
15724         * dired.c (Fuser_name_all_completions):
15725         A crash would happen if user did QUIT in the middle of building
15726         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15727
15728         * lisp.h:
15729         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15730
15731         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15732         an unsigned char *.  Update all callers.
15733
15734 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15735
15736         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15737
15738 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15739
15740         * elhash.c (hentry_description): Use more portable definition.
15741         (resize_hash_table): Initialize new hentries using
15742         xnew_array_and_zero, thereby simplifying the code.
15743
15744         * mule-charset.c (make_charset): Make sure entire object is
15745         initialized, to avoid Purify warnings.
15746
15747         * alloc.c (resize_string): Fix unlikely crash with big strings.
15748
15749 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15750
15751         * realpath.c (xrealpath):
15752         Don't call getwd().
15753
15754 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15755
15756         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15757
15758 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15759
15760         * unexelfsgi.c (unexec): Change the way we decide which segment
15761         should be extended.
15762
15763         Assumption that .bss section should be outside the PT_LOADable
15764         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15765         it's present) is inside the 'data' segment. This would fail the
15766         test which was used to find a segment to grow and cover new
15767         heap. Instead of this assumption, I created another one - on IRIX
15768         the segment to grow should start below .bss and it's address
15769         should extent above the end of .bss. Once this segment is
15770         identified, it's grown to accommodate the new heap and new
15771         zero-length .bss section is added at the end of .data2.
15772
15773 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15774
15775         * eval.c (Feval): Wrong number of arguments should use original
15776         function, not the indirect_function version of it.
15777
15778 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15779
15780         * glyphs-x.c (x_button_instantiate): Don't add image if
15781         it is not a pixmap.
15782         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15783         is relative.
15784
15785 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15786
15787         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15788         declaration.
15789         (DEFVAR_INT_MAGIC): Ditto.
15790         (DEFVAR_BOOL_MAGIC): Ditto.
15791         * glyphs.h: Reindent backslash.
15792
15793 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15794
15795         * glyphs-widget.c (layout_query_geometry):
15796         (layout_layout): Use correct types for gheight, gwidth.
15797
15798 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15799
15800         * EmacsManager.c (QueryGeometry): Purified.
15801
15802 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15803
15804         * alloc.c (make_float): Make sure entire object is initialized, to
15805         avoid Purify warnings.
15806         (pdump_register_sub): Remove useless assignment.
15807         (pdump): Use xmalloc, not malloc.
15808         (pdump_load): Use xmalloc, not malloc.
15809
15810 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15811
15812         * callproc.c:
15813         * dired-msw.c:
15814         * fileio.c:
15815         * process-nt.c:
15816         * redisplay-msw.c:
15817         * sysdep.c: Removed redundant #include <windows.h>
15818
15819 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15820
15821         * frame.c (delete_frame_internal): Do not delete device when its
15822         implementation so declares.
15823         (delete_frame_internal): Set device selected frame to nil when
15824         last frame goes away.
15825
15826         * device-msw.c (msprinter_device_system_metrics): Implemented.
15827         (mswindows_device_system_metrics): Added 'device-dpi property.
15828
15829         * device.c: (Fdevice_printer_p): Added.
15830         Added 'offset-workspace device metric.
15831
15832         * console.h (device_metrics): Declared DM_offset_workspace.
15833
15834 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15835
15836         * fileio.c (Ffile_truename): Remove pointless and confusing
15837         initialization of elen.
15838
15839         * glyphs-widget.c: Compiler warning fixes.
15840
15841 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15842
15843         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15844         instead of a Lisp_Object as argument to make it consistent with
15845         the other LIVE_P macros.
15846         (CHECK_LIVE_PROCESS): New macro.
15847
15848         * process.c: Declare Qprocess_live_p.
15849         (Fprocess_live_p): New function.
15850         (create_process): Use PROCESS_LIVE_P.
15851         (read_process_output): Ditto.
15852         (set_process_filter): Ditto.
15853         (Fdelete_process): Ditto.
15854         (kill_buffer_processes): Ditto
15855         (process_send_signal): Use CHECK_LIVE_PROCESS.
15856         (Fprocess_input_coding_system): Check whether process is still
15857         alive (fix PR#1061).
15858         (Fprocess_output_coding_system): Ditto.
15859         (Fprocess_coding_system): Ditto.
15860         (Fset_process_input_coding_system): Ditto.
15861         (Fset_process_output_coding_system): Ditto.
15862
15863 2000-01-23  Andy Piper  <andy@xemacs.org>
15864
15865         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15866         layout and widget.
15867
15868         * glyphs.c (mark_image_instance): take into account changed
15869         image_instance format.
15870         (image_instance_equal): ditto.
15871         (image_instance_hash): ditto.
15872
15873         * glyphs-widget.c (widget_instantiate): Incorporate layout
15874         instantiation here. Delay layout of the layout until later.
15875         (layout_instantiate): deleted.
15876         (layout_query_geometry): new function. get the geometry of a
15877         layout.
15878         (layout_layout): layout a layout dynamically.
15879         (image_instantiator_widget): New function - splitting up
15880         image_instantiator_format_create_glyphs_widget for netwinder
15881         compilation.
15882         (image_instantiator_buttons):
15883         (image_instantiator_edit_fields):
15884         (image_instantiator_combo_box):
15885         (image_instantiator_scrollbar):
15886         (image_instantiator_progress_guage):
15887         (image_instantiator_tree_view):
15888         (image_instantiator_tab_control):
15889         (image_instantiator_labels):
15890         (image_instantiator_layout): ditto.
15891         (image_instantiator_format_create_glyphs_widget): Call preceding
15892         functions.
15893
15894 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15895
15896         * process.c (Fset_process_coding_system):
15897         * device-x.c (Fx_keysym_hash_table):
15898         Docstring fixes.
15899
15900         * lstream.c (Lstream_write): Return documented value, not 0.
15901
15902         * fileio.c (directory_file_name):
15903         (Fsubstitute_in_file_name):
15904         (Fsubstitute_insert_file_contents_internal):
15905         (Fwrite_region_internal):
15906         * emacs.c:
15907         * sysdep.c:
15908         * getloadavg.c:
15909         * systty.h:
15910         Remove vestigial APOLLO-conditional code.
15911
15912 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15913
15914         * getpagesize.h: Add guard macros.
15915         * libsst.h: Add guard macros.
15916         * libst.h: Add guard macros.
15917         * line-number.h: Add guard macros.
15918         * ndir.h: Add guard macros.
15919         * sysfloat.h: Add guard macros.
15920         * sysfile.h: Add guard macros.
15921         * sysproc.h: Add guard macros.
15922         * syswait.h: Add guard macros.
15923         * xintrinsic.h: Add guard macros.
15924         * xintrinsicp.h: Add guard macros.
15925         * xmmanager.h: Add guard macros.
15926         * xmmanagerp.h: Add guard macros.
15927         * xmprimitive.h: Add guard macros.
15928         * xmu.h: Add guard macros.
15929         * gpmevent.h: Add copyright statement. Add guard macros.
15930         * miscplay.h: Add guard macros.
15931         * *.h: Use consistent C-standards-approved guard macro names.
15932
15933         * opaque.c (make_opaque): Switch parameter order.
15934         * opaque.h (make_opaque): Switch parameter order.
15935         Update all callers.
15936         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15937
15938         * config.h.in (type_checking_assert): Added.
15939         (bufpos_checking_assert): Added.
15940
15941 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15942
15943         * alloc.c: Harmless pdump changes.
15944         - Use countof().
15945         - spell alignment correctly.
15946         * sysdep.c: Use countof()
15947
15948 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15949
15950         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15951         initially_selected_for_input() console method, default to 0.
15952         (semi_canonicalize_console_connection): Try to delegate to
15953         canonicalize_console_connection if no such console method.
15954         (canonicalize_console_connection): Vice versa.
15955         (print_console): Do not print nil connection.
15956
15957         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15958         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15959         (XDEVIMPF_FRAMELESS_OK): Added.
15960         (CONSOLE_INHERITS_METHOD): Added.
15961
15962         * console-msw.c (mswindows_canonicalize_console_connection):
15963         Added.
15964         (mswindows_canonicalize_device_connection): Added.
15965
15966         * console-msw.h (struct msprinter_device): Added this struct and
15967         accessor macros.
15968         (mswindows_device): Made fontlist a lisp object.
15969
15970         * device.c (semi_canonicalize_device_connection):  Try to delegate
15971         to canonicalize_device_connection if no such console method.
15972         (canonicalize_device_connection): Vice versa.
15973         (print_device): Do not print nil connection.
15974
15975         * device-msw.c (mswindows_init_device): Call InitCommonControls
15976         when have widgets.
15977         (mswindows_delete_device): Removed fontlist deallocation.
15978         (mswindows_mark_device): Added.
15979
15980         * events.c (event_equal): Added abort() at unreached code.
15981         (event_hash): Ditto.
15982
15983         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15984         fallback tags of Windows devices.
15985
15986         * general.c (syms_of_general): Initialized Qmsprinter.
15987
15988         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15989         of fallback tags of Windows devices.
15990
15991         * lisp.h: Declared Qmsprinter.
15992
15993         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15994         of strings.
15995         (mswindows_list_fonts): Ditto.
15996         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15997         that it can be used by both mswindows and msprinter devices.
15998         (initialize_font_instance): Added.
15999         (mswindows_initialize_font_instance): Use it.
16000         (msprinter_initialize_font_instance): Added.
16001
16002         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16003         and implementation flags check.
16004         (redisplay_without_hooks): Changed the call to the above.
16005         (Fredraw_device): Ditto.
16006         (Fredisplay_device): Ditto.
16007
16008         * redisplay-msw.c (get_frame_dc): Implemented.
16009         (get_frame_compdc): Implemented.
16010         (many functions): Use the two functions above to get device
16011         contexts, ether for a window or a printer.
16012
16013 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16014
16015         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16016         initialization here.
16017         (init_symbols_once_early): Call it.
16018         * emacs.c (main_1): Call it.
16019         * symsinit.h: Declare it.
16020
16021 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16022
16023         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16024         Lisp_Object.
16025         (pdump_backtrace): Ditto.
16026         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16027         (pdump_get_entry): Abort if trying to register a null pointer.
16028         (pdump_dump_data): Cleanup types when relocating.
16029         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16030         (pdump_dump_rtables): Remove bad casts.
16031         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16032         Lisp_Object instead of a EMACS_INT for the hashtable
16033         reorganization.
16034
16035 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16036
16037         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16038
16039         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16040
16041         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16042
16043         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16044
16045 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16046
16047         * faces.h (FACE_STRIKETHRU_P): Added.
16048
16049         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16050         of font variants.
16051
16052         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16053         (mswindows_set_dc_font): New function, aware of font variants,
16054         separated from mswindows_update_dc.
16055
16056         * objects-msw.h (struct mswindows_font_instance_data): Added
16057         definition.
16058
16059         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16060         cached fonts and the data structure.
16061         (mswindows_initialize_font_instance): Added creation of font data
16062         structure.
16063         (mswindows_print_font_instance): Print at least something.
16064         (mswindows_create_font_variant): Implemented.
16065         (mswindows_get_hfont): Implemented.
16066
16067 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16068
16069         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16070         prototyping problem with msvc.
16071
16072         * emacs.c (main_1): added syms_of_gui_mswindows() call
16073
16074         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16075         syms_of_gui_mswindows() function
16076
16077         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16078
16079 2000-01-18  Martin Buchholz <martin@xemacs.org>
16080
16081         * XEmacs 21.2.27 is released.
16082
16083 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16084
16085         * glyphs-eimage.c (struct tiff_error_struct):
16086         (tiff_error_func):
16087         (tiff_warning_func):
16088         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16089
16090         * unexmips.c:
16091         * unexhp9k3.c:
16092         * unexfreebsd.c:
16093         * unexec.c: Remove vestigial Lucid C code.
16094         * unexalpha.c:
16095         * unexaix.c:
16096         * termcap.c:
16097         * libsst.c: Ansify.
16098         Remove declarations of errno and strerror().
16099
16100         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16101
16102         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16103
16104 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16105
16106         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16107         Optimize.
16108
16109 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16110
16111         * md5.c:
16112         * file-coding.c:
16113         * file-coding.h:
16114         Change enum eol_type to eol_type_t.
16115
16116 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16117
16118         * gui.c (get_gui_callback): Check cons before accessing car.
16119
16120 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16121
16122         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16123         (XSETSPECIFIER_TYPE): Ditto.
16124
16125 2000-01-17  Didier Verna  <didier@xemacs.org>
16126
16127         * redisplay.c (generate_fstring_runes): compute string size in
16128         characters, not bytes.
16129
16130 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16131
16132         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16133
16134 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16135
16136         * print.c (print_error_message): Call print_prepare().
16137
16138 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16139
16140         * .dbxrc: Renamed from dbxrc.
16141
16142         * events.c (event_to_character):
16143         Use `assert (foo)' instead of `if (!foo) abort()'
16144
16145         * .gdbinit (xtype): Add documentation.
16146         * .gdbinit (check-temacs): New function.
16147         * .gdbinit (check-xemacs): New function.
16148         * dbxrc (check-xemacs): New function.
16149         * dbxrc (check-xemacs): New function.
16150
16151 2000-01-14  Andy Piper  <andy@xemacs.org>
16152
16153         * glyphs-widget.c (widget_query_geometry): Make sure that we
16154         calculate default dimensions correctly.
16155
16156 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16157
16158         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16159
16160         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16161         pdump_wire'd variable.
16162
16163         * emacs.c: (main_1): Conditionalized calls to
16164         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16165
16166 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16167
16168         * window.c (Fset_window_configuration):
16169         * sysdep.c (_start):
16170         * input-method-motif.c (res):
16171         * event-Xt.c (Xt_process_to_emacs_event):
16172         Simple compiler warning fixes.
16173
16174         * bytecode.c (funcall_compiled_function): Use the original
16175         function symbol on the backtrace list in preference to the
16176         compiled_function object in error messages.
16177
16178 2000-01-13  Andy Piper  <andy@xemacs.org>
16179
16180         * glyphs-x.c (update_widget_face): Make sure we update the widget
16181         background as well as foreground.
16182
16183 2000-01-13  Andy Piper  <andy@xemacs.org>
16184
16185         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16186         fields to subwindow.
16187         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16188         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16189         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16190         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16191
16192         * glyphs-widget.c (check_valid_tab_orientation): new function.
16193         (initialize_widget_image_instance): zero orientation and
16194         justification.
16195         (widget_instantiate): pick up orientation.
16196         (tab_control_query_geometry): return appropriate values for
16197         vertical tabs.
16198
16199         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16200         appropriate creation flags for left, right and bottom tabs.
16201
16202         * s/cygwin32.h: add tab definitions.
16203
16204 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16205
16206         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16207         frame upon hiding a subwindow.
16208         (mswindows_button_instantiate): Changed the push button style to
16209         BS_PUSHBUTTON.
16210         (mswindows_button_instantiate): Removed button BS_NOTIFY
16211         style.
16212         (mswindows_button_instantiate): Removed redundant check for
16213         a disabled gui item.
16214         (mswindows_button_instantiate): Made use of WS_TABSTOP
16215         consistent: "operable" controls (edit, button, tree, scroll) have
16216         this style, "display-only" ones (static, progress gauge) do
16217         not. This style is currently ignored by XEmacs though. Also,
16218         removed the WS_EX_CONTROLPARENT style - it is not for children,
16219         it is for their parents!
16220         (mswindows_edit_field_instantiate): Ditto.
16221         (mswindows_progress_gauge_instantiate): Ditto.
16222         (mswindows_tree_view_instantiate): Ditto.
16223         (mswindows_tab_control_instantiate): Ditto.
16224         (mswindows_scrollbar_instantiate): Ditto.
16225         (mswindows_combo_box_instantiate): Ditto.
16226         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16227         style to the "clip" window.
16228         (mswindows_button_instantiate): Removed compilation warning by
16229         equally typing terms of the ?: operator.
16230
16231 2000-01-12  Didier Verna  <didier@xemacs.org>
16232
16233         * redisplay.c (generate_fstring_runes): new parameter holding the
16234         last modeline-format extent.
16235         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16236         extent, fill the glyph block with it.
16237         (generate_fstring_runes): handle these parameters.
16238         (generate_formatted_string_db): ditto.
16239
16240         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16241         glyphs'extents in the modeline.
16242
16243 1999-01-11  Mike Woolley  <mike@bulsara.com>
16244
16245         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16246         256Mb, as a workaround for the non-starting problem many people
16247         have experienced.
16248
16249 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16250
16251         * console-tty.c (Fset_console_tty_output_coding_system):
16252         Force redrawing tty frame.
16253
16254 2000-01-10  Didier Verna  <didier@xemacs.org>
16255
16256         * redisplay.c (generate_fstring_runes): fix size computation bug.
16257
16258 2000-01-09  William M. Perry <wmperry@aventail.com>
16259
16260         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16261
16262 2000-01-09  Andy Piper  <andy@xemacs.org>
16263
16264         * glyphs-msw.c: index -> i to avoid shadows.
16265         (xbm_create_bitmap_from_data): make static.
16266         (check_valid_string_or_int): deleted.
16267         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16268
16269         * glyphs-x.c (x_update_subwindow): remove unused args.
16270
16271         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16272         back pointer - this is done in allocate_image_instance.
16273         (query_string_font): return Qnil to make the compiler happy.
16274         (unmap_subwindow): set to ~0 to make the compiler happy.
16275         (glyph_query_geometry): comment out until used.
16276         (glyph_layout): ditto.
16277
16278 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16279
16280         * insdel.c (signal_after_change): Remove extraneous unbind_to().