update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Fput_char_attribute): Convert char-refs in value of
4         `<-simplified[^*]*' to characters and put reverse links.
5
6 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * chartab.c (Q_subsumptive): Renamed from Q_unified.
9         (Q_subsumptive_from): Renamed from Q_unified_from.
10         (Fchar_feature): Use `Q_subsumptive_from' instead of
11         `Q_unified_from'.
12         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
13         `Q_unified'.
14         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
15         `<-unified' to `<-subsumptive'.
16
17 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
18
19         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
20         inheritance itself; fix typo; stop recursive search if cyclic
21         inheritance is found.
22
23 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
24
25         * chartab.c (Q_denotational): New variable.
26         (Q_denotational_from): New variable.
27         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
28         (put_char_attribute): New function.
29         (Fput_char_attribute): Use `put_char_attribute'; regard
30         `->denotational' and `<-denotational' as same as `->unified' and
31         `<-unified'.
32         (syms_of_chartab): Add new symbols `->denotational' and
33         `<-denotational'.
34
35 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
36
37         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
38         `Fget_char_attribute'.
39         (Fchar_variants): Likewise.
40         (get_char_table): Likewise.
41         (Fchar_feature): New function.
42         (put_char_composition): Use `Fchar_feature' instead of
43         `Fget_char_attribute'.
44         (Fput_char_attribute): Likewise; don't put the target character
45         into its `->unified' value.
46         (syms_of_chartab): Add new builtin function `char-feature'.
47
48 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
49
50         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
51         `Fget_char_attribute'.
52         (char_encode_utf8): Likewise.
53
54         * chartab.h: Add an EXFUN for `Fchar_feature'.
55
56 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
57
58         * chartab.c (Vnext_defined_char_id): New variable.
59         (Fput_char_attribute): Accept characters in `->unified'.
60         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
61         new characters which are not related with builtin char-id ranges.
62         (vars_of_chartab): Add new variable `next-defined-char-id'.
63
64 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
65
66         * chartab.c (Q_unified): New variable.
67         (Q_unified_from): New variable.
68         (Fput_char_attribute): Add code for `->unified'.
69         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
70         XEmacs CHISE.
71
72 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
73
74         * mule-charset.c (decode_ccs_conversion): New function.
75         (decode_defined_char): Use `decode_ccs_conversion'.
76         (decode_builtin_char): Likewise.
77
78 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
79
80         * char-ucs.h: Change some charset-ids of private coded-charsets.
81
82 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
83
84         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
85         (char_encode_as_entity_reference): Likewise.
86         (decode_coding_big5): Modify for `decode_defined_char' and
87         `DECODE_CHAR'.
88         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
89         avoid compiler warning.
90         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
91
92         * mule-charset.c (decode_defined_char): Add new argument
93         `without_inheritance'.
94         (Fdecode_char): Add new optional argument `without_inheritance'.
95         (Fdecode_builtin_char): Modify for `Fdecode_char'.
96
97         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
98         (simplify_char_spec): Likewise.
99
100         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
101         setting.
102
103         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
104         (map_char_table): Likewise.
105         (Fdefine_char): Use `Fdecode_char' without inheritance.
106         (Ffind_char): Modify for `Fdecode_char'.
107
108         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
109
110         * char-ucs.h (decode_defined_char): Add new argument
111         `without_inheritance'.
112         (DECODE_CHAR): Likewise.
113         (MAKE_CHAR): Modify for `DECODE_CHAR'.
114
115 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
116
117         * chartab.c (Vchise_system_db_directory): New variable.
118         (vars_of_chartab): Add new variable `chise-system-db-directory'.
119
120 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
121
122         * chartab.c: EXFUN `Fmount_char_attribute_table'.
123         (print_chartab_range): Don't define when `UTF2000' is defined.
124         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
125         `CHISE_DS_open'.
126
127 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
128
129         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
130         and optional argument `rehash' is specified, call
131         `open_chise_data_source_maybe' before
132         `chise_ds_foreach_char_feature_name' is called.
133
134 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
135
136         * chartab.c (char_attribute_list_reset_map_func): New function
137         when HAVE_LIBCHISE is defined.
138         (Fchar_attribute_list): Add new optional argument `rehash' when
139         HAVE_LIBCHISE is defined.
140         (open_chise_data_source_maybe): Use "chise-db" instead of
141         "char-db".
142         (char_attribute_system_db_file): Likewise.
143         (Fload_char_attribute_table): Use
144         `chise_feature_foreach_char_with_value' instead of
145         `chise_char_feature_value_iterate'.
146
147 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
148
149         * chartab.c (Vchise_db_directory): New variable.
150         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
151
152 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
153
154         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
155         instead of HAVE_CHISE to specify using with libchise.
156
157         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
158
159         * chartab.h: Don't use HAVE_CHISE_CLIENT.
160
161         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
162         defined or HAVE_LIBCHISE_LIBCHISE is defined.
163         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
164         is defined.
165         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
166         HAVE_CHISE to specify using with libchise.
167         (syms_of_chartab): Don't define symbol `system-char-id' when
168         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
169
170 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
171
172         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
173         specify CHISE DB support.
174         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
175         of `char_attribute_system_db_file' to check feature DB file.
176
177         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
178         HAVE_CHISE_CLIENT to specify CHISE DB support.
179
180         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
181         specify CHISE DB support.
182         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
183         not defined.
184         (Freset_char_attribute_table): Use `chise_feature_setup_db'
185         instead of `char_attribute_system_db_file' to check feature DB
186         file.
187
188 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
189
190         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
191         `HAVE_CHISE_CLIENT'.
192
193 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
194
195         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
196         (Fsave_charset_mapping_table): Don't use
197         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
198
199         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
200         (HAVE_LIBCHISE): New macro.
201
202         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
203
204         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
205         (Fsave_char_attribute_table): Don't use
206         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
207
208 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
209
210         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
211         defined.
212         (save_uint16_byte_table): Likewise.
213         (save_byte_table): Likewise.
214         (char_table_get_db): Use `chise_ds_load_char_feature_value'
215         instead of `chise_char_load_feature_value'.
216         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
217
218 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
219
220         * chartab.h (struct Lisp_Char_Table): Delete member
221         `feature_table' if CHISE is defined.
222
223         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
224         (Fcopy_char_table): Likewise.
225         (char_table_open_db_maybe): Likewise.
226         (char_table_close_db_maybe): Likewise.
227         (char_table_get_db): Likewise.
228         (Fmount_char_attribute_table): Likewise.
229         (Fload_char_attribute_table): Likewise.
230
231 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
232
233         * mule-charset.c (load_char_decoding_entry_maybe): Use
234         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
235         `chise_ccs_decode'.
236
237 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
238
239         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
240         instead of `chise_open_data_source'.
241         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
242         `chise_ds_close'.
243
244 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
245
246         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
247         instead of `chise_ds_open_feature_table'.
248         (char_table_close_db_maybe): Don't use `chise_ft_close'.
249
250 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
251
252         * mule-charset.c (Fsave_charset_mapping_table): Use
253         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
254         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
255         `chise_ccs_sync' instead of `chise_ccst_close'.
256         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
257
258         * chartab.c (open_chise_data_source_maybe): Modify for
259         `chise_open_data_source'.
260         (char_table_open_db_maybe): Modify for
261         `chise_ds_open_feature_table'.
262
263 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
264
265         * mule-charset.c (load_char_decoding_entry_maybe): Use
266         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
267         `chise_ccst_close'.
268
269 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
270
271         * mule-charset.c (Fsave_charset_mapping_table): Use
272         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
273         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
274         `chise_dt_put_char' and `chise_dt_close'.
275         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
276         `chise_ccs_decode' and `chise_ccst_close' instead of
277         `chise_ds_open_decoding_table', `chise_dt_get_char' and
278         `chise_dt_close'.
279
280         * chartab.c (char_table_get_db): Use
281         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
282         (load_char_attribute_table_map_func): Modify for
283         `chise_char_feature_value_iterate'.
284         (Fload_char_attribute_table): Use
285         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
286
287 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
290
291 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
292
293         * chartab.c (put_char_table): Modify for inherited coded-charsets
294         in XEmacs CHISE.
295
296 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
297
298         * chartab.c (Fput_char_table_map_function): Fixed.
299         (word_boundary_p): Don't check charset in XEmacs CHISE.
300
301 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
302
303         * mule-charset.c (Fsave_charset_mapping_table): Use
304         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
305         instead of `chise_open_decoding_table'; refer
306         `default_chise_data_source'; use `chise_dt_close' instead of
307         `chise_close_decoding_table'.
308         (load_char_decoding_entry_maybe): Likewise.
309
310         * chartab.c (default_chise_data_source): New variable when `CHISE'
311         is defined.
312         (Fcopy_char_table): `ct->ds' is deleted.
313         (open_chise_data_source_maybe): New function.
314         (Fclose_char_data_source): New function.
315         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
316         use `chise_ds_open_feature_table' instead of
317         `chise_open_feature_table'.
318         (char_table_close_db_maybe): Use `chise_ft_close' instead of
319         `chise_close_feature_table'; `cit->ds' is deleted.
320         (syms_of_chartab): Add new builtin function
321         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
322
323         * chartab.h (default_chise_data_source): New extern variable.
324         (open_chise_data_source_maybe): New prototype.
325         (struct Lisp_Char_Table): Delete `ds'.
326
327 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
328
329         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
330         `CHISE' is defined.
331
332 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
333
334         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
335         not defined; add code for non-libchise setting.
336         (char_table_close_db_maybe): Likewise.
337         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
338         defined.
339         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
340         even if `CHISE' is not defined.
341         (Freset_char_attribute_table): Likewise.
342         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
343         `char_table_close_db_maybe' even if `CHISE' is not defined; use
344         `char_table_get_db'.
345         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
346         `char_table_close_db_maybe' even if `CHISE' is not defined.
347
348 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
349
350         * chartab.c (char_table_open_db_maybe): New function.
351         (char_table_close_db_maybe): New function.
352         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
353         (Freset_char_attribute_table): Likewise.
354         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
355         `char_table_close_db_maybe'.
356         (Fload_char_attribute_table): Likewise.
357
358 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
359
360         * chartab.c: Don't include <chise.h> because it is included in
361         chartab.h.
362         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
363         defined.
364         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
365         `CHISE' is defined.
366         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
367         `CHISE' is defined.
368         (Fclose_char_attribute_table): Close `ct->feature_table' and
369         `ct->ds' when `CHISE' is defined.
370         (Freset_char_attribute_table): Likewise.
371         (load_char_attribute_maybe): Use `cit->ds' and
372         `cit->feature_table' when `CHISE' is defined.
373         (Fload_char_attribute_table): Likewise.
374
375         * chartab.h: Include <chise.h> when `CHISE' is defined.
376         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
377         when `CHISE' is defined.
378
379 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
380
381         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
382         is defined.
383         (char_table_description): Likewise.
384         (Fmake_char_table): Likewise.
385         (Fcopy_char_table): Likewise.
386         (Fmount_char_attribute_table): Likewise.
387         (Fclose_char_attribute_table): Likewise.
388         (Freset_char_attribute_table): Likewise.
389         (load_char_attribute_maybe): Likewise.
390         (Fload_char_attribute_table): Likewise.
391
392         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
393         defined.
394
395 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
396
397         * chartab.c (load_char_attribute_table_map_func): New function
398         when CHISE is defined.
399         (Qload_char_attribute_table_map_function): Don't define when CHISE
400         is defined.
401         (Fload_char_attribute_table_map_function): Likewise.
402         (Fload_char_attribute_table): Use libchise when `CHISE' is
403         defined.
404         (syms_of_chartab): Don't define
405         `load-char-attribute-table-map-function' when CHISE is defined.
406
407 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
408
409         * chartab.c: Include <chise.h> when `CHISE' is defined.
410         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
411
412 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
413
414         * mule-charset.c (charset_code_point): Fix problem when searching
415         in mother CCS fails with `defined_only' mode.
416
417 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
418
419         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
420         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
421         (put_char_composition): Likewise.
422         (Fput_char_attribute): Likewise.
423         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
424
425 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
426
427         * chartab.c (Q_ucs): Deleted.
428         (Fput_char_attribute): Don't refer `->ucs'.
429         (Fdefine_char): Likewise.
430         (Ffind_char): Likewise.
431         (syms_of_chartab): Delete `->ucs'.
432
433 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
434
435         * mule-charset.c (Qmap_cns11643_2): Renamed from
436         `Qchinese_cns11643_2'.
437         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
438         `chinese-cns11643-2'.
439         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
440         `=cns11643-2'.
441
442 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
443
444         * mule-charset.c (Qmap_cns11643_1): Renamed from
445         `Qchinese_cns11643_1'.
446         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
447         `chinese-cns11643-1'.
448         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
449         `=cns11643-1'.
450
451 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
452
453         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
454         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
455         `chinese-gb12345'.
456         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
457         `=gb12345'.
458
459 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
460
461         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
462         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
463         `chinese-gb2312'.
464         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
465         `=gb2312'.
466
467 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
468
469         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
470         (syms_of_mule_charset): Add new symbol `=big5' instead of
471         `chinese-big5'.
472         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
473
474 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
475
476         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
477         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
478         `korean-ksc5601'.
479         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
480         `=ks-x1001'.
481
482 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
483
484         * mule-charset.c (Qmap_jis_x0212): Renamed from
485         `Qjapanese_jisx0212'.
486         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
487         `japanese-jisx0212'.
488         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
489         `=jis-x0212'.
490
491 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
492
493         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
494         `Qjapanese_jisx0208'.
495         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
496         of `japanese-jisx0208'.
497         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
498         `=jis-x0208-1983'.
499
500 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
501
502         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
503         `Qjapanese_jisx0208_1978'.
504         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
505         of `japanese-jisx0208-1978'.
506         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
507         `=jis-x0208-1978'.
508
509 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
510
511         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
512         only for XEmacs CHISE.
513
514 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
515
516         * char-ucs.h: Compact non-ISO-IR charset-ids.
517         (LEADING_BYTE_UCS): Changed to -177.
518         (LEADING_BYTE_CONTROL_1): Changed to -77.
519         (LEADING_BYTE_UCS_BMP): Changed to -176.
520         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
521
522 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
523
524         * mule-charset.c (Qiso_ir): New variable.
525         (Fmake_charset): Recognise new property `iso-ir'.
526         (syms_of_mule_charset): Add new symbol `iso-ir'.
527
528 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
529
530         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
531         n to -n; charset-id of non ISO-IR sets are changed to positive
532         numbers.
533
534 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
535
536         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
537         for &MCS-XXXXXXXX; values.
538
539 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
540
541         * mule.c (Vxemacs_chise_version): Renamed from
542         `Vutf_2000_version'.
543         (vars_of_mule): Add new variable `xemacs-chise-version'; define
544         `utf-2000-version' as an alias for `xemacs-chise-version'.
545
546 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
547
548         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
549         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
550         defined.
551
552         * config.h.in (CHISE): New macro.
553
554 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
555
556         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
557         of `ucs'.
558         (Qmap_ucs): New variable.
559         (syms_of_mule_charset): Add new symbol `=ucs'.
560         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
561
562         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
563         (simplify_char_spec): Likewise.
564
565         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
566
567         * char-ucs.h (Qmap_ucs): New extern variable.
568
569 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
570
571         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
572         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
573         don't define it when UTF2000 is not defined.
574         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
575         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
576         when UTF2000 is not defined.
577         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
578         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
579
580 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
581
582         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
583
584         * mule-charset.c (Vcharset_ucs_gb): Deleted.
585         (Qucs_gb): Deleted.
586         (syms_of_mule_charset): Delete `ucs-gb'.
587         (complex_vars_of_mule_charset): Likewise.
588
589 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
590
591         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
592
593         * mule-charset.c (Vcharset_ucs_cns): Deleted.
594         (Qucs_cns): Deleted.
595         (syms_of_mule_charset): Delete `ucs-cns'.
596         (complex_vars_of_mule_charset): Likewise.
597
598 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
599
600         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
601
602         * mule-charset.c (Vcharset_ucs_jis): Deleted.
603         (Qucs_jis): Deleted.
604         (syms_of_mule_charset): Delete `ucs-jis'.
605         (complex_vars_of_mule_charset): Likewise.
606
607 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
608
609         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
610
611         * mule-charset.c (Vcharset_ucs_ks): Deleted.
612         (Qucs_ks): Deleted.
613         (syms_of_mule_charset): Delete `ucs-ks'.
614         (complex_vars_of_mule_charset): Likewise.
615
616 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
617
618         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
619         (Qideograph_daikanwa_2): Deleted.
620         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
621         (complex_vars_of_mule_charset): Likewise.
622
623         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
624         (LEADING_BYTE_DAIKANWA_1): Deleted.
625         (LEADING_BYTE_DAIKANWA_2): Deleted.
626         (MIN_CHAR_DAIKANWA): Deleted.
627         (MAX_CHAR_DAIKANWA): Deleted.
628
629 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
630
631         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
632         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
633         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
634
635         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
636         (Vcharset_ideograph_daikanwa): Deleted.
637         (Qideograph_hanziku_{1..12}): Deleted.
638         (Qideograph_daikanwa): Deleted.
639         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
640         Vcharset_ideograph_daikanwa.
641         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
642         `ideograph-hanziku-{1..12}'.
643         (complex_vars_of_mule_charset): Likewise.
644
645 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
646
647         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
648
649         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
650         (Qideograph_gt_pj_{1..11}): Deleted.
651         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
652         (complex_vars_of_mule_charset): Likewise.
653
654 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
655
656         * mule-charset.c (Vcharset_ucs_big5): Deleted.
657         (Vcharset_ideograph_gt): Deleted.
658         (Qucs_big5): Deleted.
659         (Qideograph_gt): Deleted.
660         (syms_of_mule_charset): Delete symbol `ucs-big5' and
661         `ideograph-gt'.
662         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
663         and `ideograph-gt'.
664
665         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
666         (LEADING_BYTE_GT): Deleted.
667         (MIN_CHAR_GT): Deleted.
668         (MAX_CHAR_GT): Deleted.
669
670 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
671
672         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
673
674 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
675
676         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
677         (save_uint16_byte_table): Likewise.
678         (save_byte_table): Likewise; convert values by it.
679         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
680         for `ideographic-structure'.
681         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
682         as the filter for `ideographic-structure'.
683
684 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
685
686         * chartab.c (put_char_composition): New function.
687         (Fput_char_attribute): Use `put_char_composition'; use
688         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
689
690         * fns.c (simplify_char_spec): New function.
691         (char_ref_simplify_spec): New function.
692         (Fchar_refs_simplify_char_specs): New function.
693         (syms_of_fns): Add new builtin function
694         `char-refs-simplify-char-specs'.
695
696 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
697
698         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
699         (Qideograph_cbeta): Deleted.
700         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
701         (complex_vars_of_mule_charset): Likewise.
702
703         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
704         (MIN_CHAR_CBETA): Comment out.
705         (MAX_CHAR_CBETA): Likewise.
706
707 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
708
709         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
710         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
711         CHISE client feature.
712
713 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
714
715         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
716
717 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
718
719         * mule-charset.c (charset_lookup_description_1): Use
720         `NUM_LEADING_BYTES' in UTF-2000.
721
722 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
723
724         * char-ucs.h (GC_CHARSETP): Deleted.
725
726 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
727
728         * char-ucs.h (MAX_CHAR_GT): Updated.
729
730 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
731
732         * text-coding.c: Sync with XEmacs 21.4.10.
733
734 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
735
736         * mule-charset.c (Vcharset_china3_jef): Deleted.
737         (Qchina3_jef): Deleted.
738         (syms_of_mule_charset): Don't define `china3-jef'.
739         (complex_vars_of_mule_charset): Likewise.
740
741         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
742         (MIN_CHAR_CHINA3_JEF): Comment out.
743         (MAX_CHAR_CHINA3_JEF): Comment out.
744
745 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
746
747         * mule-charset.c (Vcharset_ucs_gb): New variable.
748         (Qucs_gb): New variable.
749         (syms_of_mule_charset): Add new symbol `ucs-gb'.
750         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
751
752         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
753
754 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
755
756         * mule-charset.c (charset_code_point): if a coded-charset has a
757         final-byte, don't inherit the builtin range of the mother CCS.
758
759 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
760
761         * mule-charset.c (charset_code_point): Fix problem about
762         inheritance.
763
764 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
765
766         * mule-charset.c (decode_builtin_char): Reorganized.
767
768 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
769
770         * text-coding.c (char_encode_as_entity_reference): Modify for
771         `charset_code_point'.
772         (char_encode_shift_jis): Likewise.
773         (char_encode_big5): Likewise.
774         (char_encode_utf8): Likewise.
775         (char_encode_iso2022): Likewise.
776
777         * mule-charset.c (charset_code_point): Add new argument
778         `defined_only'.
779         (Fencode_char): Add new optional argument `defined_only'.
780
781         * chartab.c (put_char_table): Modify for `charset_code_point'.
782
783         * char-ucs.h (charset_code_point): Add new argument
784         `defined_only'.
785         (encode_char_1): Modify for `charset_code_point'.
786
787 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
788
789         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
790         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
791
792 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
793
794         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
795         (Qjis_x0208): Likewise.
796         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
797         XCHARSET_FINAL(charset).
798         (charset_code_point): Modify condition for final-byte based
799         builtin-chars.
800         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
801         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
802         in UTF-2000; specify `=jis-x0208' as the mother of
803         `japanese-jisx0208-1978', `japanese-jisx0208' and
804         `japanese-jisx0208-1990' in UTF-2000.
805
806 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
807
808         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
809
810 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
811
812         * text-coding.c (decode_coding_utf16): Support UTF-16.
813         (char_encode_utf16): Fixed.
814
815 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
816
817         * text-coding.c (Qutf16): New variable in MULE.
818         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
819         (Fcoding_system_type): Add `utf-16' in MULE.
820         (struct detection_state): Add a structure for utf16 in MULE.
821         (detect_coding_type): Setup st->utf16.mask in MULE.
822         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
823         MULE.
824         (reset_encoding_stream): Use `char_encode_utf16' and
825         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
826         (detect_coding_utf16): New function [incomplete].
827         (decode_coding_utf16): New function [support only UCS-2].
828         (char_encode_utf16): New function.
829         (char_finish_utf16): New function.
830         (syms_of_file_coding): Add new symbol `utf-16'; setup
831         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
832
833         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
834         UTF-2000.
835         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
836         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
837
838 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
839
840         * chartab.c (put_char_table): When a charset is specified as a
841         range in UTF-2000, don't support builtin characters.
842
843 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
844
845         * mule-charset.c (decode_defined_char): Don't refer external
846         database if Qunbound or Qnil are found.
847         (Fsave_charset_mapping_table): Don't define it if
848         HAVE_CHISE_CLIENT is not defined.
849         (Freset_charset_mapping_table): New function.
850         (load_char_decoding_entry_maybe): Store Qnil if a character is not
851         found in external database.
852         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
853         if HAVE_CHISE_CLIENT is not defined; add new builtin function
854         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
855
856 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
857
858         * text-coding.c (decode_coding_utf8): Check CCS is specified or
859         not.
860
861 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
862
863         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
864         Q_lowercase, Q_uppercase in UTF-2000.
865
866         * chartab.c (get_char_table): Add special code for the standard
867         case table to use character attribute `->downcase' and
868         `->uppercase' for case operations in UTF-2000.
869
870         * casetab.c (Qflippedcase): New variable in UTF-2000.
871         (Q_lowercase): Likewise.
872         (Q_uppercase): Likewise.
873         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
874         and `->uppercase' in UTF-2000.
875         (complex_vars_of_casetab): Assign attribute name `downcase' to
876         downcase and CANON table of Vstandard_case_table in UTF-2000;
877         assign attribute name `flippedcase' to upcase and EQV table of
878         Vstandard_case_table in UTF-2000.
879
880 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
881
882         * text-coding.c (decode_add_er_char): Support isolated-chars.
883         (char_encode_as_entity_reference): Likewise.
884
885 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
886
887         * emacs.c (Vutf_2000_lisp_directory): New variable.
888         (Vconfigure_utf_2000_lisp_directory): Likewise.
889         (complex_vars_of_emacs): Add new variable
890         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
891
892 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
893
894         * char-ucs.h (DECODE_CHAR): Delete special code for
895         `chinese-big5-1' and `chinese-big5-2'.
896
897         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
898         (Qbig5_2): Likewise.
899         (decode_defined_char): Support CONVERSION_BIG5_1 and
900         CONVERSION_BIG5_2.
901         (decode_builtin_char): Likewise.
902         (charset_code_point): Likewise.
903         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
904         'conversion in UTF-2000.
905         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
906         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
907         `chinese-big5-2' as children of `chinese-big5'.
908
909         * char-ucs.h (CONVERSION_BIG5_1): New macro.
910         (CONVERSION_BIG5_2): New macro.
911
912 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
913
914         * text-coding.c (char_encode_big5): Support entity-reference.
915
916 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
917
918         * text-coding.c (char_encode_as_entity_reference): New function.
919         (char_encode_utf8): Use `char_encode_as_entity_reference'.
920
921 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
922
923         * text-coding.c (decode_coding_big5): Support entity-reference
924         decoding feature.
925
926 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
927
928         * text-coding.c (allocate_coding_system): Initialize initial
929         charsets for CODESYS_UTF8.
930         (Fmake_coding_system): Accept charset-g0, charset-g1 and
931         charset-g2 for CODESYS_UTF8.
932         (decode_coding_utf8): Use charset-g0.
933         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
934         to force variants to map to UCS.
935
936 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
937
938         * text-coding.c (Qutf_8_mcs): New variable.
939         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
940         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
941         instead of `utf-8' in UTF-2000.
942
943 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
944
945         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
946         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
947         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
948         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
949         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
950         CONVERSION_96x96x96x96 are introduced.
951         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
952         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
953         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
954
955         * char-ucs.h (CONVERSION_94): New macro.
956         (CONVERSION_96): New macro.
957         (CONVERSION_94x94): New macro.
958         (CONVERSION_96x96): New macro.
959         (CONVERSION_94x94x94): New macro.
960         (CONVERSION_96x96x96): New macro.
961         (CONVERSION_94x94x94x60): New macro.
962         (CONVERSION_94x94x94x94): New macro.
963         (CONVERSION_96x96x96x96): New macro.
964
965 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
966
967         * chartab.c (Vcharacter_variant_table): Deleted.
968         (Fchar_variants): Use character-attribute `->ucs-variants' instead
969         of `Vcharacter_variant_table'.
970         (Fput_char_attribute): Likewise.
971         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
972         (complex_vars_of_chartab): Likewise.
973
974 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
975
976         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
977
978         * fns.c (Qideographic_structure): New variable.
979         (Qkeyword_char): New variable.
980         (ids_format_unit): New function.
981         (Fideographic_structure_to_ids): New function.
982         (syms_of_fns): Add new symbols `ideographic-structure' and
983         `:char'; add new builtin function `ideographic-structure-to-ids'.
984
985         * data.c (Fchar_ref_p): New function.
986         (syms_of_data): Add new builtin function `char-ref-p'.
987
988         * chartab.h: Add an EXFUN for `Ffind_char'.
989
990 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
991
992         * text-coding.c (Vcharacter_composition_table): Deleted.
993         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
994         in every UTF-2000.
995
996         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
997         UTF-2000.
998         (Vcharacter_composition_table): Deleted.
999         (Fget_composite_char): Use the implementation for external-DB
1000         support in every UTF-2000.
1001         (Fput_char_attribute): Likewise.
1002         (char_attribute_system_db_file): Don't define if external-DB
1003         feature is not available.
1004         (Fsave_char_attribute_table): Likewise.
1005         (Fmount_char_attribute_table): Likewise.
1006         (Fclose_char_attribute_table): Likewise.
1007         (Freset_char_attribute_table): Likewise.
1008         (Fload_char_attribute_table): Likewise.
1009         (syms_of_chartab): Don't define `save-char-attribute-table',
1010         `mount-char-attribute-table', `reset-char-attribute-table',
1011         `close-char-attribute-table' and `load-char-attribute-table' if
1012         external-DB feature is not available.
1013         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1014
1015 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1016
1017         * text-coding.c (Qcomposition): Add extern if external-DB feature
1018         is supported.
1019         (Vcharacter_composition_table): Don't add extern if external-DB
1020         feature is supported.
1021         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1022         character composition rule if external-DB feature is supported.
1023
1024         * chartab.c (Vcharacter_composition_table): Don't define if
1025         external-DB feature is supported.
1026         (Qcomposition): New variable.
1027         (Fget_composite_char): New implementation for external-DB support.
1028         (Fput_char_attribute): Use `composition' property of each
1029         character instead of `Vcharacter_composition_table' to store
1030         character-composition rules if external-DB feature is supported.
1031         (syms_of_chartab): Add new symbol `composition'.
1032         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1033         external-DB feature is supported.
1034
1035 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1036
1037         * chartab.c (Vchar_db_stingy_mode): New variable.
1038         (load_char_attribute_maybe): Close database if
1039         Vchar_db_stingy_mode is not NIL.
1040         (Fload_char_attribute_table_map_function): Use
1041         `get_char_id_table_0' instead of `get_char_id_table'.
1042         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1043
1044         * chartab.h (get_char_id_table_0): New inline function.
1045         (get_char_id_table): Use `get_char_id_table_0'.
1046
1047 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1048
1049         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1050         and `COMPOSE_ADD_CHAR'.
1051         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1052
1053 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1054
1055         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1056         instead of `DECODE_ADD_UCS_CHAR'.
1057         (COMPOSE_ADD_CHAR): Likewise.
1058
1059 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1060
1061         * text-coding.c (decode_flush_er_chars): New inline function.
1062         (decode_add_er_char): New function.
1063         (decode_coding_utf8): Use `decode_flush_er_chars' and
1064         `decode_add_er_char'.
1065
1066 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1067
1068         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1069         done before `decode_output_utf8_partial_char'.
1070
1071         * mule-charset.c (complex_vars_of_mule_charset): Specify
1072         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1073         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1074
1075 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1076
1077         * mule-charset.c (decode_defined_char): New function; search
1078         mother.
1079         (decode_builtin_char): Don't search mother if
1080         XCHARSET_MAX_CODE(charset) == 0.
1081         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1082         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1083         (Fdecode_char): Use `decode_defined_char' instead of
1084         `DECODE_DEFINED_CHAR'.
1085         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1086         mother of `Vcharset_ucs_jis'.
1087
1088         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1089         instead of `DECODE_DEFINED_CHAR'.
1090
1091         * char-ucs.h (decode_defined_char): Renamed from
1092         `DECODE_DEFINED_CHAR'; changed to normal function.
1093         (DECODE_CHAR): Use `decode_defined_char' instead of
1094         `DECODE_DEFINED_CHAR'.
1095
1096         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1097
1098 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1099
1100         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1101
1102         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1103         variable.
1104         (Quse_entity_reference): New variable.
1105         (Qd): New variable.
1106         (Qx): New variable.
1107         (QX): New variable.
1108         (coding_system_description): Add description for
1109         `ccs_priority_list'.
1110         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1111         (allocate_coding_system): Initialize `ccs_priority_list' in
1112         UTF-2000.
1113         (Fmake_coding_system): Add description about
1114         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1115         (codesys).
1116         (Fcoding_system_property): Accept `disable-composition' and
1117         `use-entity-reference' in UTF-2000.
1118         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1119         in UTF-2000.
1120         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1121         (decode_coding_utf8): Decode entity-reference if
1122         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1123         (char_encode_utf8): Encode non-Unicode characters as
1124         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1125         (str->codesys).
1126         (syms_of_file_coding): Add new symbols `use-entity-reference',
1127         `d', `x', `X'.
1128         (vars_of_file_coding): Add new variable
1129         `coded-charset-entity-reference-alist'.
1130         (complex_vars_of_file_coding): Declare `disable-composition' and
1131         `use-entity-reference' to be coding-system-properties in UTF-2000.
1132
1133         * file-coding.h (struct Lisp_Coding_System): Add new member
1134         `use_entity_reference' and `ccs_priority_list'.
1135         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1136         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1137         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1138
1139 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1140
1141         * chartab.c (save_uint8_byte_table): Don't clear the table.
1142         (save_uint16_byte_table): Likewise.
1143         (save_byte_table): Likewise.
1144         (Fmount_char_attribute_table): New function.
1145         (syms_of_chartab): Add new builtin function
1146         `mount-char-attribute-table'.
1147
1148 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1149
1150         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1151         "w+" mode.
1152         (load_char_decoding_entry_maybe): Open database as read-only mode.
1153
1154         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1155         open database as "w+" mode.
1156         (load_char_attribute_maybe): Open database as read-only mode.
1157         (Fload_char_attribute_table): Likewise.
1158
1159 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1160
1161         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1162         (char_table_description): Delete member `db_file'.
1163         (Fmake_char_table): Don't refer `ct->db_file'.
1164         (Fcopy_char_table): Likewise.
1165         (Fsave_char_attribute_table): Likewise.
1166         (Fclose_char_attribute_table): Likewise.
1167         (Freset_char_attribute_table): Likewise.
1168         (load_char_attribute_maybe): Likewise.
1169         (Fload_char_attribute_table): Likewise.
1170
1171         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1172
1173 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1174
1175         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1176         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1177         `ct->db' is living.
1178         (load_char_attribute_maybe): Likewise.
1179         (Fload_char_attribute_table): Likewise.
1180
1181 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1182
1183         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1184         `ct->db_file' unconditionally.
1185
1186 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1187
1188         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1189         UTF-2000.
1190         (char_table_description): Add description for `db_file' and `db'
1191         in UTF-2000.
1192         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1193         UTF-2000.
1194         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1195         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1196         (Fclose_char_attribute_table): New function.
1197         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1198         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1199         and `cit->db'.
1200         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1201         (syms_of_chartab): Add new builtin function
1202         `Fclose_char_attribute_table'.
1203
1204 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1205
1206         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1207         `db' in UTF-2000.
1208         (load_char_attribute_maybe): Change interface.
1209         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1210
1211 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1212
1213         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1214
1215 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1216
1217         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1218         instead of `DECODE_CHAR' for mother; don't use special code for
1219         chinese-big5 to use code space of chinese-big5-1 and
1220         chinese-big5-2.
1221         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1222         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1223
1224         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1225         (MAX_CHAR_BIG5_CDP): Revival.
1226
1227 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1228
1229         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1230         the XLFD registry-encoding name of `chinese-big5'.
1231
1232 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1233
1234         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1235         (Qchinese_big5_cdp): Deleted.
1236         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1237         (complex_vars_of_mule_charset): Delete coded-charset
1238         `chinese-big5-cdp'.
1239
1240         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1241         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1242         `CHARSET_ID_OFFSET - n' for private CCS.
1243         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1244         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1245         of `MIN_LEADING_BYTE'.
1246         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1247         `(CHARSET_ID_OFFSET - 97)'.
1248         (MIN_CHAR_BIG5_CDP): Deleted.
1249         (MAX_CHAR_BIG5_CDP): Deleted.
1250
1251 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1252
1253         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1254
1255 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1256
1257         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1258         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1259         chartab.c].
1260
1261         * chartab.c (Vutf_2000_version): Moved to mule.c.
1262         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1263
1264 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1265
1266         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1267         when HAVE_CHISE_CLIENT is not defined.
1268
1269         * mule.c (vars_of_mule): Provide feature `chise' when
1270         HAVE_CHISE_CLIENT is defined.
1271
1272 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1273
1274         * config.h.in (UTF2000): Add comment.
1275         (HAVE_CHISE_CLIENT): New macro.
1276
1277 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1278
1279         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1280         CONSP.
1281         (Fput_char_attribute): Likewise.
1282         (char_attribute_system_db_file): Encode file-name of attribute.
1283         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1284         the initial value.
1285
1286 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1287
1288         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1289         (Fsave_charset_mapping_table): Use
1290         `char_attribute_system_db_file'.
1291         (load_char_decoding_entry_maybe): Likewise.
1292
1293         * chartab.h (Qsystem_char_id): New external variable.
1294         (char_attribute_system_db_file): New prototype.
1295
1296         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1297         (char_attribute_system_db_file): New function.
1298         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1299         (Freset_char_attribute_table): Likewise.
1300         (load_char_attribute_maybe): Likewise.
1301         (Fload_char_attribute_table): Likewise.
1302         (syms_of_chartab): Add new symbol `system-char-id'.
1303
1304 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1305
1306         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1307         `XCHARSET_GRAPHIC(ccs)'.
1308
1309 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1310
1311         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1312
1313 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1314
1315         * chartab.c (Q_ucs_variants): New variable.
1316         (syms_of_chartab): Add new symbol `->ucs-variants'.
1317         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1318         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1319         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1320
1321         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1322
1323         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1324         `HAVE_DATABASE' is defined.
1325         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1326         `HAVE_DATABASE' is defined.
1327
1328 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1329
1330         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1331         attribute-table.
1332         (Freset_char_attribute_table): New function.
1333         (syms_of_chartab): Add new builtin function
1334         `reset-char-attribute-table'.
1335
1336 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1337
1338         * chartab.c (load_char_attribute_maybe): Don't make directories.
1339
1340 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1341
1342         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1343
1344         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1345         for decoding-table.
1346
1347 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1348
1349         * mule-charset.c (Fsave_charset_mapping_table): Use
1350         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1351
1352         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1353         instead of `XCHARSET_CHARS'.
1354
1355 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1356
1357         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1358         (XCHARSET_BYTE_SIZE): Likewise.
1359
1360         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1361         mule-charset.c].
1362         (XCHARSET_BYTE_SIZE): Likewise.
1363
1364 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1365
1366         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1367         data-directory to store database.
1368         (Fsave_char_attribute_table): Likewise.
1369         (load_char_attribute_maybe): Likewise.
1370         (Fload_char_attribute_table): Likewise.
1371
1372 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1373
1374         * mule-charset.c (Fsave_charset_mapping_table): New function.
1375         (syms_of_mule_charset): Add new builtin function
1376         `save-charset-mapping-table'.
1377
1378 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1379
1380         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1381         (get_ccs_octet_table): New inline function.
1382         (put_ccs_octet_table): Likewise.
1383         (decoding_table_put_char): Use `get_ccs_octet_table' and
1384         `put_ccs_octet_table'.
1385         (decoding_table_remove_char): Use `decoding_table_put_char'.
1386         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1387
1388         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1389         into encoding_table.
1390         (make_charset): Use Qunbound instead Qnil as initial value of
1391         decoding_table.
1392
1393 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1394
1395         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1396         element is Qunloaded.
1397         (map_over_uint16_byte_table): Likewise.
1398         (map_over_byte_table): Likewise.
1399         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1400         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1401         database support, load encoding-table of the specified
1402         coded-charset if it is not loaded yet.
1403         (save_uint8_byte_table): New function of UTF-2000 with external
1404         database support.
1405         (save_uint16_byte_table): Likewise.
1406         (save_byte_table): Likewise.
1407         (Fput_char_attribute): Don't store value into external database
1408         even if the external database feature is supported in UTF-2000;
1409         set `attribute' as name of char-table if the external database
1410         feature is supported.
1411         (Fsave_char_attribute_table): New function in UTF-2000.
1412         (syms_of_chartab): Add new builtin function
1413         `save-char-attribute-table' in UTF-2000.
1414
1415 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1416
1417         * chartab.c (char_attribute_table_to_put): New variable in
1418         UTF-2000.
1419         (Qput_char_table_map_function): Likewise.
1420         (value_to_put): Likewise.
1421         (Fput_char_table_map_function): New function in UTF-2000.
1422         (put_char_table): Use `Fmap_char_attribute' for
1423         CHARTAB_RANGE_CHARSET in UTF-2000.
1424         (Fput_char_attribute): Store symbol instead of string in
1425         `XCHAR_TABLE_NAME (table)'.
1426         (load_char_attribute_maybe): Likewise.
1427         (syms_of_chartab): Add new symbol/function
1428         `put-char-table-map-function'.
1429
1430 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1431
1432         * database.h: Add new EXFUN for `Fmap_database'.
1433
1434         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1435         (syms_of_database): Likewise.
1436
1437         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1438         UTF-2000.
1439         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1440         (XCHAR_TABLE_UNLOADED): Likewise.
1441
1442         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1443         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1444         HAVE_DATABASE is defined.
1445         (char_attribute_table_to_load): New variable of UTF-2000 with
1446         external database support.
1447         (Qload_char_attribute_table_map_function): Likewise.
1448         (Fload_char_attribute_table_map_function): New function of
1449         UTF-2000 with external database support.
1450         (Fload_char_attribute_table): New function of UTF-2000.
1451         (Fmap_char_attribute): Call Fload_char_attribute_table if
1452         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1453         (syms_of_chartab): Add new symbol and function
1454         `load-char-attribute-table-map-function' in UTF-2000 with external
1455         database support; add new function `load-char-attribute-table' in
1456         UTF-2000.
1457
1458 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1459
1460         * chartab.h (load_char_attribute_maybe): New prototype for
1461         UTF-2000 with DATABASE support.
1462         (get_char_id_table): Use `load_char_attribute_maybe' if
1463         HAVE_DATABASE is defined.
1464
1465         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1466         with DATABASE support.
1467
1468 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1469
1470         * chartab.c (Fput_char_attribute): Use S-expression as key of
1471         external database.
1472
1473         * chartab.h (get_char_id_table): Use S-expression as key of
1474         external database.
1475
1476 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1477
1478         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1479         if an element is not loaded, load the corresponding attributes
1480         from an external database.
1481         (map_over_uint16_byte_table): Likewise.
1482         (map_over_byte_table): Likewise.
1483         (map_char_table): Modify for `map_over_uint8_byte_table',
1484         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1485         element is not loaded, load the corresponding attributes from an
1486         external database.
1487         (Fput_char_attribute): Change initial values to Qunloaded.
1488
1489         * chartab.h (get_char_id_table): If a character attribute is not
1490         loaded and the attribute value is not found in an external
1491         database, store Qunbound as the attribute value.
1492
1493 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1494
1495         * chartab.c (BT_UINT8_unloaded): New macro.
1496         (UINT8_VALUE_P): Accept Qunloaded.
1497         (UINT8_ENCODE): Likewise.
1498         (UINT8_DECODE): Likewise.
1499         (BT_UINT16_unloaded): New macro.
1500         (UINT16_VALUE_P): Accept Qunloaded.
1501         (UINT16_ENCODE): Likewise.
1502         (UINT16_DECODE): Likewise.
1503         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1504         BT_UINT16_unloaded.
1505         (mark_char_table): Mark `ct->name' in UTF-2000.
1506         (char_table_description): Add `name' in UTF-2000.
1507         (Fmake_char_table): Initialize `ct->name'.
1508         (Fcopy_char_table): Copy `ct->name'.
1509         (Fput_char_attribute): Store value into an external database if
1510         HAVE_DATABASE is defined.
1511
1512         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1513         UTF-2000.
1514         (CHAR_TABLE_NAME): New macro in UTF-2000.
1515         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1516         (get_char_id_table): Try to read an external database if Qunloaded
1517         is stored in a table.
1518
1519         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1520         Qunloaded.
1521
1522 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1523
1524         * database.h: Add EXFUN definitions for Fopen_database,
1525         Fput_database, Fget_database and Fclose_database.
1526
1527         * data.c (Qunloaded): New variable in UTF-2000.
1528
1529         * lisp.h (Qunloaded): New variable in UTF-2000.
1530
1531 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1532
1533         * mule-charset.c (put_char_ccs_code_point): Modify for
1534         `decoding_table_remove_char' and `decoding_table_put_char'.
1535         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1536
1537         * char-ucs.h (decoding_table_remove_char): Change arguments to
1538         hide decoding_table vector.
1539         (decoding_table_put_char): Likewise.
1540
1541 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1542
1543         * mule-charset.c (decoding_table_remove_char): Moved to
1544         char-ucs.h.
1545         (decoding_table_put_char): Likewise.
1546
1547         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1548         from mule-charset.c].
1549         (decoding_table_remove_char): New inline function [moved from
1550         mule-charset.c].
1551         (decoding_table_put_char): Likewise.
1552
1553 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1554
1555         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1556         extension.
1557
1558 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1559
1560         * mule-charset.c (decode_builtin_char): Support mother charsets.
1561
1562 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1563
1564         * mule-charset.c (Q94x94x60): New variable.
1565         (charset_code_point): Support conversion `94x94x60'.
1566         (Fmake_charset): Likewise.
1567         (syms_of_mule_charset): Add new symbol `94x94x60'.
1568
1569         * char-ucs.h (CONVERSION_94x94x60): New macro.
1570
1571 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1572
1573         * mule-charset.c (charset_code_point): Unify code about
1574         `code-offset'.
1575
1576 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1577
1578         * mule-charset.c (charset_code_point): Merge code about builtin
1579         characters into code about mother charsets; don't use
1580         `range_charset_code_point'.
1581         (range_charset_code_point): Deleted.
1582
1583 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1584
1585         * mule-charset.c (Qcode_offset): New variable.
1586         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1587         `max-code'; accept new property `code-offset'.
1588         (syms_of_mule_charset): Add new symbol `code-offset'.
1589
1590 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1591
1592         * mule-charset.c (range_charset_code_point): Fixed.
1593
1594 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1595
1596         * mule-charset.c (decode_builtin_char): Change semantics of
1597         code-offset of coded-charset.
1598         (charset_code_point): Likewise.
1599         (range_charset_code_point): Likewise.
1600         (complex_vars_of_mule_charset): Modify for the change.
1601
1602 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1603
1604         * mule-charset.c (Fencode_char): Reverse arguments.
1605
1606         * mule-charset.c (charset_code_point): Fixed.
1607
1608 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1609
1610         * mule-charset.c (Vcharset_mojikyo): Deleted.
1611         (Vcharset_mojikyo_2022_1): Deleted.
1612         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1613         (Qmin_code): New variable in UTF-2000.
1614         (Qmax_code): Likewise.
1615         (Qmother): Likewise.
1616         (Qconversion): Likewise.
1617         (Q94x60): Likewise.
1618         (Qmojikyo): Deleted.
1619         (Qmojikyo_2022_1): Deleted.
1620         (Qmojikyo_pj_{1..22}): Deleted.
1621         (mark_charset): Mark `cs->mother'.
1622         (charset_description): Add description for `mother'.
1623         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1624         new arguments `mother' and `conversion'; use
1625         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1626         (charset_code_point): Moved from char-ucs.h; support `mother'
1627         charset feature.
1628         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1629         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1630         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1631         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1632         allow 2 as the value of `graphic' in UTF-2000; add new properties
1633         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1634         require `final' in UTF-2000; modify for `make_charset'.
1635         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1636         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1637         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1638         (Fencode_char): New function.
1639         (syms_of_mule_charset): Add new builtin function `encode-char' in
1640         UTF-2000; add new symbols `min-code', `max-code', `mother',
1641         `conversion' and `94x60'; delete symbols `mojikyo',
1642         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1643         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1644         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1645         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1646
1647         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1648         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1649
1650         * char-ucs.h (Vcharset_mojikyo): Deleted.
1651         (Vcharset_mojikyo_2022_1): Deleted.
1652         (LEADING_BYTE_MOJIKYO): Deleted.
1653         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1654         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1655         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1656         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1657         add new member `mother'; add new member `conversion'.
1658         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1659         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1660         (CHARSET_MOTHER): New macro.
1661         (CHARSET_CONVERSION): New macro.
1662         (CONVERSION_IDENTICAL): New macro.
1663         (CONVERSION_94x60): New macro.
1664         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1665         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1666         (XCHARSET_MOTHER): New macro.
1667         (XCHARSET_CONVERSION): New macro.
1668         (MIN_CHAR_MOJIKYO): Deleted.
1669         (MAX_CHAR_MOJIKYO): Deleted.
1670         (DECODE_MOJIKYO_2022): Deleted.
1671         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1672         (charset_code_point): Changed to non-inline function.
1673         (encode_char_1): Use `charset_code_point'.
1674         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1675
1676 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1677
1678         * lread.c (read_compiled_function): Fix prototype.
1679         (read_vector): Likewise.
1680
1681 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1682
1683         * lrecord.h (struct lrecord_header): Delete `older'.
1684         (set_lheader_implementation): Delete code for `older'.
1685         (set_lheader_older_implementation): Deleted.
1686         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1687         (OLDER_RECORD_P): Deleted.
1688         (OLDER_RECORD_HEADER_P): Deleted.
1689         (alloc_older_lcrecord): Deleted.
1690         (alloc_older_lcrecord_type): Deleted.
1691
1692         * alloc.c (all_older_lcrecords): Deleted.
1693         (alloc_older_lcrecord): Deleted.
1694         (disksave_object_finalization_1): Delete code for older objects.
1695         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1696         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1697
1698 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1699
1700         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1701         instead of `make_older_vector'.
1702         (put_char_ccs_code_point): Likewise.
1703         (mark_charset): Mark `cs->decoding_table'.
1704         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1705
1706         * lisp.h (make_older_vector): Deleted.
1707         (make_vector_newer): Deleted.
1708
1709         * config.h.in (HAVE_GGC): Deleted.
1710
1711         * alloc.c (make_older_vector): Deleted.
1712         (make_vector_newer_1): Deleted.
1713         (make_vector_newer): Deleted.
1714
1715 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1716
1717         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1718         (Qideograph_daikanwa_2): New variable.
1719         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1720         (complex_vars_of_mule_charset): Add new coded-charset
1721         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1722         `LEADING_BYTE_DAIKANWA'.
1723
1724         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1725         (LEADING_BYTE_DAIKANWA_1): New macro.
1726         (LEADING_BYTE_DAIKANWA_2): New macro.
1727         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1728
1729 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1730
1731         * mule-charset.c (complex_vars_of_mule_charset): Change
1732         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1733         the second revised version.
1734
1735 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1736
1737         * mule-charset.c (Vcharset_ucs_smp): New variable.
1738         (Vcharset_ucs_sip): New variable.
1739         (Qucs_smp): New variable.
1740         (Qucs_sip): New variable.
1741         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1742         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1743         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1744         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1745         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1746         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1747
1748         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1749         (LEADING_BYTE_UCS_SIP): New macro.
1750         (MIN_CHAR_SMP): New macro.
1751         (MAX_CHAR_SMP): New macro.
1752         (MIN_CHAR_SIP): New macro.
1753         (MAX_CHAR_SIP): New macro.
1754
1755 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1756
1757         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1758         utf-2000.
1759
1760 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1761
1762         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1763         value; don't store value into `encoding_table' of `Lisp_Charset'.
1764         (mark_charset): `encoding_table' was deleted.
1765         (charset_description): Likewise.
1766         (make_charset): Likewise.
1767         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1768         `put_char_ccs_code_point'.
1769
1770         * chartab.h (Fput_char_attribute): New EXFUN.
1771
1772         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1773         is unified with normal symbol space.
1774         (Fget_char_attribute): Likewise.
1775         (Fput_char_attribute): Likewise; behavior of
1776         `put_char_ccs_code_point' is changed.
1777
1778         * char-ucs.h: Include "elhash.h".
1779         (Vchar_attribute_hash_table): New external variable.
1780         (struct Lisp_Charset): Delete `encoding_table'.
1781         (CHARSET_ENCODING_TABLE): New implementation; refer
1782         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1783         `Lisp_Charset'.
1784
1785 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1786
1787         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1788         (cs) == 0.
1789
1790 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1791
1792         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1793         `chinese-big5'.
1794
1795 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1796
1797         * chartab.c (uint8_byte_table_description): New constant.
1798         (uint8-byte-table): Use `uint8_byte_table_description'.
1799         (uint16_byte_table_description): New constant.
1800         (uint16-byte-table): Use `uint16_byte_table_description'.
1801
1802 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1803
1804         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1805         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1806
1807 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1808
1809         * mule-charset.c (Vcharset_ucs_ks): New variable.
1810         (Qucs_ks): New variable.
1811         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1812         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1813
1814         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1815
1816 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1817
1818         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1819         (Fdecode_char): Likewise.
1820
1821         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1822         chartab.h.
1823         (Fdefine_char): Modify for Fdecode_char.
1824         (Ffind_char): Likewise.
1825
1826         * mule-charset.c (Fdecode_char): Add new optional argument
1827         `defined-only'.
1828         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1829
1830 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1831
1832         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1833         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1834         (allocate_coding_system): Initialize initial-charsets of
1835         CODESYS_BIG5 in XEmacs UTF-2000.
1836         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1837         CODESYS_BIG5 in XEmacs UTF-2000.
1838         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1839         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1840
1841         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1842         variables.
1843         (Qideograph_hanziku_{1 .. 12}): Likewise.
1844         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1845         .. 12}'.
1846         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1847         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1848         `ideograph-hanziku-{1 .. 12}'.
1849
1850         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1851         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1852         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1853         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1854         (DECODE_DEFINED_CHAR): New inline function.
1855         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1856
1857 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1858
1859         * mule-charset.c (Vcharset_china3_jef): Renamed from
1860         `Vcharset_japanese_jef_china3'.
1861         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1862         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1863         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1864         (syms_of_mule_charset): Rename `china3-jef' from
1865         `japanese-jef-china3'.
1866         (complex_vars_of_mule_charset): Likewise; rename
1867         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1868
1869         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1870         `LEADING_BYTE_JEF_CHINA3'.
1871         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1872         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1873
1874 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1875
1876         * mule-charset.c (encode_builtin_char_1): Comment out special code
1877         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1878
1879         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1880         (MAX_CHAR_MOJIKYO_0): Comment out.
1881         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1882         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1883         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1884         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1885
1886 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1887
1888         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1889         (Qideograph_cbeta): New variable.
1890         (encode_builtin_char_1): Comment out special code for
1891         coded-charset `mojikyo' and `japanese-jef-china3'.
1892         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1893         (complex_vars_of_mule_charset): Add new coded-charset
1894         `ideograph-cbeta'.
1895
1896         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1897         (MIN_CHAR_CBETA): New macro.
1898         (MAX_CHAR_CBETA): New macro.
1899
1900 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1901
1902         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1903         (LEADING_BYTE_JEF_CHINA3): New macro.
1904         (MIN_CHAR_JEF_CHINA3): New macro.
1905         (MAX_CHAR_JEF_CHINA3): Likewise.
1906         (DECODE_CHAR): Fixed.
1907
1908 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1909
1910         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1911         (Qjapanese_jef_china3): New variable.
1912         (encode_builtin_char_1): Support `japanese-jef-china3'.
1913         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1914         (complex_vars_of_mule_charset): Add new coded-charset
1915         `japanese-jef-china3'.
1916
1917 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1918
1919         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1920         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1921         94^4, 96^3, 96^4, 128^n and 256^n set.
1922         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1923         (map_char_table): Likewise.
1924
1925 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1926
1927         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1928         UTF-2000.
1929
1930 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1931
1932         * chartab.h (get_char_id_table): New inline function.
1933
1934         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1935         function.
1936
1937 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1938
1939         * chartab.h (decode_char_table_range): New prototype in XEmacs
1940         UTF-2000.
1941         (put_char_id_table): New inline function in XEmacs UTF-2000.
1942
1943         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1944         function.
1945         (decode_char_table_range): Delete static declaration in XEmacs
1946         UTF-2000.
1947
1948 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1949
1950         * chartab.c (put_char_id_table): Use `put_char_table'.
1951
1952 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1953
1954         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1955         (map_over_uint16_byte_table): Likewise.
1956         (map_over_byte_table): Likewise.
1957         (map_char_table): Modify for `map_over_uint8_byte_table',
1958         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1959         UTF-2000.
1960
1961 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1962
1963         * chartab.c (struct map_char_table_for_charset_arg): New
1964         structure.
1965         (map_char_table_for_charset_fun): New function.
1966         (map_char_table): Use `map_char_table' for encoding_table of
1967         `range->charset'.
1968
1969 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1970
1971         * chartab.c (map_char_table): Check a character is found in
1972         range->charset instead of non default value is defined in
1973         char-table when range is CHARTAB_RANGE_ROW.
1974
1975 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1976
1977         * chartab.c (map_char_id_table): Deleted.
1978         (Fmap_char_attribute): Use `map_char_table' instead of
1979         `map_char_id_table'.
1980
1981 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1982
1983         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1984         UTF-2000.
1985         (update_syntax_table): Deleted in XEmacs UTF-2000.
1986
1987         * syntax.c (find_defun_start): Use `syntax_table' instead of
1988         `mirror_syntax_table' in XEmacs UTF-2000.
1989         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1990         UTF-2000.
1991         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1992         XEmacs UTF-2000.
1993         (Fmatching_paren): Likewise.
1994         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1995         in XEmacs UTF-2000.
1996         (find_start_of_comment): Likewise.
1997         (find_end_of_comment): Likewise.
1998         (Fforward_comment): Likewise.
1999         (scan_lists): Likewise.
2000         (char_quoted): Likewise.
2001         (Fbackward_prefix_chars): Likewise.
2002         (scan_sexps_forward): Likewise.
2003         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2004         (update_syntax_table): Likewise.
2005
2006         * search.c (skip_chars): Use `syntax_table' instead of
2007         `mirror_syntax_table' in XEmacs UTF-2000.
2008         (wordify): Likewise.
2009         (Freplace_match): Likewise.
2010
2011         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2012         `mirror_syntax_table' in XEmacs UTF-2000.
2013         (WORDCHAR_P_UNSAFE): Likewise.
2014         (re_match_2_internal): Likewise.
2015
2016         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2017         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2018
2019         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2020         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2021
2022         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2023         XEmacs UTF-2000.
2024
2025         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2026         UTF-2000.
2027         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2028         (char_table_description): Delete `mirror_table' in XEmacs
2029         UTF-2000.
2030         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2031         UTF-2000.
2032         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2033         (Fcopy_char_table): Likewise.
2034         (put_char_table): Don't call `update_syntax_table' in XEmacs
2035         UTF-2000.
2036
2037         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2038         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2039         (casify_region_internal): Likewise.
2040
2041         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2042
2043         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2044         `mirror_syntax_table' in XEmacs UTF-2000.
2045
2046         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2047         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2048         (Fexpand_abbrev): Likewise.
2049
2050 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2051
2052         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2053
2054 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2055
2056         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2057         (map_over_uint16_byte_table): Likewise.
2058         (map_over_byte_table): Likewise.
2059         (get_char_id_table): Refer `cit->default_value'.
2060         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2061         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2062         of character-id ranges.
2063         (mark_char_table): Mark `ct->default_value'.
2064         (char_table_description): Add `default_value'.
2065         (fill_char_table): Use `default_value'.
2066         (decode_char_table_range): Decode `nil' as
2067         `CHARTAB_RANGE_DEFAULT'.
2068         (get_char_id_table): Refer `cit->default_value'.
2069         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2070         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2071         temporary hack; check value of char-table is bound or not.
2072         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2073
2074         * chartab.h (struct Lisp_Char_Table): Add new member
2075         `default_value' in XEmacs UTF-2000.
2076         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2077         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2078         UTF-2000.
2079
2080 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2081
2082         * chartab.h (Lisp_Char_ID_Table): Deleted.
2083
2084         * chartab.c (char_table_description): Fix typo.
2085         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2086         `Lisp_Char_ID_Table'.
2087
2088 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2089
2090         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2091         `CHAR_ID_TABLE_P'.
2092
2093         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2094         `CHAR_ID_TABLE_P'.
2095
2096         * chartab.h (XCHAR_ID_TABLE): Deleted.
2097         (XSETCHAR_ID_TABLE): Deleted.
2098         (CHAR_ID_TABLE_P): Deleted.
2099
2100         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2101         `CHAR_ID_TABLE_P'.
2102         (Fget_composite_char): Likewise.
2103         (put_char_table): Likewise.
2104         (add_char_attribute_alist_mapper): Fixed.
2105         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2106         `CHAR_ID_TABLE_P'.
2107         (Fget_char_attribute): Likewise.
2108         (Fget_char_attribute): Likewise.
2109         (Fmap_char_attribute): Likewise.
2110
2111         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2112         `CHAR_ID_TABLE_P'.
2113         (encode_char_1): Likewise.
2114
2115 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2116
2117         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2118         `XCHAR_ID_TABLE'.
2119
2120         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2121         instead of `XCHAR_ID_TABLE'.
2122         (remove_char_ccs): Likewise.
2123
2124         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2125         `XCHAR_ID_TABLE'.
2126         (Fget_composite_char): Likewise.
2127         (Fchar_variants): Likewise.
2128         (put_char_table): Likewise.
2129         (add_char_attribute_alist_mapper): Likewise.
2130         (Fchar_attribute_alist): Likewise.
2131         (Fget_char_attribute): Likewise.
2132         (Fput_char_attribute): Likewise.
2133         (Fmap_char_attribute): Likewise.
2134         (Fmap_char_attribute): Likewise.
2135
2136         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2137         `XCHAR_ID_TABLE'.
2138         (encode_char_1): Likewise.
2139
2140 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2141
2142         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2143         `Lisp_Char_ID_Table'.
2144         (mark_char_id_table): Deleted.
2145         (print_char_id_table): Likewise.
2146         (char_id_table_equal): Likewise.
2147         (char_id_table_hash): Likewise.
2148         (char_id_table_description): Likewise.
2149         (char_id_table): Likewise.
2150         (make_char_id_table): Use `Fmake_char_table' and
2151         `fill_char_table'.
2152         (get_char_id_table): Use `Lisp_Char_Table' instead of
2153         `Lisp_Char_ID_Table'.
2154         (put_char_id_table): Likewise.
2155         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2156         `XCHAR_ID_TABLE'.
2157         (Fremove_char_attribute): Likewise.
2158         (syms_of_chartab): Don't define type `char-id-table'.
2159
2160         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2161         (char_id_table): Likewise.
2162         (GC_CHAR_ID_TABLE_P): Likewise.
2163         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2164         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2165         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2166         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2167         (get_char_id_table): Use `Lisp_Char_Table' instead of
2168         `Lisp_Char_ID_Table'.
2169         (put_char_id_table_0): Likewise.
2170         (put_char_id_table): Likewise.
2171
2172 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2173
2174         * chartab.h: Lisp_Byte_Table related codes are moved from
2175         chartab.h.
2176
2177         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2178
2179 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2180
2181         * chartab.h: Don't include "chartab.h".
2182         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2183         (Lisp_Char_ID_Table): Likewise.
2184         (char_id_table): Likewise.
2185         (XCHAR_ID_TABLE): Likewise.
2186         (XSETCHAR_ID_TABLE): Likewise.
2187         (CHAR_ID_TABLE_P): Likewise.
2188         (GC_CHAR_ID_TABLE_P): Likewise.
2189         (get_char_id_table): Likewise.
2190
2191         * char-ucs.h: Include "chartab.h".
2192         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2193         (Lisp_Char_ID_Table): Likewise.
2194         (char_id_table): Likewise.
2195         (XCHAR_ID_TABLE): Likewise.
2196         (XSETCHAR_ID_TABLE): Likewise.
2197         (CHAR_ID_TABLE_P): Likewise.
2198         (GC_CHAR_ID_TABLE_P): Likewise.
2199         (get_char_id_table): Likewise.
2200
2201 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2202
2203         * chartab.c (copy_uint8_byte_table): New function.
2204         (copy_uint16_byte_table): New function.
2205         (copy_byte_table): New function.
2206         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2207         characters to call.
2208         (map_over_uint16_byte_table): Likewise.
2209         (map_over_byte_table): Likewise.
2210         (get_byte_table): Move prototype to chartab.h.
2211         (put_byte_table): Likewise.
2212         (put_char_id_table_0): Moved to chartab.h.
2213         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2214         (char_table_entry_equal): Likewise.
2215         (char_table_entry_hash): Likewise.
2216         (char_table_entry_description): Likewise.
2217         (char_table_entry): Likewise.
2218         (make_char_table_entry): Likewise.
2219         (copy_char_table_entry): Likewise.
2220         (get_non_ascii_char_table_value): Likewise.
2221         (map_over_charset_ascii): Likewise.
2222         (map_over_charset_control_1): Likewise.
2223         (map_over_charset_row): Likewise.
2224         (map_over_other_charset): Likewise.
2225         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2226         (print_char_table): Likewise.
2227         (char_table_equal): Likewise.
2228         (char_table_hash): Likewise.
2229         (char_table_description): Likewise.
2230         (fill_char_table): Likewise.
2231         (Fcopy_char_table): Likewise.
2232         (get_char_table): Likewise.
2233         (Fget_range_char_table): Likewise.
2234         (put_char_table): Likewise.
2235         (map_char_table): Likewise.
2236         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2237         UTF-2000.
2238
2239 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2240
2241         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2242         `Vauto_fill_chars' in XEmacs UTF-2000.
2243
2244         * chartab.h (get_byte_table): New prototype [moved from
2245         chartab.c].
2246         (put_byte_table): Likewise [moved from chartab.c].
2247         (put_char_id_table_0): New inline function [moved from chartab.c].
2248         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2249         (Lisp_Char_Table_Entry): Likewise.
2250         (char_table_entry): Likewise.
2251         (XCHAR_TABLE_ENTRY): Likewise.
2252         (XSETCHAR_TABLE_ENTRY): Likewise.
2253         (CHAR_TABLE_ENTRYP): Likewise.
2254         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2255         (NUM_ASCII_CHARS): Likewise.
2256         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2257         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2258
2259 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2260
2261         * chartab.c (get_char_id_table): Change interface.
2262         (put_char_id_table_0): New function.
2263         (put_char_id_table): Change interface; new implementation.
2264         (Fget_composite_char): Modify for interface change of
2265         `get_char_id_table'.
2266         (Fchar_variants): Likewise.
2267         (add_char_attribute_alist_mapper): Likewise.
2268         (Fchar_attribute_alist): Likewise.
2269         (Fget_char_attribute): Likewise.
2270         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2271         as same as character as the first argument like `put-char-table';
2272         modify for interface change of `put_char_id_table'.
2273         (Fremove_char_attribute): Modify for interface change of
2274         `put_char_id_table'.
2275
2276 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2277
2278         * text-coding.c: Sync up with XEmacs 21.2.41.
2279         (COMPOSE_ADD_CHAR): Modify for interface change of
2280         `get_char_id_table'.
2281
2282         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2283         change of `put_char_id_table'.
2284         (remove_char_ccs): Likewise.
2285
2286         * chartab.h (put_char_id_table): Change interface.
2287
2288         * char-ucs.h (get_char_id_table): Change interface.
2289         (charset_code_point): Modify for interface change of
2290         `get_char_id_table'.
2291         (encode_char_1): Likewise.
2292
2293 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2294
2295         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2296         argument `ccs'.
2297         (map_over_uint16_byte_table): Likewise.
2298         (map_over_byte_table): Likewise.
2299         (map_char_id_table): Add new argument `range' like
2300         `map_char_table'.
2301         (Fmap_char_attribute): Add new argument `range' like
2302         `Fmap_char_table'.
2303
2304 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2305
2306         * chartab.c (map_over_uint8_byte_table): Change interface of
2307         mapping function to use struct chartab_range instead of Emchar.
2308         (map_over_uint16_byte_table): Likewise.
2309         (map_over_byte_table): Likewise.
2310         (map_char_id_table): Likewise.
2311         (struct slow_map_char_id_table_arg): Deleted.
2312         (slow_map_char_id_table_fun): Deleted.
2313         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2314         function `slow_map_char_table_fun' instead of struct
2315         `slow_map_char_id_table_arg' and function
2316         `slow_map_char_id_table_fun'.
2317
2318 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2319
2320         * mule-charset.c: Move char-it-table related codes to chartab.c.
2321         (Vutf_2000_version): Moved to chartab.c.
2322         (Fdefine_char): Likewise.
2323         (Ffind_char): Likewise.
2324         (syms_of_mule_charset): Move types `uint8-byte-table',
2325         `uint16-byte-table', `byte-table' and `char-id-table' to
2326         chartab.c; move functions `char_attribute_list,
2327         `find_char_attribute_table, `char_attribute_alist,
2328         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2329         `map_char_attribute, `define_char, `find_char, `char_variants and
2330         `get_composite_char to chartab.c; move symbols `=>ucs',
2331         `->decomposition', `compat', `isolated', `initial', `medial',
2332         `final', `vertical', `noBreak', `fraction', `super', `sub',
2333         `circle', `square', `wide', `narrow', `small' and `font' to
2334         chartab.c.
2335         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2336         setting codes for `Vcharacter_composition_table' and
2337         `Vcharacter_variant_table' to chartab.c.
2338         (complex_vars_of_mule_charset): Move setting code for
2339         `Vchar_attribute_hash_table' to chartab.c.
2340
2341         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2342         (make_char_id_table): New prototype.
2343         (put_char_id_table): Likewise.
2344         (Fget_char_attribute): Likewise.
2345
2346         * chartab.c: Move char-id-table related code from mule-charset.c.
2347         (Vutf_2000_version): Moved from mule-charset.c.
2348
2349         * char-ucs.h (Qucs): New external variable.
2350         (put_char_ccs_code_point): New prototype.
2351         (remove_char_ccs): Likewise.
2352
2353 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2354
2355         * mule-charset.c (Vcharset_ucs_jis): New variable.
2356         (Qucs_jis): Likewise.
2357         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2358         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2359
2360         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2361
2362 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2363
2364         * mule-charset.c (map_over_uint8_byte_table): New function.
2365         (map_over_uint16_byte_table): Likewise.
2366         (map_over_byte_table): Likewise.
2367         (map_char_id_table): Likewise.
2368         (slow_map_char_id_table_fun): Likewise.
2369         (Fmap_char_attribute): Likewise.
2370         (syms_of_mule_charset): Add new function `map-char-attribute'.
2371
2372 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2373
2374         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2375         (syms_of_mule_charset): Add new function `find-char'.
2376
2377 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2378
2379         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2380         XEmacs UTF-2000.
2381         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2382         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2383         XEmacs UTF-2000.
2384         (complex_vars_of_mule_charset): Add new coded-charset
2385         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2386         `ideograph-gt-pj-*'.
2387
2388         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2389
2390 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2391
2392         * mule-charset.c (encode_builtin_char_1): Purge codes about
2393         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2394         {MIN|MAX}_CHAR_HEBREW.
2395         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2396         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2397
2398         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2399         (MAX_CHAR_GREEK): Purged.
2400         (MIN_CHAR_CYRILLIC): Purged.
2401         (MAX_CHAR_CYRILLIC): Purged.
2402         (MIN_CHAR_HEBREW): Commented out.
2403         (MAX_CHAR_HEBREW): Likewise.
2404
2405 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2406
2407         * mule-charset.c (Qto_ucs): New variable.
2408         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2409         (Fdefine_char): Likewise.
2410         (syms_of_mule_charset): Add new symbol `=>ucs'.
2411
2412 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2413
2414         * mule-charset.c (Fdecode_char): Fixed.
2415
2416 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2417
2418         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2419         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2420         "tcvn5712-1".
2421
2422 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2423
2424         * mule-charset.c (Vcharset_ucs_big5): New variable.
2425         (Qucs_big5): Likewise.
2426         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2427         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2428
2429         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2430
2431 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2432
2433         * mule-charset.c (decode_builtin_char): Check Big5 code range
2434         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2435
2436 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2437
2438         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2439         (Qchinese_gb12345): Likewise.
2440         (Fdecode_builtin_char): Fixed.
2441         (syms_of_mule_charset): Add `chinese-gb12345'.
2442         (complex_vars_of_mule_charset): Add coded-charset
2443         `chinese-gb12345'.
2444
2445         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2446         (LEADING_BYTE_CHINESE_GB12345): New macro.
2447
2448 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2449
2450         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2451         and `latin-viscii-upper' for `latin-viscii'.
2452
2453 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2454
2455         * mule-charset.c (Fdecode_builtin_char): Comment out
2456         regularization code for ISO-IR GR representation.
2457
2458 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2459
2460         * mule-charset.c (decode_builtin_char): New function; renamed from
2461         `make_builtin_char'; return -1 instead of signal.
2462         (Fdecode_builtin_char): Use `decode_builtin_char'.
2463
2464         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2465         `make_builtin_char'.
2466         (DECODE_CHAR): Use `decode_builtin_char' instead of
2467         `make_builtin_char'; use mapping table of `chinese-big5' for
2468         `chinese-big5-{1,2}'.
2469
2470 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2471
2472         * text-coding.c (char_encode_big5): New function.
2473         (char_finish_big5): Likewise.
2474         (reset_encoding_stream): Use `char_encode_big5' and
2475         `char_finish_big5' for CODESYS_BIG5.
2476         (mule_encode): Don't use `encode_coding_big5'.
2477         (encode_coding_big5): Deleted.
2478
2479 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2480
2481         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2482         0x81- in XEmacs UTF-2000.
2483         (detect_coding_big5): Likewise.
2484
2485 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2486
2487         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2488         generate character-id if the CCS property does not have
2489         corresponding predefined character.
2490         (make_builtin_char): Return -1 if corresponding predefined
2491         character is not found.
2492         (Fdecode_char): Return nil if corresponding character is not
2493         found.
2494         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2495         don't map to builtin ucs space.
2496
2497 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2498
2499         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2500         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2501
2502 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2503
2504         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2505         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2506         (Qideograph_gt): Likewise.
2507         (Qideograph_gt_pj_{1..11}): Likewise.
2508         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2509         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2510         `ideograph-gt-pj-11'.
2511         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2512         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2513         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2514
2515         * char-ucs.h (LEADING_BYTE_GT): New macro.
2516         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2517         (MIN_CHAR_GT): Likewise.
2518         (MAX_CHAR_GT): Likewise.
2519
2520 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2521
2522         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2523         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2524
2525         * doprnt.c (unsigned_int_converters): Add `c'.
2526         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2527
2528         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2529         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2530         `MIN_CHAR_MOJIKYO'.
2531         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2532         (MAX_CHAR_MOJIKYO_0): New macro.
2533         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2534
2535 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2536
2537         * mule-charset.c (Fdefine_char): Delete cemented out code.
2538         (encode_builtin_char_1): Modify for new allocation of builtin
2539         Mojikyo characters.
2540
2541         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2542
2543 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2544
2545         * mule-charset.c (Vcharset_ucs_cns): New variable.
2546         (Qucs_cns): New variable.
2547         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2548         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2549
2550 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2551
2552         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2553
2554 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2555
2556         * search.c (search_buffer): Make `charset_base_code' as
2557         character-id >> 6 to eliminate the corresponding last byte in
2558         UTF-8 representation [I'm not sure it is right thing].
2559         (boyer_moore): Likewise.
2560
2561 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2562
2563         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2564         representation in MULE.
2565
2566 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2567
2568         * text-coding.c (Fmake_coding_system): Use
2569         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2570         `EXTERNAL_PROPERTY_LIST_LOOP'.
2571
2572 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2573
2574         * text-coding.c (decode_output_utf8_partial_char): New function.
2575         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2576
2577 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2578
2579         * text-coding.c (decode_coding_utf8): Output original byte
2580         sequence if it is broken; change order of conditions.
2581
2582         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2583         of conditions.
2584
2585         * mb-multibyte.h (BYTE_ASCII_P):
2586         Use bit ops for char-signedness safety.
2587         (BYTE_C0_P): Use bit ops for char-signedness safety.
2588         (BYTE_C1_P): Use bit ops for char-signedness safety.
2589
2590         * character.h: (XCHAR_OR_CHAR_INT):
2591         Always use inline function.
2592         Remove redundant type checking assert() - XINT will abort quite
2593         nicely.
2594
2595 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2596
2597         * text-coding.c: (Fencode_shift_jis_char):
2598         (Fencode_big5_char):
2599         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2600         Replace 0 with '\0' when working with bytes.
2601         Replace initial "(" with "\(" in docstrings.
2602
2603         (Fmake_coding_system):
2604         When type is ccl and value is vector, register it with a proper
2605         symbol.  And checks whether the given ccl program is valid.
2606         (mule_decode): When calling ccl_driver, if src indicates
2607         NULL pointer, set an empty string instead.
2608         (mule_encode): Likewise.
2609
2610         (detect_eol_type):
2611         (detect_coding_sjis):
2612         (decode_coding_sjis):
2613         (detect_coding_big5):
2614         (decode_coding_big5):
2615         (detect_coding_ucs4):
2616         (decode_coding_ucs4):
2617         (detect_coding_utf8):
2618         (decode_coding_utf8):
2619         (detect_coding_iso2022):
2620         (decode_coding_iso2022):
2621         (decode_coding_no_conversion):
2622         (mule_decode):
2623         Make all detecting and decoding functions take an Extbyte * arg.
2624         (text_encode_generic):
2625         (encode_coding_big5):
2626         (encode_coding_no_conversion):
2627         (mule_encode):
2628         Make all encoding functions take a Bufbyte * arg.
2629         Use size_t instead of unsigned int for memory sizes.
2630         Only cast to unsigned char whenever dereferencing Extbyte *.
2631
2632         (struct lrecord_description fcd_description_1): Use countof.
2633         (complex_vars_of_file_coding):
2634         Use countof instead of sizeof.
2635         Use CHECK_NATNUM instead of CHECK_INT.
2636
2637 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2638
2639         * mule-charset.c (Fget_char_attribute): Add new optional argument
2640         `default-value'.
2641         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2642         (remove_char_ccs): Likewise.
2643
2644 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2645
2646         * text-coding.c (char_encode_shift_jis): New implementation in
2647         UTF-2000.
2648         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2649         ...)'.
2650
2651         * mule-charset.c (Vcharset_chinese_big5): New variable in
2652         UTF-2000.
2653         (Qchinese_big5): New variable in UTF-2000.
2654         (BIG5_SAME_ROW): New macro in UTF-2000.
2655         (make_builtin_char): Use builtin characters of
2656         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2657         characters of `Vcharset_chinese_big5'.
2658         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2659         (complex_vars_of_mule_charset): Add new coded-charset
2660         `chinese-big5' in UTF-2000.
2661
2662         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2663         (Vcharset_chinese_big5): New external variable declaration.
2664         (Vcharset_japanese_jisx0208_1990): Likewise.
2665
2666 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2667
2668         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2669         function.
2670         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2671
2672 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2673
2674         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2675         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2676         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2677         `mojikyo-pj-*'.
2678
2679 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2680
2681         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2682
2683 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2684
2685         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2686         to 0.17.
2687
2688 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2689
2690         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2691         for `CHARSET_BY_ATTRIBUTES'.
2692         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2693         `CHARSET_BY_ATTRIBUTES'.
2694
2695         * text-coding.c (struct decoding_stream): Rename member `CH' to
2696         `CPOS'.
2697         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2698         (decode_coding_sjis): Likewise.
2699         (decode_coding_big5): Likewise.
2700         (decode_coding_ucs4): Likewise.
2701         (decode_coding_utf8): Likewise.
2702         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2703         `CHARSET_BY_ATTRIBUTES'.
2704         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2705         `str->counter'; decode 3, 4 bytes sets.
2706         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2707         sets.
2708         (decode_coding_no_conversion): Use `str->cpos' instead of
2709         `str->ch'.
2710
2711         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2712         (Qmojikyo_2022_1): New variable.
2713         (make_charset): Don't use `CHARSET_TYPE_*'.
2714         (range_charset_code_point): Support coded-charset
2715         `mojikyo-2022-1'.
2716         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2717         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2718         `CHARSET_BY_ATTRIBUTES'.
2719         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2720         `CHARSET_BY_ATTRIBUTES'.
2721         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2722         (complex_vars_of_mule_charset): Add new coded-charset
2723         `mojikyo-2022-1'.
2724
2725         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2726         interface; changed to inline function.
2727
2728         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2729         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2730         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2731         (CHARSET_TYPE_94): Deleted.
2732         (CHARSET_TYPE_94X94): Deleted.
2733         (CHARSET_TYPE_96): Deleted.
2734         (CHARSET_TYPE_96X96): Deleted.
2735         (CHARSET_TYPE_128): Deleted.
2736         (CHARSET_TYPE_128X128): Deleted.
2737         (CHARSET_TYPE_256): Deleted.
2738         (CHARSET_TYPE_256X256): Deleted.
2739         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2740         to inline function.
2741         (DECODE_MOJIKYO_2022): New inline function.
2742         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2743         `Vcharset_mojikyo_2022_1'.
2744
2745 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2746
2747         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2748         instead of `EQ'.
2749         (put_byte_table): Likewise.
2750         (char_id_table_equal): Use `get_byte_table' [new implementation].
2751
2752 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2753
2754         * mule-charset.c: Include <limits.h> in UTF-2000.
2755         (BT_UINT8_MIN): New macro in UTF-2000.
2756         (BT_UINT8_MAX): New macro in UTF-2000.
2757         (BT_UINT8_t): New macro in UTF-2000.
2758         (BT_UINT8_nil): New macro in UTF-2000.
2759         (BT_UINT8_unbound): New macro in UTF-2000.
2760         (INT_UINT8_P): New inline function in UTF-2000.
2761         (UINT8_VALUE_P): New inline function in UTF-2000.
2762         (UINT8_ENCODE): New inline function in UTF-2000.
2763         (UINT8_DECODE): New inline function in UTF-2000.
2764         (mark_uint8_byte_table): New function in UTF-2000.
2765         (print_uint8_byte_table): New function in UTF-2000.
2766         (uint8_byte_table_equal): New function in UTF-2000.
2767         (uint8_byte_table_hash): New function in UTF-2000.
2768         (make_uint8_byte_table): New function in UTF-2000.
2769         (uint8_byte_table_same_value_p): New function in UTF-2000.
2770         (BT_UINT16_MIN): New macro in UTF-2000.
2771         (BT_UINT16_MAX): New macro in UTF-2000.
2772         (BT_UINT16_t): New macro in UTF-2000.
2773         (BT_UINT16_nil): New macro in UTF-2000.
2774         (BT_UINT16_unbound): New macro in UTF-2000.
2775         (INT_UINT16_P): New inline function in UTF-2000.
2776         (UINT16_VALUE_P): New inline function in UTF-2000.
2777         (UINT16_ENCODE): New inline function in UTF-2000.
2778         (UINT16_DECODE): New inline function in UTF-2000.
2779         (UINT8_TO_UINT16): New inline function in UTF-2000.
2780         (mark_uint16_byte_table): New function in UTF-2000.
2781         (print_uint16_byte_table): New function in UTF-2000.
2782         (uint16_byte_table_equal): New function in UTF-2000.
2783         (uint16_byte_table_hash): New function in UTF-2000.
2784         (make_uint16_byte_table): New function in UTF-2000.
2785         (uint16_byte_table_same_value_p): New function in UTF-2000.
2786         (print_byte_table): New function in UTF-2000.
2787         (byte-table): Use `print_byte_table' as printer.
2788         (make_byte_table): Delete second argument `older'.
2789         (byte_table_same_value_p): New function in UTF-2000.
2790         (copy_byte_table): Deleted.
2791         (get_byte_table): New function in UTF-2000.
2792         (put_byte_table): New function in UTF-2000.
2793         (print_char_id_table): New function in UTF-2000.
2794         (char-id-table): Use `print_char_id_table' as printer.
2795         (make_char_id_table): Delete second argument `older'.
2796         (get_char_id_table): Use `get_byte_table [new implementation].
2797         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2798         implementation].
2799         (Ffind_char_attribute_table): New function in UTF-2000.
2800         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2801         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2802         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2803         (syms_of_mule_charset): Add new function
2804         `find-char-attribute-table' in UTF-2000.
2805
2806         * lrecord.h (enum lrecord_type): Add
2807         `lrecord_type_uint16_byte_table' and
2808         `lrecord_type_uint8_byte_table'.
2809
2810         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2811         (Lisp_Uint8_Byte_Table): New type.
2812         (XUINT8_BYTE_TABLE): New macro.
2813         (XSETUINT8_BYTE_TABLE): New macro.
2814         (UINT8_BYTE_TABLE_P): New macro.
2815         (GC_UINT8_BYTE_TABLE_P): New macro.
2816         (struct Lisp_Uint16_Byte_Table): New structure.
2817         (Lisp_Uint16_Byte_Table): New type.
2818         (XUINT16_BYTE_TABLE): New macro.
2819         (XSETUINT16_BYTE_TABLE): New macro.
2820         (UINT16_BYTE_TABLE_P): New macro.
2821         (GC_UINT16_BYTE_TABLE_P): New macro.
2822
2823 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2824
2825         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2826         (Vcharacter_ideographic_strokes_table): Deleted.
2827         (Vcharacter_total_strokes_table): Deleted.
2828         (Vcharacter_morohashi_daikanwa_table): Deleted.
2829         (Vcharacter_decomposition_table): Deleted.
2830         (Qname): Deleted because it is duplicated.
2831         (Qideographic_radical): Deleted.
2832         (Qideographic_strokes): Deleted.
2833         (Qtotal_strokes): Deleted.
2834         (Qmorohashi_daikanwa): Deleted.
2835         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2836         `ideographic-radical', `ideographic-strokes', `total-strokes',
2837         `morohashi-daikanwa' and `->decomposition'.
2838         (Fget_char_attribute): Likewise.
2839         (Fput_char_attribute): Likewise; use `make-vector' instead of
2840         `make_older_vector' for `->decomposition' value.
2841         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2842         `ideograph-daikanwa'.
2843         (syms_of_mule_charset): Delete builtin symbols `name',
2844         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2845         `morohashi-daikanwa'.
2846         (vars_of_mule_charset): Don't setup
2847         `Vcharacter_ideographic_radical_table',
2848         `Vcharacter_ideographic_strokes_table',
2849         `Vcharacter_total_strokes_table',
2850         `Vcharacter_morohashi_daikanwa_table' and
2851         `Vcharacter_decomposition_table'.
2852
2853 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2854
2855         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2856         `make_older_vector', `make_vector_newer_1' and
2857         `make_vector_newer'.
2858
2859         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2860         `make_older_vector' and `make_vector_newer'.
2861
2862         * config.h.in (HAVE_GGC): New macro.
2863
2864 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2865
2866         * mule-charset.c (struct char_attribute_list_closure): New
2867         structure in UTF-2000.
2868         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2869         (Fchar_attribute_list): Likewise.
2870         (Fset_charset_mapping_table): Use `make_vector_newer'.
2871         (Fdecode_builtin_char): New function in UTF-2000.
2872         (syms_of_mule_charset): Add new function `char-attribute-list' and
2873         `decode-builtin-char' in UTF-2000.
2874
2875         * lisp.h (make_vector_newer): New prototype.
2876
2877         * alloc.c (make_vector_newer_1): New function.
2878         (make_vector_newer): New function.
2879
2880 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2881
2882         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2883         50100)'.
2884
2885 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2886
2887         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2888         (Vcharacter_attribute_table): Deleted.
2889         (Vcharacter_name_table): Deleted.
2890         (put_char_attribute): Deleted.
2891         (remove_char_attribute): Deleted.
2892         (struct char_attribute_alist_closure): New structure.
2893         (add_char_attribute_alist_mapper): New function.
2894         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2895         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2896         (Fget_char_attribute): Likewise.
2897         (Fput_char_attribute): Likewise.
2898         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2899         of `remove_char_attribute'.
2900         (Fdefine_char): Return character.
2901         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2902         and `Vcharacter_name_table'.
2903         (complex_vars_of_mule_charset): Likewise
2904         `Vchar_attribute_hash_table'.
2905
2906 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2907
2908         * character.h (CHARC_CHARSET): New macro.
2909         (CHARC_CHARSET_ID): New macro.
2910         (CHARC_CODE_POINT): New macro.
2911         (CHARC_COLUMNS): New macro.
2912         (CHARC_TO_CHAR): New inline function.
2913         (CHARC_EQ): New inline function.
2914         (CHARC_ASCII_EQ): New inline function.
2915         (CHARC_IS_SPACE): New inline function.
2916         (ASCII_TO_CHARC): New inline function.
2917
2918         * char-ucs.h (encode_char_2): Deleted.
2919         (ENCODE_CHAR): Use `encode_char_1' again.
2920         (breakup_char_1): Likewise.
2921         (CHAR_TO_CHARC): New inline function.
2922
2923         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2924
2925 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2926
2927         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2928         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2929         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2930         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2931         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2932         `CHARC_IS_SPACE'.
2933         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2934
2935         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2936         `CHARC_CODE_POINT'.
2937         (x_output_display_block): Use `CHARC_CHARSET' and
2938         `CHARC_ASCII_EQ'.
2939
2940         * redisplay-tty.c (tty_output_display_block): Use
2941         `CHARC_ASCII_EQ'.
2942         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2943
2944         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2945
2946         * insdel.c (find_charsets_in_charc_string): Use
2947         `CHARC_CHARSET_ID'.
2948         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2949         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2950         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2951         (convert_charc_string_into_malloced_string): Likewise.
2952
2953 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2954
2955         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2956         instead of <Emchar_dynarr *> for buf; use
2957         `convert_bufbyte_string_into_charc_dynarr' instead of
2958         `convert_bufbyte_string_into_emchar_dynarr'; use
2959         `find_charsets_in_charc_string' instead of
2960         `find_charsets_in_emchar_string'.
2961
2962         * redisplay.h:
2963         - Include "character.h".
2964         (struct rune): New member `cglyph'; delete member `chr'.
2965
2966         * redisplay.c (redisplay_text_width_charc_string): New function;
2967         delete `redisplay_text_width_emchar_string'.
2968         (rtw_charc_dynarr): New variable; renamed from
2969         `rtw_emchar_dynarr'.
2970         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2971         `rtw_emchar_dynarr'; use
2972         `convert_bufbyte_string_into_charc_dynarr' instead of
2973         `convert_bufbyte_string_into_emchar_dynarr'; use
2974         `redisplay_text_width_charc_string' instead of
2975         `redisplay_text_width_emchar_string'.
2976         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2977         instead of `rtw_emchar_dynarr'; use
2978         `convert_bufbyte_string_into_charc_dynarr' instead of
2979         `convert_bufbyte_string_into_emchar_dynarr'.
2980         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2981         `redisplay_text_width_charc_string' instead of
2982         `redisplay_text_width_emchar_string'.
2983         (create_text_block): Modify for <struct rune> change.
2984         (generate_formatted_string_db): Likewise.
2985         (create_string_text_block): Likewise.
2986         (pixel_to_glyph_translation): Likewise.
2987
2988         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2989         instead of <const Emchar *>.
2990         (x_text_width): Likewise.
2991         (x_output_display_block): Use <Charc_dynarr *> instead
2992         <Emchar_dynarr *>; modify for <structure rune> change.
2993         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2994         *>.
2995
2996         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2997         <const Emchar *>; use `charc_string_displayed_columns' instead of
2998         `emchar_string_displayed_columns'.
2999         (tty_output_display_block): Use <Charc_dynarr *> instead of
3000         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3001         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3002         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3003         `tty_output_emchar_dynarr_dynarr'.
3004         (tty_output_charc_dynarr): New function; delete
3005         `tty_output_charc_dynarr'.
3006
3007         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3008         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3009         <Emchar_dynarr *> for buf; use
3010         `convert_bufbyte_string_into_charc_dynarr' instead of
3011         `convert_bufbyte_string_into_emchar_dynarr'.
3012
3013         * frame.c (title_string_charc_dynarr): New variable; renamed from
3014         `title_string_emchar_dynarr'.
3015         (generate_title_string): Use `title_string_charc_dynarr' instead
3016         of `title_string_emchar_dynarr'; use
3017         `convert_charc_string_into_malloced_string' instead of
3018         `convert_emchar_string_into_malloced_string'.
3019         (init_frame): Use `title_string_charc_dynarr' instead of
3020         `title_string_emchar_dynarr'.
3021
3022         * console.h:
3023         - Include "character.h".
3024         (struct console_methods): Use <const Charc *> instead of <const
3025         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3026         <Emchar_dynarr *> in output_string_method.
3027
3028         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3029         <Emchar_dynarr *>.
3030
3031         * console-stream.c (stream_text_width): Use <const Charc *>
3032         instead of <const Emchar *>.
3033
3034         * character.h (Charc_dynarr): New type.
3035
3036         * char-ucs.h (structure Charc): New structure; define new type
3037         `Charc'.
3038
3039         * char-lb.h (DECODE_CHAR): New inline function.
3040         (encode_char_1): New inline function.
3041         (ENCODE_CHAR): New macro.
3042         (structure Charc): New structure; define new type `Charc'.
3043
3044         * char-1byte.h (Vcharset_control_1): New macro.
3045         (Vcharset_latin_iso8859_1): New macro.
3046         (DECODE_CHAR): New inline function.
3047         (encode_char_1): New inline function.
3048         (ENCODE_CHAR): New macro.
3049         (structure Charc): New structure; define new type `Charc'.
3050
3051         * insdel.c (find_charsets_in_charc_string): New function; delete
3052         `find_charsets_in_emchar_string'.
3053         (charc_string_displayed_columns): New function; delete
3054         `emchar_string_displayed_columns'.
3055         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3056         `convert_bufbyte_string_into_emchar_dynarr'.
3057         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3058         `convert_charc_string_into_bufbyte_dynarr'.
3059         (convert_charc_string_into_malloced_string): New function; delete
3060         `convert_charc_string_into_malloced_string'.
3061
3062         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3063         `find_charsets_in_emchar_string'.
3064         (charc_string_displayed_columns): New prototype; delete
3065         `emchar_string_displayed_columns'.
3066         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3067         `convert_charc_string_into_bufbyte_dynarr'.
3068         (convert_charc_string_into_malloced_string): New prototype; delete
3069         `convert_charc_string_into_malloced_string'.
3070
3071 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3072
3073         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3074
3075 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3076
3077         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3078
3079         * char-ucs.h: Use <short> for <Charset_ID>.
3080
3081         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3082         <Charset_ID>.
3083
3084 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3085
3086         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3087         to 0.16.
3088
3089 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3090
3091         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3092         variable.
3093         (Qmorohashi_daikanwa): New variable.
3094         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3095         for `morohashi-daikanwa' attribute.
3096         (Fget_char_attribute): Likewise.
3097         (Fput_char_attribute): Likewise.
3098         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3099         has the same value of `ideograph-daikanwa'.
3100         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3101         (vars_of_mule_charset): Setup
3102         `Vcharacter_morohashi_daikanwa_table'.
3103
3104 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3105
3106         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3107         attributes.
3108         (add_charset_to_list_mapper): Add `key' instead of
3109         `XCHARSET_NAME (value)' to return aliases.
3110
3111 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3112
3113         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3114         variable.
3115         (Vcharacter_ideographic_strokes_table): New variable.
3116         (Qideographic_radical): New variable.
3117         (Qideographic_strokes): New variable.
3118         (Fchar_attribute_alist): Use
3119         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3120         attribute; use `Vcharacter_ideographic_strokes_table' for
3121         `ideographic-strokes' attribute.
3122         (Fget_char_attribute): Likewise.
3123         (Fput_char_attribute): Likewise.
3124         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3125         `ideographic-strokes'.
3126         (vars_of_mule_charset): Setup
3127         `Vcharacter_ideographic_radical_table' and
3128         `Vcharacter_ideographic_strokes_table'.
3129
3130 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3131
3132         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3133         (Qtotal_strokes): New variable.
3134         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3135         `total-strokes' attribute.
3136         (Fget_char_attribute): Likewise.
3137         (Fput_char_attribute): Likewise.
3138         (syms_of_mule_charset): Add new symbol `total-strokes'.
3139         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3140
3141 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3142
3143         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3144         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3145         are found.
3146         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3147         `->decomposition' attribute.
3148         (Fput_char_attribute): Likewise.
3149         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3150
3151 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3152
3153         * mule-charset.c (decoding_table_check_elements): New function.
3154         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3155
3156 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3157
3158         * mule-charset.c (Fset_charset_mapping_table): Use
3159         `put_char_ccs_code_point'.
3160
3161 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3162
3163         * mule-charset.c (decoding_table_put_char): New inline function.
3164         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3165
3166 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3167
3168         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3169         (XCHARSET_BYTE_SIZE): New macro.
3170         (decoding_table_remove_char): New inline function.
3171         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3172         `decoding_table_remove_char'.
3173         (remove_char_ccs): Use `decoding_table_remove_char'.
3174         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3175
3176 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3177
3178         * mule-charset.c (Vcharacter_name_table): New variable.
3179         (Qname): New variable.
3180         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3181         attribute.
3182         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3183         `Vcharacter_name_table' for `name' attribute.
3184         (Fremove_char_attribute): Use function `remove_char_ccs'.
3185         (put_char_ccs_code_point): New function.
3186         (remove_char_ccs): New function.
3187         (syms_of_mule_charset): Add new symbol `name'.
3188         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3189
3190 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3191
3192         * mule-charset.c (make_byte_table): Add new argument `older'.
3193         (make_char_id_table): Likewise.
3194         (copy_char_id_table): Comment out because it is not used.
3195         (put_char_id_table): Modify for `make_byte_table'.
3196         (Fput_char_attribute): Make encoding_table as older object;
3197         inherit older bit of `Vcharacter_composition_table'.
3198         (mark_charset): Don't mark `cs->encoding_table'.
3199         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3200         normal object; make `Vcharacter_composition_table' as an older
3201         object; delete staticpro for `Vcharacter_composition_table'; make
3202         `Vcharacter_variant_table' as a normal object.
3203
3204         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3205         (mark_object): Don't check older object in UTF-2000.
3206
3207         * lrecord.h (struct lrecord_header): Add new member `older' in
3208         UTF-2000.
3209         (set_lheader_implementation): Setup `SLI_header->older' in
3210         UTF-2000.
3211         (set_lheader_older_implementation): New macro in UTF-2000.
3212         (OLDER_RECORD_P): New macro in UTF-2000.
3213         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3214         (alloc_older_lcrecord): New prototype in UTF-2000.
3215         (alloc_older_lcrecord_type): New macro in UTF-2000.
3216
3217 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3218
3219         * mule-charset.c (byte_table_description): Use
3220         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3221         (char_id_table_description): Delete bogus `, 1'.
3222         (Fget_char_attribute): Refer encoding_table of each coded-charset
3223         to get value of coded-charset attribute of a character.
3224         (Fput_char_attribute): Use `make_older_vector' instead of
3225         `make_vector'; use encoding_table of each coded-charset to store
3226         value of coded-charset attribute of a character.
3227         (Fremove_char_attribute): Use encoding_table of each coded-charset
3228         to store value of coded-charset attribute of a character.
3229         (mark_charset): Mark `cs->encoding_table'; don't mark
3230         `cs->decoding_table'.
3231         (charset_description): Add description of new member
3232         `encoding_table'.
3233         (make_charset): Initialize `encoding_table'.
3234
3235         * char-ucs.h (struct Lisp_Charset): Add new member
3236         `encoding_table'.
3237         (CHARSET_ENCODING_TABLE): New macro.
3238         (XCHARSET_ENCODING_TABLE): New macro.
3239         (charset_code_point): New implementation.
3240         (encode_char_1): Likewise.
3241
3242         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3243         (disksave_object_finalization_1): Call finalizers of
3244         `all_older_lcrecords' in UTF-2000.
3245         (make_older_vector): New function in UTF-2000.
3246         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3247         UTF-2000.
3248
3249         * lisp.h (make_older_vector): New prototype in UTF-2000.
3250
3251 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3252
3253         * lrecord.h (enum lrecord_type): Rename
3254         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3255
3256         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3257         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3258         `get_char_code_table'.
3259
3260         * mule-charset.c (mark_char_id_table): Renamed from
3261         `mark_char_code_table'.
3262         (char_id_table_equal): Renamed from `char_code_table_equal'.
3263         (char_id_table_hash): Renamed from `char_code_table_hash'.
3264         (make_char_id_table): Renamed from `make_char_code_table'.
3265         (copy_char_id_table): Renamed from `copy_char_code_table'.
3266         (get_char_id_table): Renamed from `get_char_code_table'.
3267         (put_char_id_table): Renamed from `put_char_code_table'.
3268         (to_char_id): Renamed from `to_char_code'.
3269
3270         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3271         `Lisp_Char_Code_Table'.
3272         (char_id_table): Renamed from `char_code_table'.
3273         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3274         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3275         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3276         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3277         (get_char_id_table): Renamed from `get_char_code_table'.
3278
3279 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3280
3281         * lrecord.h (enum lrecord_type): Rename
3282         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3283
3284         * mule-charset.c (mark_byte_table): Renamed from
3285         `mark_char_byte_table'.
3286         (byte_table_equal): Renamed from `char_byte_table_equal'.
3287         (byte_table_hash): Renamed from `byte_table_hash'.
3288         (make_byte_table): Renamed from `make_byte_table'.
3289         (copy_byte_table): Renamed from `copy_char_byte_table'.
3290
3291         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3292         `Lisp_Char_Byte_Table'.
3293         (byte_table): Renamed from `char_byte_table'.
3294         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3295         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3296         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3297         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3298
3299 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3300
3301         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3302         (dfc_convert_to_internal_format): Likewise.
3303         
3304         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3305         * text-coding.c (Fcoding_system_alias_p): New function.
3306         * text-coding.c (Fcoding_system_aliasee): New function.
3307         * text-coding.c (append_suffix_to_symbol): New function.
3308         * text-coding.c (dangling_coding_system_alias_p): New function.
3309         * text-coding.c (Ffind_coding_system):
3310         * text-coding.c (Fcopy_coding_system):
3311         * text-coding.c (encode_coding_no_conversion):
3312         * text-coding.c (syms_of_file_coding):
3313         * text-coding.c (vars_of_file_coding):
3314         Rewrite coding system alias code.
3315         Allow nested aliases, like symbolic links.
3316         Allow redefinition of coding system aliases.
3317         Prevent existence of dangling coding system aliases.
3318         Eliminate convert_to_external_format.
3319         Eliminate convert_to_internal_format.
3320         
3321         * text-coding.c: Change enum eol_type to eol_type_t.
3322
3323 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3324
3325         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3326         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3327
3328         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3329         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3330
3331 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3332
3333         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3334         `ideograph-daikanwa'.
3335
3336         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3337         (Vcharset_ucs_bmp): Likewise.
3338         (Vcharset_mojikyo): Add new extern variable definition.
3339         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3340         (Vcharset_latin_iso8859_3): Likewise.
3341         (Vcharset_latin_iso8859_4): Likewise.
3342         (Vcharset_latin_iso8859_9): Likewise.
3343         (Vcharset_latin_viscii_lower): Likewise.
3344         (Vcharset_latin_viscii_upper): Likewise.
3345         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3346         `mojikyo' code-point is used to decode.
3347         (encode_char_2): New function [to convert `mojikyo' code-point to
3348         Mojikyo font encoding].
3349         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3350         (breakup_char_1): Likewise.
3351         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3352
3353 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3354
3355         * text-coding.c (Fmake_coding_system): Add document about
3356         `disable-composition' property.
3357
3358 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3359
3360         * text-coding.c (Qdisable_composition): New variable; delete
3361         `Qcomposite'.
3362         (Fmake_coding_system): Add new property `disable-composite';
3363         delete property `composite'.
3364         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3365         instead of `!CODING_SYSTEM_COMPOSITE'.
3366         (syms_of_file_coding): Add new symbol `disable-composition';
3367         delete symbol `composite'.
3368
3369         * file-coding.h (struct Lisp_Coding_System): Add
3370         `disable_composition'; delete `enable_composition'.
3371         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3372         `CODING_SYSTEM_COMPOSITE'.
3373         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3374         `XCODING_SYSTEM_COMPOSITE'.
3375
3376 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3377
3378         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3379         to 0.15.
3380
3381 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3382
3383         * text-coding.c (Qcomposite): New variable.
3384         (Fmake_coding_system): Add new property `composite'.
3385         (struct decoding_stream): Add `combined_char_count',
3386         `combined_chars' and `combining_table' in UTF-2000.
3387         (COMPOSE_FLUSH_CHARS): New macro.
3388         (COMPOSE_ADD_CHAR): New macro.
3389         (reset_decoding_stream): Reset `str->combined_char_count' and
3390         `str->combining_table' in UTF-2000.
3391         (decode_coding_iso2022): Modify for character-decomposition.
3392         (syms_of_file_coding): Add new symbol `composite'.
3393
3394 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3395
3396         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3397         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3398         of `Vcharacter_composition_table' if `->decomposition' property
3399         has only 1 element.
3400         (Qlatin_tcvn5712): New variable.
3401         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3402         (complex_vars_of_mule_charset): Add new coded-charset
3403         `latin-tcvn5712'.
3404
3405         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3406
3407 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3408
3409         * file-coding.h (struct Lisp_Coding_System): Add
3410         `enable_composition'.
3411         (CODING_SYSTEM_COMPOSITE): New macro.
3412         (XCODING_SYSTEM_COMPOSITE): New macro.
3413
3414 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3415
3416         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3417
3418 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3419
3420         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3421         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3422
3423 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3424
3425         * mule-charset.c (Vcharset_mojikyo): New variable.
3426         (Fdefine_char): Don't use coded-charset which does not have
3427         non-builtin character range to allocate character-id.
3428         (Qmojikyo): New variable.
3429         (syms_of_mule_charset): Add new symbol `mojikyo'.
3430         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3431
3432         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3433         (LEADING_BYTE_MOJIKYO): New macro.
3434         (MIN_CHAR_MOJIKYO): New macro.
3435         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3436         (MAX_CHAR_MOJIKYO): New macro.
3437
3438 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3439
3440         * mule-charset.c (remove_char_attribute): Fixed.
3441
3442 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3443
3444         * mule-charset.c (remove_char_attribute): New function.
3445         (Fremove_char_attribute): New function.
3446         (encode_builtin_char_1): Comment out builtin-support for
3447         greek-iso8859-7 and cyrillic-iso8859-5.
3448         (Fdecode_char): Check `code' is an integer.
3449         (syms_of_mule_charset): Add `remove-char-attribute'.
3450         (MIN_CHAR_GREEK): Deleted.
3451         (MAX_CHAR_GREEK): Likewise.
3452         (MIN_CHAR_CYRILLIC): Likewise.
3453         (MAX_CHAR_CYRILLIC): Likewise.
3454         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3455         MAX_CHAR_GREEK for `greek-iso8859-7'.
3456
3457         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3458         (MAX_CHAR_GREEK): Likewise.
3459         (MIN_CHAR_CYRILLIC): Likewise.
3460         (MAX_CHAR_CYRILLIC): Likewise.
3461
3462 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3463
3464         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3465         format is used without `ucs' property.
3466         (Fdecode_char): Fix problem with GR representation.
3467         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3468         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3469
3470 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3471
3472         * mule-charset.c (make_builtin_char): New function.
3473         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3474         (Fset_charset_mapping_table): Modify for new representation of
3475         code-point.
3476         (Fdecode_char): New function.
3477         (syms_of_mule_charset): Add new builtin function `decode-char' in
3478         UTF-2000.
3479
3480         * char-ucs.h (make_builtin_char): New prototype.
3481         (DECODE_CHAR): New inline function.
3482         (MAKE_CHAR): Use `DECODE_CHAR'.
3483
3484 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3485
3486         * text-coding.c (parse_charset_conversion_specs): Use
3487         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3488         `XCHARSET_TYPE'.
3489         (iso2022_designate): Likewise.
3490
3491         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3492         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3493
3494         * mule-charset.c (Vcharset_ucs): New variable.
3495         (print_charset): Change design; use `CHARSET_CHARS' and
3496         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3497         (make_charset): Change signature to specify `chars' and
3498         `dimension' instead of `type'.
3499         (range_charset_code_point): Modify for 256^n-set.
3500         (encode_builtin_char_1): Encode as `ucs' in default.
3501         (Fmake_charset): Modify for `make_charset'.
3502         (Fmake_reverse_direction_charset): Likewise.
3503         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3504         UTF-2000.
3505         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3506         for `make_charset'.
3507
3508         * char-ucs.h (Vcharset_ucs): New variable.
3509         (LEADING_BYTE_UCS): New macro.
3510         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3511         and `chars' to `unsigned short' from `unsigned int'.
3512         (CHARSET_TYPE): Deleted.
3513         (XCHARSET_TYPE): Deleted.
3514
3515 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3516
3517         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3518
3519         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3520         (ENCODE_CHAR): New macro.
3521
3522 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3523
3524         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3525         to 0.14 (Kawachi-Katakami).
3526
3527 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3528
3529         * text-coding.c (char_encode_shift_jis): Modify for
3530         `charset_code_point'.
3531         (char_encode_iso2022): Likewise.
3532
3533         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3534         (integer) instead of list of <Lisp_Object>s (integers) as the
3535         format of code-point of a coded-charset.
3536         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3537         (encode_builtin_char_1): New function; delete
3538         `split_builtin_char'.
3539         (charset_code_point): Return <int> instead of <Lisp_Object>.
3540         (Fsplit_char): Don't use `SPLIT_CHAR'.
3541
3542         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3543         prototype for `split_builtin_char'.
3544         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3545         (charset_code_point): Likewise.
3546         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3547         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3548
3549 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3550
3551         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3552         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3553
3554 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3555
3556         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3557
3558         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3559         (MAX_CHAR_OBS_94x94): Deleted.
3560
3561 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3562
3563         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3564
3565         * char-ucs.h (MAX_CHAR_BMP): New macro.
3566
3567 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3568
3569         * text-coding.c: Sync with r21-2-24.
3570
3571 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3572
3573         * file-coding.c: Modify for UTF-2000.
3574
3575 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3576
3577         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3578         to 0.13 (Takaida).
3579
3580 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3581
3582         * mule-charset.c (split_builtin_char): Delete builtin support for
3583         `katakana-jisx0201'.
3584         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3585         BMP area in builtin representation.
3586
3587         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3588         `Vcharset_katakana_jisx0201'.
3589
3590 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3591
3592         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3593         (Qisolated): New variable.
3594         (Qinitial): New variable.
3595         (Qmedial): New variable.
3596         (Qfinal): New variable.
3597         (Qvertical): New variable.
3598         (Qsmall): New variable.
3599         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3600         `Qvertical' and `Qsmall'.
3601         (Qmojikyo_pj_[1 .. 21]): New variable.
3602         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3603         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3604         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3605         .. 21]'.
3606
3607 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3608
3609         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3610         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3611         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3612
3613 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3614
3615         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3616         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3617         BMP.
3618         (Qjapanese_jisx0208_1990): New variable.
3619         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3620         (complex_vars_of_mule_charset): Add new coded-charset
3621         `japanese-jisx0208-1990'.
3622
3623         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3624         (MIN_CHAR_JIS_X0208_1990): New macro.
3625         (MAX_CHAR_JIS_X0208_1990): New macro.
3626
3627 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3628
3629         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3630         coded-charset is not found.
3631
3632 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3633
3634         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3635         (Fdefine_char): Use `Fmake_char'.
3636
3637 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3638
3639         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3640         (Vcharset_hiragana_jisx0208): Deleted.
3641         (Vcharset_katakana_jisx0208): Deleted.
3642         (Qideograph_daikanwa): New variable.
3643         (Qhiragana_jisx0208): Deleted.
3644         (Qkatakana_jisx0208): Deleted.
3645         (split_builtin_char): Split `ideograph-daikanwa'.
3646         (Fsplit_char): New implementation for UTF-2000.
3647         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3648         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3649         (complex_vars_of_mule_charset): Add new coded-charset
3650         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3651         `katakana-jisx0208'.
3652
3653         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3654         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3655         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3656         (MIN_CHAR_DAIKANWA): New macro.
3657         (MAX_CHAR_DAIKANWA): New macro.
3658
3659 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3660
3661         * data.c (Fstring_to_number): Don't recognize floating point if
3662         base is not 10.
3663
3664 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3665
3666         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3667
3668 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3669
3670         * mule-charset.c (Qsquare): New variable.
3671         (to_char_code): Add `Qsquare'.
3672         (syms_of_mule_charset): Add new symbol `square'.
3673
3674 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3675
3676         * mule-charset.c (Qcircle): New variable.
3677         (to_char_code): Add `Qcircle'.
3678         (syms_of_mule_charset): Add new symbol `circle'.
3679
3680 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3681
3682         * mule-charset.c (Qfont): New variable.
3683         (to_char_code): Add `Qfont'.
3684         (syms_of_mule_charset): Add new symbol `font'.
3685
3686 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3687
3688         * mule-charset.c (Qsub): New variable.
3689         (to_char_code): Add `Qsub'.
3690         (syms_of_mule_charset): Add new symbol `sub'.
3691
3692 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3693
3694         * mule-charset.c (Fput_char_attribute): Convert each element of
3695         VALUE to GL position if ATTRIBUTE is a GR-set,
3696
3697 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3698
3699         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3700         coded-charset is a GR-set.
3701
3702 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3703
3704         * mule-charset.c (Fput_char_attribute): Check each element of
3705         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3706
3707 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3708
3709         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3710         UTF-2000.
3711         (Qethiopic_ucs): New variable in UTF-2000.
3712         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3713         (complex_vars_of_mule_charset): Add new coded-charset
3714         `ethiopic-ucs' in UTF-2000.
3715
3716         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3717         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3718         9)'.
3719         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3720         10)'.
3721         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3722
3723 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3724
3725         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3726         `ascii'.
3727
3728 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3729
3730         * mule-charset.c (Vcharacter_variant_table): New variable.
3731         (Q_ucs): New variable.
3732         (Fchar_variants): New function.
3733         (Fput_char_attribute): Register `->ucs' value to
3734         `Vcharacter_variant_table'.
3735         (syms_of_mule_charset): Add new function `char-variants' and new
3736         symbol `->ucs'.
3737         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3738
3739 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3740
3741         * mule-charset.c (get_char_code_table): Allow negative character
3742         code.
3743         (put_char_code_table): Likewise.
3744         (Vcharacter_composition_table): New variable.
3745         (Q_decomposition): New variable.
3746         (Qwide): New variable.
3747         (Qnarrow): New variable.
3748         (Qcompat): New variable.
3749         (QnoBreak): New variable.
3750         (Qsuper): New variable.
3751         (Qfraction): New variable.
3752         (to_char_code): New function.
3753         (Fget_composite_char): New function.
3754         (Fput_char_attribute): Register `->decomposition' value to
3755         `Vcharacter_composition_table'.
3756         (syms_of_mule_charset): Add new function `get-composite-char', new
3757         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3758         `super' and `fraction'.
3759         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3760
3761 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3762
3763         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3764         character; copy the return value.
3765
3766 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3767
3768         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3769
3770         * mule-charset.c (range_charset_code_point): Must use make_int.
3771         (split_builtin_char): New function.
3772
3773 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3774
3775         * mule-charset.c (char_byte_table): Change name from
3776         "char-code-table" to "char-byte-table".
3777         (mark_char_code_table): New function.
3778         (char_code_table_equal): New function.
3779         (char_code_table_hash): New function.
3780         (char_code_table_description): New constant.
3781         (char_code_table): New type.
3782         (make_char_code_table): New function.
3783         (copy_char_code_table): New function.
3784         (get_char_code_table): Modify for `char_code_table' type.
3785         (put_char_code_table): Likewise.
3786         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3787         (Kashiwara).
3788
3789         * char-ucs.h (char_code_table): New type.
3790         (XCHAR_CODE_TABLE): New macro.
3791         (XSETCHAR_CODE_TABLE): New macro.
3792         (CHAR_CODE_TABLE_P): New macro.
3793         (GC_CHAR_CODE_TABLE_P): New macro.
3794         (struct Lisp_Char_Code_Table): New structure.
3795
3796 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3797
3798         * mule-charset.c (Fmake_charset): Setup byte_offset for
3799         {94|96}^n-set.
3800
3801 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3802
3803         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3804         character.
3805
3806 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3807
3808         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3809         is found.
3810
3811 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3812
3813         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3814         charset, it is regarded as a charset.
3815         (put_char_attribute): New function in UTF-2000.
3816         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3817         charset, mapping-table of the charset is modified.
3818         (Fdefine_char): New function in UTF-2000.
3819         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3820         `Fput_char_attribute'.
3821         (syms_of_mule_charset): Add new function `define-char' and new
3822         symbol `ucs' in UTF-2000.
3823         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3824
3825 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3826
3827         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3828         non-UTF-2000 configuration.
3829
3830 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3831
3832         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3833         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3834
3835         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3836         deleted.
3837         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3838         (Fset_charset_mapping_table): Likewise.
3839
3840         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3841         (CHARSET_ENCODING_TABLE): Delete.
3842         (XCHARSET_ENCODING_TABLE): Delete.
3843         (charset_code_point): New interface.
3844
3845 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3846
3847         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3848         instead of `charset_get_byte1' and `charset_get_byte2'.
3849
3850         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3851         (charset_get_byte2): Deleted.
3852
3853 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3854
3855         * char-ucs.h (SPLIT_CHAR): New inline function.
3856         (breakup_char_1): Use `SPLIT_CHAR'.
3857
3858         * mule-charset.c (range_charset_code_point): New function.
3859         (charset_code_point): New function.
3860
3861         * char-ucs.h (range_charset_code_point): New interface.
3862         (breakup_char_1): Use `range_charset_code_point'.
3863
3864 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3865
3866         * mule-charset.c (Fmake_charset): Delete unused local variable
3867         `code_offset'.
3868
3869         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3870         (breakup_char_1): Find a charset and code-point in
3871         `Vcharacter_attribute_table'.
3872
3873 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3874
3875         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3876         to 0.10 (Yao).
3877
3878 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3879
3880         * mule-charset.c (Vcharacter_attribute_table): New variable.
3881         (Fchar_attribute_alist): New function.
3882         (Fget_char_attribute): New function.
3883         (Fput_char_attribute): New function.
3884         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3885         too.
3886         (syms_of_mule_charset): Add new function `char-attribute-alist',
3887         `get-char-attribute' and `put-char-attribute'.
3888         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3889
3890 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3891
3892         * mule-charset.c (Fmake_charset): Just use
3893         `get_unallocated_leading_byte'.
3894
3895         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3896         sets; don't use final-byte based number for private sets.
3897
3898 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3899
3900         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3901         integer.
3902
3903 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3904
3905         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3906         to 0.9.
3907
3908 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3909
3910         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3911         of `CHAR_LEADING_BYTE' in UTF-2000.
3912
3913         * insdel.c (find_charsets_in_bufbyte_string): Use
3914         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3915         (find_charsets_in_emchar_string): Likewise.
3916
3917         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3918         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3919
3920         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3921         (CHAR_CHARSET_ID): New macro.
3922
3923 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3924
3925         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3926         charset-id - MIN_LEADING_BYTE.
3927         (put_char_table): Likewise.
3928
3929 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3930
3931         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3932         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3933         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3934         (CHARSET_ID_OFFSET): New macro.
3935         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3936         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3937         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3938         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3939         4).
3940         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3941         5).
3942         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3943         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3944         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3945         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3946         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3947
3948 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3949
3950         * mule-charset.c (next_allocated_leading_byte): New variable in
3951         UTF-2000.
3952         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3953         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3954         (get_unallocated_leading_byte): Simply use
3955         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3956         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3957         UTF-2000.
3958
3959         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3960         (MAX_LEADING_BYTE_PRIVATE): New macro.
3961         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3962         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3963
3964 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3965
3966         * mule-charset.c (Fmake_charset): Allocate final-byte based
3967         charset-id for 94-set, 96-set and 94x94-set.
3968
3969 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3970
3971         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3972         ambiguous `else'.
3973         (Fmake_charset): Likewise.
3974         (complex_vars_of_mule_charset): Modify the font registry of
3975         `ucs-bmp' not to match `Ethiopic-Unicode'.
3976
3977 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3978
3979         * mule-charset.c (complex_vars_of_mule_charset): Add font
3980         registory of `ucs-bmp'.
3981
3982 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3983
3984         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3985         coded-charsets in `default-coded-charset-priority-list' when
3986         breaking up a character.
3987
3988         * mule-charset.c (Vcharset_latin_viscii): New variable.
3989         (Qlatin_viscii): New variable.
3990         (make_charset): Don't use `decoding_table'.
3991         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3992         byte_offset.
3993         (Fset_charset_mapping_table): New implementation.
3994         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3995         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3996         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3997         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3998         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3999         charset `latin_viscii'.
4000
4001         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4002         (CHARSET_TYPE_94X94): Change to 1 from 2.
4003         (CHARSET_TYPE_96): Change to 2 from 1.
4004         (CHARSET_TYPE_128): New macro.
4005         (CHARSET_TYPE_128X128): Change to 5 from 4.
4006         (CHARSET_TYPE_256): New macro.
4007         (CHARSET_TYPE_256X256): Change to 7 from 5.
4008         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4009
4010 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4011
4012         * text-coding.c (char_encode_shift_jis): Refer
4013         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4014         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4015
4016         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4017         (char_byte_table_equal): New function in UTF-2000.
4018         (char_byte_table_hash): New function in UTF-2000.
4019         (char_byte_table_description): New constant in UTF-2000.
4020         (char_byte_table): New type in UTF-2000.
4021         (make_char_byte_table): New function in UTF-2000.
4022         (copy_char_byte_table): New function in UTF-2000.
4023         (make_char_code_table): New macro in UTF-2000.
4024         (get_char_code_table): New function in UTF-2000.
4025         (put_char_code_table): New function in UTF-2000.
4026         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4027         (charset_description): Add setting in UTF-2000.
4028         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4029         `CHARSET_TO_BYTE1_TABLE(cs)'.
4030         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4031         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4032         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4033         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4034         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4035         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4036         `CHARSET_TO_BYTE2_TABLE(cs)'.
4037
4038         * char-ucs.h (char_byte_table): New type.
4039         (XCHAR_BYTE_TABLE): New macro.
4040         (XSETCHAR_BYTE_TABLE): New macro.
4041         (CHAR_BYTE_TABLE_P): New macro.
4042         (GC_CHAR_BYTE_TABLE_P): New macro.
4043         (struct Lisp_Char_Byte_Table): New structure.
4044         (get_char_code_table): New interface.
4045         (Emchar_to_byte_table): Deleted.
4046         (get_byte_from_character_table): Deleted.
4047         (struct Lisp_Charset): Add `encoding_table'; delete
4048         `to_byte1_table' and `to_byte2_table'.
4049         (CHARSET_ENCODING_TABLE): New macro.
4050         (CHARSET_TO_BYTE1_TABLE): Deleted.
4051         (CHARSET_TO_BYTE2_TABLE): Deleted.
4052         (XCHARSET_ENCODING_TABLE): New macro.
4053         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4054         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4055
4056 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4057
4058         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4059         `vietnamese-viscii-*'.
4060
4061 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4062
4063         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4064         (Qvietnamese_viscii_upper): New variable.
4065         (Fdefine_charset_alias): New function.
4066         (syms_of_mule_charset): Add new function `define-charset-alias'.
4067         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4068         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4069         `latin-viscii-*'.
4070
4071 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4072
4073         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4074         (MAX_CHAR_OBS_94x94): New macro.
4075         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4076         for 94x94 sets.
4077
4078         * mule-charset.c (put_byte_from_character_table): Change unit size
4079         from 128 to 256.
4080         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4081         not defined.
4082         (Fmake_reverse_direction_charset): Modify dummy argument of
4083         `make_charset' for non-UTF-2000 environment.
4084
4085 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4086
4087         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4088
4089         * mule-charset.c (destroy_byte_from_character_table): New macro.
4090         (latin_jisx0201_to_ucs): Deleted.
4091         (latin_iso8859_2_to_ucs): Deleted.
4092         (latin_iso8859_3_to_ucs): Deleted.
4093         (latin_iso8859_4_to_ucs): Deleted.
4094         (latin_iso8859_9_to_ucs): Deleted.
4095         (latin_viscii_lower_to_ucs): Deleted.
4096         (latin_viscii_upper_to_ucs): Deleted.
4097         (mark_charset): Mark `cs->decoding_table'.
4098         (Fcharset_mapping_table): Fix DOC-string.
4099         (Fset_charset_mapping_table): New function.
4100         (syms_of_mule_charset): Add nwe function
4101         `set-charset-mapping-table'.
4102         (complex_vars_of_mule_charset): Don't setup and use
4103         `latin_*_to_ucs'.
4104
4105 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4106
4107         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4108         charset.
4109
4110 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4111
4112         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4113         (Vcharset_katakana_jisx0208): New variable.
4114         (Qhiragana_jisx0208): New variable.
4115         (Qkatakana_jisx0208): New variable.
4116         (make_charset): Add new argument `byte_offset'.
4117         (charset_get_byte1): Modify for new coded-charset definition; use
4118         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4119         `XCHARSET_BYTE_OFFSET'.
4120         (Fmake_charset): Modify for `make_charset'.
4121         (Fmake_reverse_direction_charset): Likewise.
4122         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4123         `katakana-jisx0208'.
4124         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4125         `.'  in font registry of charset `katakana-jisx0201',
4126         `latin-jisx0201', `vietnamese-viscii-lower' and
4127         `vietnamese-viscii-upper'; modify DOC-string of charset
4128         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4129         registry of charset `japanese-jisx0208' not to use font for JIS
4130         X0208:1990; add new charset `hiragana-jisx0208' and
4131         `katakana-jisx0208'.
4132
4133         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4134         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4135         (struct Lisp_Charset): Add `byte_offset'.
4136         (CHARSET_BYTE_OFFSET): New macro.
4137         (XCHARSET_UCS_MIN): New macro.
4138         (XCHARSET_UCS_MAX): New macro.
4139         (XCHARSET_CODE_OFFSET): New macro.
4140         (XCHARSET_BYTE_OFFSET): New macro.
4141         (MIN_CHAR_HIRAGANA): New macro.
4142         (MAX_CHAR_HIRAGANA): New macro.
4143         (MIN_CHAR_KATAKANA): New macro.
4144         (MAX_CHAR_KATAKANA): New macro.
4145         (MAKE_CHAR): Modify for new coded-charset definition; use
4146         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4147         `XCHARSET_BYTE_OFFSET'.
4148
4149 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4150
4151         * mule-charset.c (CHAR96): Deleted.
4152         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4153         <Lisp_Object>.
4154         (latin_iso8859_2_to_ucs): Likewise.
4155         (latin_iso8859_3_to_ucs): Likewise.
4156         (latin_iso8859_4_to_ucs): Likewise.
4157         (latin_iso8859_9_to_ucs): Likewise.
4158         (latin_viscii_lower_to_ucs): Likewise.
4159         (latin_viscii_upper_to_ucs): Likewise.
4160         (latin_tcvn5712_to_ucs): Commented out.
4161         (make_charset): Change type of argument `decoding_table' from
4162         <Emchar*> to <Lisp_Object> [vector of characters].
4163         (Fmake_charset): Modify for `make_charset'.
4164         (Fmake_reverse_direction_charset): Likewise.
4165         (Fcharset_mapping_table): New function in UTF-2000.
4166         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4167         UTF-2000.
4168         (complex_vars_of_mule_charset): Modify for type change of
4169         `*_to_ucs'; modify for `make_charset'.
4170
4171         * char-ucs.h (struct Lisp_Charset): Change type of
4172         `decoding_table' from <Emchar*> to <Lisp_Object>.
4173         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4174
4175 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4176
4177         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4178         error with non-UTF-2000-Mule.
4179
4180 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4181
4182         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4183         in lisp again].
4184         (Vcharset_chinese_cns11643_4): Likewise.
4185         (Vcharset_chinese_cns11643_5): Likewise.
4186         (Vcharset_chinese_cns11643_6): Likewise.
4187         (Vcharset_chinese_cns11643_7): Likewise.
4188         (Qchinese_cns11643_3): Likewise.
4189         (Qchinese_cns11643_4): Likewise.
4190         (Qchinese_cns11643_5): Likewise.
4191         (Qchinese_cns11643_6): Likewise.
4192         (Qchinese_cns11643_7): Likewise.
4193         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4194         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4195         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4196         (complex_vars_of_mule_charset): Likewise.
4197
4198 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4199
4200         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4201         96-set.
4202         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4203         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4204
4205 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4206
4207         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4208         0xFF60.
4209         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4210         (breakup_char_1): Likewise.
4211
4212         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4213         one of them includes the specified character.
4214
4215 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4216
4217         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4218
4219 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4220
4221         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4222
4223 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4224
4225         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4226         definition for non-UTF-2000 Mule.
4227         (latin_iso8859_3_to_ucs): Likewise.
4228         (latin_iso8859_4_to_ucs): Likewise.
4229         (latin_iso8859_9_to_ucs): Likewise.
4230         (latin_jisx0201_to_ucs): Likewise.
4231         (MIN_CHAR_THAI): Likewise.
4232         (MAX_CHAR_THAI): Likewise.
4233         (MIN_CHAR_GREEK): Likewise.
4234         (MAX_CHAR_GREEK): Likewise.
4235         (MIN_CHAR_HEBREW): Likewise.
4236         (MAX_CHAR_HEBREW): Likewise.
4237         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4238         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4239         (MIN_CHAR_CYRILLIC): Likewise.
4240         (MAX_CHAR_CYRILLIC): Likewise.
4241
4242 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4243
4244         * char-ucs.h (breakup_char_1): Use
4245         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4246         thai-tis620 and katakana-jisx0201 area.
4247
4248 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4249
4250         * char-ucs.h (breakup_char_1): Use
4251         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4252         area.
4253
4254         * text-coding.c (reset_encoding_stream): Fixed.
4255         (char_encode_ucs4): Delete `& 255'.
4256
4257         * char-ucs.h (breakup_char_1): Use
4258         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4259
4260 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4261
4262         * file-coding.c (Fmake_coding_system): Don't set up
4263         `codesys->fixed.size'.
4264         (encode_coding_no_conversion): Don't refer
4265         `str->codesys->fixed.size'.
4266
4267 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4268
4269         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4270         (latin_a_char_to_byte1): Deleted.
4271         (latin_a_char_to_byte2): Deleted.
4272
4273 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4274
4275         * mule-charset.c (make_charset): Add new argument `ucs_min',
4276         `ucs_max' and `code_offset'.
4277         (charset_get_byte1): New implementation [delete specific charset
4278         depended implementations].
4279         (Fmake_charset): Modify for `make_charset'.
4280         (Fmake_reverse_direction_charset): Likewise.
4281         (complex_vars_of_mule_charset): Likewise.
4282
4283         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4284         `code_offset'.
4285         (CHARSET_UCS_MIN): New macro.
4286         (CHARSET_UCS_MAX): New macro.
4287         (CHARSET_CODE_OFFSET): New macro.
4288         (MAKE_CHAR): Delete charset depended definitions [except
4289         katakana-jisx0201].
4290
4291 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4292
4293         * char-ucs.h (breakup_char_1): Use
4294         `Vdefault_coded_charset_priority_list' for C0-Controls,
4295         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4296
4297 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4298
4299         * char-ucs.h (charset_get_byte1): New function.
4300         (XCHARSET_GET_BYTE1): Deleted.
4301         (charset_get_byte2): New function.
4302         (XCHARSET_GET_BYTE2): Deleted.
4303         (Vdefault_coded_charset_priority_list): New external variable.
4304         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4305         `Vdefault_preferred_coded_charset_list'.
4306
4307         * mule-charset.c (charset_get_byte1): New function.
4308         (charset_get_byte2): New function.
4309         (Vdefault_coded_charset_priority_list): New variable.
4310         (vars_of_mule_charset): Add new variable
4311         `default-coded-charset-priority-list'.
4312
4313 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4314
4315         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4316         (XCHARSET_GET_BYTE2): New inline function.
4317         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4318         `XCHARSET_GET_BYTE2'.
4319
4320 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4321
4322         * mule-charset.c (make_charset): Initialize
4323         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4324         NULL if table is not defined.
4325
4326 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4327
4328         * text-coding.c (char_encode_shift_jis): Use
4329         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4330         `ucs_to_latin_jisx0201'.
4331
4332         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4333         (ucs_to_latin_iso8859_2): Deleted.
4334         (ucs_to_latin_iso8859_3): Deleted.
4335         (ucs_to_latin_iso8859_4): Deleted.
4336         (ucs_to_latin_iso8859_9): Deleted.
4337         (ucs_to_latin_viscii_lower): Deleted.
4338         (ucs_to_latin_viscii_upper): Deleted.
4339         (ucs_to_latin_tcvn5712): Deleted.
4340         (make_charset): Add new argument `decoding_table'; set up
4341         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4342         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4343         `decoding_table' is defined in UTF-2000.
4344         (Fmake_charset): Modify for `make_charset'.
4345         (Fmake_reverse_direction_charset): Likewise.
4346         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4347         and `GENERATE_96_SET'.
4348
4349         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4350         (ucs_to_latin_jisx0201): Deleted.
4351         (latin_iso8859_2_to_ucs): Deleted.
4352         (ucs_to_latin_iso8859_2): Deleted.
4353         (latin_iso8859_3_to_ucs): Deleted.
4354         (ucs_to_latin_iso8859_3): Deleted.
4355         (latin_iso8859_4_to_ucs): Deleted.
4356         (ucs_to_latin_iso8859_4): Deleted.
4357         (latin_iso8859_9_to_ucs): Deleted.
4358         (ucs_to_latin_iso8859_9): Deleted.
4359         (latin_viscii_lower_to_ucs): Deleted.
4360         (ucs_to_latin_viscii_lower): Deleted.
4361         (latin_viscii_upper_to_ucs): Deleted.
4362         (ucs_to_latin_viscii_upper): Deleted.
4363         (struct Lisp_Charset): Renamed `encoding_table' to
4364         `to_byte1_table'; add `to_byte2_table'.
4365         (CHARSET_DECODING_TABLE): New macro.
4366         (CHARSET_TO_BYTE1_TABLE): New macro.
4367         (CHARSET_TO_BYTE2_TABLE): New macro.
4368         (XCHARSET_DECODING_TABLE): New macro.
4369         (XCHARSET_TO_BYTE1_TABLE): New macro.
4370         (XCHARSET_TO_BYTE2_TABLE): New macro.
4371         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4372         tables.
4373         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4374         don't use `ucs_to_*' tables.
4375
4376 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4377
4378         * text-coding.c (Fmake_coding_system): Don't set up
4379         `codesys->fixed.size'.
4380         (encode_coding_no_conversion): Use `if' instead of `switch'.
4381
4382         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4383
4384 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4385
4386         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4387         (Fmake_charset): Modify for `make_charset'.
4388         (Fmake_reverse_direction_charset): Likewise.
4389         (complex_vars_of_mule_charset): Likewise.
4390
4391 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4392
4393         * text-coding.c (char_encode_shift_jis): Use table
4394         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4395
4396 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4397
4398         * text-coding.c (text_encode_generic): Use `if' instead of
4399         `switch'.
4400         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4401         decode JIS-Latin.
4402
4403 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4404
4405         * text-coding.c (encode_coding_sjis): Deleted.
4406         (char_encode_shift_jis): New function.
4407         (char_finish_shift_jis): New function.
4408         (reset_encoding_stream): Set up `encode_char' and `finish' for
4409         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4410         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4411         (char_encode_utf8): Treat `eol_type'.
4412
4413 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4414
4415         * file-coding.c (decode_coding_iso2022): Use
4416         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4417
4418 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4419
4420         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4421         to 0.7 (Hirano).
4422
4423 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4424
4425         * char-lb.h (CHAR_COLUMNS): New macro.
4426
4427 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4428
4429         * text-coding.c (char_encode_ucs4): New function.
4430         (char_finish_ucs4): New function.
4431         (encode_coding_ucs4): Deleted.
4432         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4433         (text_encode_generic): Delete local variable `charset' and `half'.
4434         (ucs_to_mule_table): Deleted.
4435         (mule_to_ucs_table): Deleted.
4436         (Fset_ucs_char): Deleted.
4437         (ucs_to_char): Deleted.
4438         (Fucs_char): Deleted.
4439         (Fset_char_ucs): Deleted.
4440         (Fchar_ucs): Deleted.
4441         (decode_ucs4): Deleted.
4442         (mule_char_to_ucs4): Deleted.
4443         (encode_ucs4): Deleted.
4444         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4445         (decode_coding_utf8): Likewise.
4446         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4447         (char_encode_iso2022): Fixed.
4448         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4449         `Fset_char_ucs' and `Fchar_ucs'.
4450         (complex_vars_of_file_coding): Don't initialize
4451         `ucs_to_mule_table'.
4452
4453         * objects-tty.c (tty_initialize_font_instance): Don't use
4454         `XCHARSET_COLUMNS'.
4455
4456         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4457         UTF-2000.
4458
4459         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4460         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4461
4462         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4463         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4464         (emchar_string_displayed_columns): Likewise.
4465
4466         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4467         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4468         (string_column_at_point): Likewise.
4469         (Fmove_to_column): Likewise.
4470
4471         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4472         `encoding_table' and `decoding_table'.
4473         (CHARSET_REP_BYTES): Deleted.
4474         (XCHARSET_REP_BYTES): Deleted.
4475         (XCHARSET_COLUMNS): Deleted.
4476         (CHAR_COLUMNS): New macro.
4477         (lookup_composite_char): Deleted unconditionally.
4478         (composite_char_string): Likewise.
4479
4480 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4481
4482         * char-ucs.h (Emchar_to_byte_table): New type.
4483         (get_byte_from_character_table): New function interface.
4484         (Vcharset_latin_jisx0201): New variable.
4485         (latin_jisx0201_to_ucs): New variable.
4486         (ucs_to_latin_jisx0201): New variable.
4487         (Vcharset_latin_iso8859_2): New variable.
4488         (latin_iso8859_2_to_ucs): New variable.
4489         (ucs_to_latin_iso8859_2): New variable.
4490         (Vcharset_latin_iso8859_3): New variable.
4491         (latin_iso8859_3_to_ucs): New variable.
4492         (ucs_to_latin_iso8859_3): New variable.
4493         (Vcharset_latin_iso8859_4): New variable.
4494         (latin_iso8859_4_to_ucs): New variable.
4495         (ucs_to_latin_iso8859_4): New variable.
4496         (Vcharset_latin_iso8859_9): New variable.
4497         (latin_iso8859_9_to_ucs): New variable.
4498         (ucs_to_latin_iso8859_9): New variable.
4499         (Vcharset_latin_viscii_lower): New variable.
4500         (latin_viscii_lower_to_ucs): New variable.
4501         (ucs_to_latin_viscii_lower): New variable.
4502         (Vcharset_latin_viscii_upper): New variable.
4503         (latin_viscii_upper_to_ucs): New variable.
4504         (ucs_to_latin_viscii_upper): New variable.
4505         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4506         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4507         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4508         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4509         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4510         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4511         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4512         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4513         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4514         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4515
4516         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4517         (Vcharset_latin_viscii_upper): New variable.
4518         (make_byte_from_character_table): New function.
4519         (put_byte_from_character_table): New function.
4520         (get_byte_from_character_table): New function.
4521         (CHAR96): New macro.
4522         (ucs_to_latin_jisx0201): New variable.
4523         (latin_jisx0201_to_ucs): New variable.
4524         (ucs_to_latin_iso8859_2): New variable.
4525         (latin_iso8859_2_to_ucs): New variable.
4526         (ucs_to_latin_iso8859_3): New variable.
4527         (latin_iso8859_3_to_ucs): New variable.
4528         (ucs_to_latin_iso8859_4): New variable.
4529         (latin_iso8859_4_to_ucs): New variable.
4530         (ucs_to_latin_iso8859_9): New variable.
4531         (latin_iso8859_9_to_ucs): New variable.
4532         (ucs_to_latin_viscii_lower): New variable.
4533         (latin_viscii_lower_to_ucs): New variable.
4534         (ucs_to_latin_viscii_upper): New variable.
4535         (latin_viscii_upper_to_ucs): New variable.
4536         (ucs_to_latin_tcvn5712): New variable.
4537         (latin_tcvn5712_to_ucs): New variable.
4538         (Qlatin_viscii_lower): New variable.
4539         (Qlatin_viscii_upper): New variable.
4540         (syms_of_mule_charset): Set up new symbol
4541         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4542         (complex_vars_of_mule_charset): Set up new charset
4543         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4544         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4545         `ucs_to_<CHARSET>' tables.
4546
4547 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4548
4549         * text-coding.c: New file.
4550
4551 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4552
4553         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4554
4555         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4556         (MAKE_CHAR): Modify for `ucs-bmp'.
4557         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4558         non-MULE characters of BMP.
4559
4560 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4561
4562         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4563         to 0.6.
4564
4565 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4566
4567         * lstream.h:
4568         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4569         - Include character.h for `CHAR_ASCII_P'.
4570
4571         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4572
4573         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4574         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4575
4576         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4577         (BYTE_C0_P): Likewise.
4578         (BYTE_C1_P): Likewise.
4579         (Lstream_get_emchar_1): Likewise.
4580         (Lstream_fput_emchar): Likewise.
4581         (Lstream_funget_emchar): Likewise.
4582         (copy_internal_to_external): Likewise.
4583         (copy_external_to_internal): Likewise.
4584
4585         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4586         (BYTE_C0_P): Likewise.
4587         (BYTE_C1_P): Likewise.
4588         (Lstream_get_emchar_1): Likewise.
4589         (Lstream_fput_emchar): Likewise.
4590         (Lstream_funget_emchar): Likewise.
4591         (copy_internal_to_external): Likewise.
4592         (copy_external_to_internal): Likewise.
4593
4594         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4595         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4596
4597         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4598         (BYTE_ASCII_P): Moved to mb-1byte.h.
4599
4600 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4601
4602         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4603
4604         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4605         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4606         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4607         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4608         (VALIDATE_CHARPTR_FORWARD): Likewise.
4609         (simple_charptr_emchar): Moved to mb-multibyte.h.
4610         (simple_set_charptr_emchar): Likewise.
4611         (simple_charptr_copy_char): Likewise.
4612         (non_ascii_charptr_emchar): Likewise.
4613         (non_ascii_set_charptr_emchar): Likewise.
4614         (non_ascii_charptr_copy_char): Likewise.
4615         (charptr_emchar): Moved to mb-*byte.h.
4616         (set_charptr_emchar): Likewise.
4617         (charptr_copy_char): Likewise.
4618
4619         * mb-1byte.h, mb-multibyte.h: New files.
4620
4621 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4622
4623         * mb-utf-8.h (MULTIBYTE): New macro.
4624         (MAX_EMCHAR_LEN): Moved from buffer.h.
4625         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4626
4627         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4628
4629         * mb-lb.h, multibyte.h: New files.
4630
4631         * char-1byte.h (Charset_ID): Moved from buffer.h.
4632         (MIN_LEADING_BYTE): Likewise.
4633         (LEADING_BYTE_ASCII): Likewise.
4634         (NUM_LEADING_BYTES): Likewise.
4635         (CHARSETP): Likewise.
4636         (CHARSET_BY_LEADING_BYTE): Likewise.
4637         (XCHARSET_LEADING_BYTE): Likewise.
4638         (XCHARSET_GRAPHIC): Likewise.
4639         (XCHARSET_COLUMNS): Likewise.
4640         (XCHARSET_DIMENSION): Likewise.
4641         (CHAR_CHARSET): Likewise.
4642         (CHAR_LEADING_BYTE): Likewise.
4643         (BREAKUP_CHAR): Likewise.
4644         (Vcharset_ascii): Likewise.
4645
4646         * buffer.h: Include multibyte.h unconditionally.
4647         (VALID_CHARPTR_P): Moved to multibyte.h.
4648         (ASSERT_VALID_CHARPTR): Likewise.
4649         (REAL_INC_CHARPTR): Likewise.
4650         (REAL_INC_CHARBYTIND): Likewise.
4651         (REAL_DEC_CHARPTR): Likewise.
4652         (INC_CHARPTR): Likewise.
4653         (INC_CHARBYTIND): Likewise.
4654         (DEC_CHARPTR): Likewise.
4655         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4656         (VALIDATE_CHARPTR_FORWARD): Likewise.
4657         (charptr_n_addr): Likewise.
4658         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4659         (simple_charptr_emchar): Moved to multibyte.h.
4660         (simple_set_charptr_emchar): Likewise.
4661         (simple_charptr_copy_char): Likewise.
4662         (non_ascii_charptr_emchar): Likewise.
4663         (non_ascii_set_charptr_emchar): Likewise.
4664         (non_ascii_charptr_copy_char): Likewise.
4665         (charptr_emchar): Likewise.
4666         (set_charptr_emchar): Likewise.
4667         (charptr_copy_char): Likewise.
4668         (charptr_emchar_n): Likewise.
4669         (Charset_ID): Moved to char-1byte.h.
4670         (Vcharset_ascii): Likewise.
4671         (CHAR_CHARSET): Likewise.
4672         (CHAR_LEADING_BYTE): Likewise.
4673         (LEADING_BYTE_ASCII): Likewise.
4674         (NUM_LEADING_BYTES): Likewise.
4675         (MIN_LEADING_BYTE): Likewise.
4676         (CHARSETP): Likewise.
4677         (CHARSET_BY_LEADING_BYTE): Likewise.
4678         (XCHARSET_LEADING_BYTE): Likewise.
4679         (XCHARSET_GRAPHIC): Likewise.
4680         (XCHARSET_COLUMNS): Likewise.
4681         (XCHARSET_DIMENSION): Likewise.
4682         (BREAKUP_CHAR): Likewise.
4683
4684 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4685
4686         * character.h: Add document about interface for characters.
4687
4688         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4689         (MAKE_CHAR): Delete comment about
4690         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4691         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4692         (BREAKUP_CHAR): Modify name of arguments.
4693         (CHAR_CHARSET): Modify name of argument.
4694
4695         * buffer.h: Delete document about Emchar accessors.
4696
4697 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4698
4699         * character.h (CHAR_INTP): Moved from buffer.h
4700         (CHAR_OR_CHAR_INTP): Likewise.
4701         (XCHAR_OR_CHAR_INT): Likewise.
4702         (CHECK_CHAR_COERCE_INT): Likewise.
4703
4704         * buffer.h (CHAR_INTP): Moved to character.h
4705         (CHAR_OR_CHAR_INTP): Likewise.
4706         (XCHAR_OR_CHAR_INT): Likewise.
4707         (CHECK_CHAR_COERCE_INT): Likewise.
4708
4709 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4710
4711         * character.h:
4712         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4713         - Include char-1byte.h, char-lb.h or char-ucs.h.
4714
4715         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4716
4717         * buffer.h: Include character unconditionally.
4718         (valid_char_p): Moved to char-*.h.
4719         (non_ascii_valid_char_p): Moved to char-lb.h.
4720
4721         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4722
4723 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4724
4725         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4726         in UTF-2000 because it is not ported yet and not to use
4727         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4728         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4729         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4730
4731         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4732         (CHAR_ASCII_P): Moved from character.h.
4733
4734         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4735         (CHAR_ASCII_P): Likewise.
4736         (CHAR_FIELD1_MASK): Deleted.
4737         (CHAR_FIELD2_MASK): Deleted.
4738         (CHAR_FIELD3_MASK): Deleted.
4739         (MAX_CHAR_BASIC_LATIN): New macro.
4740         (CHAR_FIELD1): Deleted.
4741         (CHAR_FIELD2_INTERNAL): Deleted.
4742         (CHAR_FIELD3_INTERNAL): Deleted.
4743         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4744         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4745         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4746         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4747         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4748         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4749         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4750         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4751         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4752         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4753         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4754         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4755         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4756         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4757         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4758         (MIN_CHAR_COMPOSITION): Deleted.
4759         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4760         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4761
4762 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4763
4764         * buffer.h: Include mb-utf-8.h in UTF-2000.
4765
4766         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4767
4768         * mb-utf-8.h: New file.
4769
4770 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4771
4772         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4773         instead of `int'.
4774
4775         * mule-charset.h, buffer.h (Charset_ID): New type.
4776
4777 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4778
4779         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4780         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4781         instead of `MULE_CHAR_PRIVATE_OFFSET',
4782         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4783         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4784         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4785
4786         * character.h (Vcharset_japanese_jisx0212): New variable
4787         definition.
4788
4789 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4790
4791         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4792         (charset_by_attributes): Delete array about direction.
4793         (latin_a_char_to_charset): New variable in UTF-2000.
4794         (latin_a_char_to_byte1): New variable in UTF-2000.
4795         (latin_a_char_to_byte2): New variable in UTF-2000.
4796         (Qucs_bmp): New variable.
4797         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4798         `Bufbyte'.
4799         (next_allocated_2_byte_leading_byte): Likewise.
4800         (non_ascii_set_charptr_emchar): Likewise.
4801         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4802         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4803         `charset_by_attributes'.
4804         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4805         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4806         and `CHARSET_BY_LEADING_BYTE'.
4807         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4808         `utf-2000-version' to `vars_of_mule_charset'.
4809         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4810         define `leading-code-private-11' in UTF-2000; move setting of
4811         `utf-2000-version' from `syms_of_mule_charset'.
4812         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4813         UTF-2000.
4814
4815         * character.h (Charset_ID): New type.
4816         (LEADING_BYTE_UCS_BMP): New macro.
4817         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4818         (CHARSET_ID_OFFSET_94): New macro.
4819         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4820         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4821         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4822         final-byte.
4823         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4824         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4825         (CHARSET_ID_OFFSET_96): New macro.
4826         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4827         CHARSET_ID_OFFSET_96 and final-byte.
4828         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4829         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4830         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4831         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4832         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4833         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4834         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4835         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4836         (LEADING_BYTE_THAI_TIS620): Likewise.
4837         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4838         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4839         (CHARSET_ID_OFFSET_94x94): New macro.
4840         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4841         CHARSET_ID_OFFSET_94x94 and final-byte.
4842         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4843         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4844         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4845         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4846         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4847         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4848         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4849         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4850         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4851         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4852         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4853         (CHARSET_TYPE_128X128): New macro.
4854         (CHARSET_TYPE_256X256): New macro.
4855         (XCHARSET_PRIVATE_P): Delete unconditionally.
4856         (charset_by_attributes): Delete array about direction.
4857         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4858         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4859         (MIN_CHAR_94): New macro.
4860         (MAX_CHAR_94): New macro.
4861         (MIN_CHAR_96): New macro.
4862         (MAX_CHAR_96): New macro.
4863         (MIN_CHAR_94x94): New macro.
4864         (MAX_CHAR_94x94): New macro.
4865         (MIN_CHAR_96x96): New macro.
4866         (MAX_CHAR_96x96): New macro.
4867         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4868         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4869         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4870         - 32)'.
4871         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4872         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4873         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4874         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4875         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4876         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4877         `XCHARSET_LEADING_BYTE' to make code-point.
4878         (latin_a_char_to_charset): New variable.
4879         (latin_a_char_to_byte1): New variable.
4880         (latin_a_char_to_byte2): New variable.
4881         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4882         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4883         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4884
4885         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4886         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4887         (find_charsets_in_emchar_string): Likewise.
4888         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4889
4890         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4891         `int'.
4892         (decode_coding_iso2022): Likewise.
4893
4894         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4895         of `unsigned char'.
4896
4897         * redisplay.c (redisplay_text_width_emchar_string): Use
4898         `Charset_ID' instead of `unsigned char'.
4899         (redisplay_frame_text_width_string): Likewise.
4900
4901         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4902         `unsigned char'.
4903
4904         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4905         instead of `unsigned char'.
4906         (face_cachel_charset_font_metric_info): Likewise.
4907
4908         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4909         (get_non_ascii_char_table_value): Likewise.
4910         (get_char_table): Likewise.
4911         (put_char_table): Likewise.
4912         (map_over_other_charset): Likewise.
4913         (map_char_table): Likewise.
4914
4915         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4916         instead of `unsigned char'.
4917
4918 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4919
4920         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4921         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4922
4923         * mule-charset.c (leading_code_private_11): Don't define in
4924         UTF-2000.
4925
4926         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4927         in UTF-2000 because it is not ported yet and not to use
4928         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4929
4930 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4931
4932         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4933
4934 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4935
4936         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4937         in UTF-2000.
4938
4939         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4940         of unsigned char to store leading-byte.
4941
4942         * chartab.c (get_non_ascii_char_table_value): Don't use
4943         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4944
4945         * file-coding.c (encode_coding_big5): Delete bogus implementation
4946         in UTF2000.
4947
4948         * character.h (LEADING_BYTE_*): Delete definition for
4949         non-UTF-2000.
4950         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4951         (LEADING_BYTE_PREFIX_P): Deleted.
4952         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4953         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4954         (BUFBYTE_LEADING_BYTE_P): Deleted.
4955         (CHARSET_PRIVATE_P): Deleted unconditionally.
4956         (rep_bytes_by_first_byte): Deleted unconditionally.
4957         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4958         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4959         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4960         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4961         (CHAR_FIELD2): Deleted.
4962         (CHAR_FIELD3): Deleted.
4963         (MAKE_CHAR): Delete definition for non-UTF-2000.
4964         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4965         (breakup_char_1): New implementation.
4966         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4967         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4968
4969 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4970
4971         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4972         condition.
4973
4974 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4975
4976         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4977         (CHARSET_PRIVATE_P): Likewise.
4978         (XCHARSET_PRIVATE_P): Likewise.
4979         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4980
4981         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4982         UTF2000.
4983         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4984
4985 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4986
4987         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4988         (NUM_LEADING_BYTES): Changed from 128 to 256.
4989         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4990         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4991         UTF2000.
4992         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4993
4994         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4995         UTF2000.
4996         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4997         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4998         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4999         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5000         (Qchinese_cns11643_3): New variable in UTF2000.
5001         (Qchinese_cns11643_4): New variable in UTF2000.
5002         (Qchinese_cns11643_5): New variable in UTF2000.
5003         (Qchinese_cns11643_6): New variable in UTF2000.
5004         (Qchinese_cns11643_7): New variable in UTF2000.
5005         (syms_of_mule_charset): Define `chinese-cns11643-3',
5006         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5007         and `chinese-cns11643-7' in UTF2000.
5008         (vars_of_mule_charset): Initialize
5009         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5010         + 1 in UTF2000.
5011         (complex_vars_of_mule_charset): Setup charset
5012         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5013         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5014
5015 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5016
5017         * mule-charset.c: Move setting for `leading-code-private-11' from
5018         `syms_of_mule_charset' to `vars_of_mule_charset'.
5019
5020 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5021
5022         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5023         and `NUM_LEADING_BYTES' in assert.
5024
5025 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5026
5027         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5028         instead of 128.
5029         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5030         `NUM_LEADING_BYTES' instead of 128.
5031
5032 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5033
5034         * mule-charset.h (charset_by_leading_byte): Use
5035         `NUM_LEADING_BYTES' instead of 128.
5036         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5037
5038         * mule-charset.c (charset_by_leading_byte): Use
5039         `NUM_LEADING_BYTES' instead of 128.
5040         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5041
5042         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5043         128.
5044
5045 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5046
5047         * mule-charset.c (syms_of_mule_charset): Update to
5048         0.4 (Shin-Imamiya).
5049
5050 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5051
5052         * file-coding.c (encode_coding_sjis): New implementation for
5053         UTF2000.  (decode_coding_sjis): Ditto.
5054
5055 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5056
5057         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5058         Don't define in UTF2000.
5059
5060         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5061         defined.
5062
5063         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5064         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5065         MULE.
5066
5067 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5068
5069         * config.h.in (CHAR_IS_UCS4): New macro.
5070
5071         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5072         conventional MULE representation.
5073         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5074
5075         * mule-charset.h: Reverted to original.
5076
5077         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5078         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5079         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5080
5081         * character.h: New file.
5082
5083         * file-coding.c (Fmake_coding_system): Set 1 to
5084         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5085         defined.
5086         (encode_coding_no_conversion): New implementation for UTF2000.
5087
5088         * file-coding.h (struct Lisp_Coding_System): Add new member
5089         `fixed.size'.
5090
5091 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5092
5093         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5094         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5095         (encode_coding_iso2022): New implementation for UTF2000.
5096
5097 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5098
5099         * mule-canna.c (c2mu): New implementation for UTF2000.
5100         (m2c): Likewise.
5101
5102 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5103
5104         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5105
5106 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5107
5108         * file-coding.c (reset_encoding_stream): Set 0 to
5109         `str->iso2022.current_char_boundary' in UTF2000.
5110         (encode_utf8): Don't define in UTF2000.
5111         (encode_coding_utf8): New implementation for UTF-8 representation
5112         of UTF2000.
5113         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5114
5115 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5116
5117         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5118
5119         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5120         UTF2000.
5121         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5122
5123         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5124
5125         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5126         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5127         as UTF-8 in UTF2000.
5128         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5129         (non_ascii_valid_char_p): Don't define in UTF2000.
5130         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5131         (Lstream_get_emchar_1): Likewise.
5132         (utf-2000-version): New variable in UTF2000.
5133
5134         * lread.c (read_escape): Add new reader `u'.
5135
5136         * insdel.c (three_to_one_table): Don't define in UTF2000.
5137         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5138         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5139         UTF2000.
5140         (bytind_to_bufpos_func): Likewise.
5141         (buffer_mule_signal_inserted_region): Likewise.
5142         (vars_of_insdel): Don't initialize `three_to_one_table'.
5143         (init_buffer_text): Use `buf->text->mule_size' instead of
5144         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5145         UTF2000.
5146
5147         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5148         UTF-8 representation in UTF2000.
5149         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5150         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5151         (decode_coding_iso2022): Don't define local variable `lb' in
5152         UTF2000; don't use LEADING_BYTE in UTF2000; use
5153         `DECODE_ADD_UCS_CHAR' in UTF2000.
5154         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5155
5156         * config.h.in (UTF2000): New macro.
5157
5158         * buffer.h (struct buffer_text): Add new member `mule_size' and
5159         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5160         (valid_char_p): Return always 1 in UTF2000.
5161         (MAX_EMCHAR_LEN): 6 in UTF2000.
5162         (three_to_one_table): Don't define in UTF2000.
5163         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5164         UTF2000.
5165         (real_bytind_to_bufpos): Likewise.
5166
5167         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5168
5169 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5170
5171         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5172         representation change.
5173         (Vutf_2000_version): New variable.
5174         (leading_code_private_11): New variable.
5175         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5176         `leading-code-private-11'.
5177
5178         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5179         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5180         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5181         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5182         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5183         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5184         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5185         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5186         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5187         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5188         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5189         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5190         (MIN_CHAR_GREEK): New macro.
5191         (MAX_CHAR_GREEK): New macro.
5192         (MIN_CHAR_CYRILLIC): New macro.
5193         (MAX_CHAR_CYRILLIC): New macro.
5194         (MIN_CHAR_HEBREW): New macro.
5195         (MAX_CHAR_HEBREW): New macro.
5196         (MIN_CHAR_THAI): New macro.
5197         (MAX_CHAR_THAI): New macro.
5198         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5199         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5200         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5201         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5202         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5203         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5204         (CHAR_FIELD2): New inline function.
5205         (CHAR_FIELD3): New inline function.
5206         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5207         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5208         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5209         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5210         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5211         (MIN_CHAR_COMPOSITION): Likewise.
5212         (CHAR_LEADING_BYTE): Modified for character representation change.
5213         (MAKE_CHAR): Likewise.
5214
5215         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5216         (Vcharset_greek_iso8859_7): Likewise.
5217         (Vcharset_cyrillic_iso8859_5): Likewise.
5218         (Vcharset_hebrew_iso8859_8): Likewise.
5219         (Vcharset_thai_tis620): Likewise.
5220         (Vcharset_katakana_jisx0201): Likewise.
5221
5222 2003-09-03  Vin Shelton <acs@xemacs.org>
5223
5224         * XEmacs 21.4.14 is released
5225
5226 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5227
5228         * config.h.in (REGEX_MALLOC): Make it configure'able.
5229
5230 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5231
5232         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5233         linking.
5234         * sysdll.c (dll_init):
5235         * sysdll.c (dll_open):
5236         * sysdll.c (dll_close):
5237         * sysdll.c (dll_function):
5238         * sysdll.c (dll_variable):
5239         * sysdll.c (dll_error):
5240         Add support for loading bundles using Darwin/MacOSX
5241         native API.
5242
5243 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5244
5245         * process.c (start-process-internal): Document coding systems.
5246
5247 2003-07-30  Jerry James  <james@xemacs.org>
5248
5249         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5250
5251 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5252
5253         * event-msw.c (mswindows_enqueue_mouse_button_event):
5254         * event-msw.c (mswindows_wnd_proc):
5255           enqueue button event when scrollwheel event isn't handled by 
5256           mswindows_handle_mousewheel_event, such as when the scrollbars
5257           are not showing.
5258
5259 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5260
5261         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5262
5263 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5264
5265         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5266
5267 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5268
5269         * regex.c (re_match_2_internal): Fix matching degenerate word
5270         boundaries.
5271
5272 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5273
5274         * XEmacs 21.4.13 is released
5275
5276 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5277
5278         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5279         * lisp.h (<inttypes.h>):
5280         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5281         the definition.
5282
5283 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5284
5285         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5286         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5287         Result: "temacs can only be run in -batch mode."
5288         Fix: Check xemacs executable candidate for directory-ness.
5289
5290 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5291
5292         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5293           they conflict with <sys/types.h>.
5294
5295 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5296
5297         * database.c: Berkeley DB wants __STDC__ to be defined.
5298
5299 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5300
5301         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5302
5303 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5304
5305         * process-unix.c (unix_send_process): Fix C++ compile error.
5306
5307 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5308
5309         * Added .dylib as an acceptable shared library file extension
5310         * to support MacOSX.
5311
5312 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5313
5314         * EmacsFrameP.h (EmacsFramePart):
5315         Kludge to allow compiling with Motif1, but linking with Motif2.
5316
5317 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5318
5319         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5320
5321
5322 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5323
5324         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5325
5326 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5327
5328         * sysdll.c: Included lisp.h to define needed alloca_array.
5329
5330 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5331
5332         Make XEmacs redisplay 10 times faster.
5333         If, that is, you're using a slow X connection and MoveOpaque.
5334         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5335         Use compress_motion = TRUE.
5336         * EmacsFrame.c (emacsFrameClassRec): 
5337         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5338         * EmacsManager.c (emacsManagerClassRec):
5339         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5340
5341 2003-01-30  Vin Shelton  <acs@xemacs.org>
5342
5343         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5344
5345 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5346
5347         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5348         Patch by Martin Buchholz.
5349
5350 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5351
5352         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5353         Thanks to icc for warning and Martin Buchholz for reporting.
5354
5355 2003-01-29  Vin Shelton <acs@xemacs.org>
5356
5357         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5358
5359         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5360         remember to multiply by the element size.
5361
5362 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5363
5364         * XEmacs 21.4.12 "Portable Code" is released.
5365
5366 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5367
5368         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5369         * s/cygwin.sc: new linker file.
5370
5371 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5372
5373         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5374
5375         * redisplay-x.c (x_output_string): Use X11-specified types.
5376         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5377         * emacs.c (__free_hook): Use typeof with Intel compiler.
5378         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5379
5380 2003-01-08  Andy Piper  <andy@xemacs.org>
5381
5382         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5383         reserve size during unexec().
5384
5385 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5386
5387         * process-unix.c (unix_create_process): Don't let outchannel block.
5388
5389 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5390
5391         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5392         Needed for IsBadReadPtr().
5393
5394 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5395
5396         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5397
5398 2002-12-14  Ben Wing  <ben@xemacs.org>
5399
5400         * callint.c: Declaration error.
5401         * dumper.c (pdump):
5402         * dumper.c (pdump_load): Warning fix.
5403         * process.c: GCPRO error.
5404         * glyphs.c (unmap_subwindow):
5405         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5406         * event-stream.c (maybe_kbd_translate): Wrong argument to
5407         character_to_event().
5408
5409         * alloc.c (garbage_collect_1):
5410         * emacs.c:
5411         * emacs.c (debug_can_access_memory):
5412         * emacs.c (fatal_error_signal):
5413         * emacs.c (mswindows_handle_hardware_exceptions):
5414         * emacs.c (main_1):
5415         * emacs.c (main):
5416         * emacs.c (assert_failed):
5417         * emacs.c (syms_of_emacs):
5418         * lisp.h:
5419         * print.c:
5420         * print.c (std_handle_out_va):
5421         * print.c (write_string_to_stdio_stream):
5422         * print.c (write_fmt_string):
5423         * print.c (printing_badness):
5424         * print.c (printing_major_badness):
5425         * print.c (print_internal):
5426         * print.c (debug_print_no_newline):
5427         * print.c (debug_backtrace):
5428         Be more defensive in handling bad values when printing.  Add code
5429         from trunk involving inhibit_non_essential_printing_operations.
5430         When going down or in debug_print(), don't do external conversion
5431         and such and try really, really hard when printing to avoid core
5432         dumping.  Add force-debugging-signal, debug_break().
5433
5434 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5435
5436         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5437         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5438
5439 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5440
5441         * database.c: Fix open_database. Berkeley DB API has changed in
5442         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5443
5444 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5445
5446         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5447
5448 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5449
5450         * event-Xt.c (Xt_timeout):
5451         (Xt_timeout_callback):
5452         (emacs_Xt_add_timeout):
5453         (emacs_Xt_remove_timeout):
5454         (Xt_timeout_to_emacs_event):
5455         Turn completed_timeouts from a stack into a queue.  Fixes
5456         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5457
5458 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5459
5460         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5461         * emacs.c (main): Assert that mmap'd allocation is disabled.
5462
5463 2002-10-14  Andy Piper  <andy@xemacs.org>
5464
5465         * glyphs-widget.c (layout_query_geometry): add in fiddle
5466         factor. Include border text in width layout calculation.
5467         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5468
5469 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5470
5471         * XEmacs 21.4.10 "Military Intelligence" is released.
5472
5473 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5474
5475         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5476         using the NAS private array SoundFileInfo that no longer exists in
5477         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5478         and earlier.  This is broken for some versions between 1.5a and
5479         1.5f.
5480
5481 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5482
5483         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5484
5485         * emacs.c (shut_down_emacs): Improve crash message.
5486
5487 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5488
5489         * file-coding.c (determine_real_coding_system): Check for coding
5490         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5491         shebangs and Python PEP 263.
5492
5493 2002-10-08  Andy Piper  <andy@xemacs.org>
5494
5495         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5496         if static sizes haven't been set.
5497
5498 2002-08-30  Mike Alexander  <mta@arbortext.com>
5499
5500         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5501         to close a socket.
5502
5503 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5504
5505         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5506
5507 2002-09-20  Mike Sperber <mike@xemacs.org>
5508
5509         (This partially gets back my patch from 2002-07-20 without the
5510         bug.)
5511         * callproc.c (child_setup): Remove Ben's comment noting confusion
5512         over the file descriptors >= 3: close_process_descs() doesn't
5513         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5514         * process-unix.c (unix_create_process): Call
5515         begin_dont_check_for_quit to inhibit unwanted interaction (and
5516         thus breaking of X event synchronicity) in the child.
5517
5518 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5519
5520         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5521         widget.
5522
5523 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5524
5525         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5526         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5527         the xemacs process did not exit, but looped infinitely here.  This
5528         fixes that problem.
5529
5530 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5531
5532         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5533         (find_context): Improve comments.
5534
5535         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5536         (re_match_2): An XCHAR_TABLE operation was missing.
5537
5538         Many of the following changes were inspired by Andy Piper's (now
5539         obsolete) patch to make syntax-table text property lookup optional.
5540
5541         [Documentation]
5542
5543         * syntax.h (top level): Document semantics of syntax flags.
5544         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5545         * syntax.c, syntax.h (top level): Document syntax cache better in
5546         comments.
5547
5548         [Instrument syntax caching (temporary change)]
5549
5550         * syntax.h (enum syntax_cache_statistics_functions, struct
5551         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5552         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5553         * syntax.c (scan_words, Fforward_comment, scan_lists,
5554         Fbackward_prefix_characters):
5555         * font-lock.c (find_context):
5556         Use them to instrument syntax caching. 
5557         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5558         syntax_cache_statistics_function_names): New type and variables.
5559         * syntax.c (update_syntax_cache): Update and report statistics.
5560
5561         [Major syntax cache optimizations]
5562
5563         syntax.c (lookup_syntax_properties): Default off.
5564
5565         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5566         * syntax.c (update_syntax_cache):
5567         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5568
5569         [Minor syntax cache optimizations and code clarifications]
5570
5571         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5572         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5573         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5574         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5575         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5576         (Code clarification.)
5577
5578         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5579         scan_lists): Compute code from syncode, use Boolean macros instead
5580         of redundant masking operations.  (Code clarification; any decent
5581         compiler can do this optimization.)
5582
5583         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5584         for clarity.
5585
5586         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5587         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5588         use F*_single_property_change instead of F*_extent_change.
5589         Currently F*_single_property_change is _much_ less efficient.
5590
5591         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5592         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5593         syntax_cache.object properly, don't leave Qt or Qnil.
5594         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5595         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5596         tests for Qt or Qnil.
5597
5598 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5599
5600         * redisplay.c (point_in_line_start_cache): 
5601         * extents.c (print_extent_1):
5602         Fix warnings.
5603
5604         * extents.c (Fset_extent_property): Document `syntax-table' property.
5605
5606         * extents.h (Fnext_single_property_change): EXFUN it.
5607
5608 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5609
5610         * search.c (clear_unused_search_regs): New static function.
5611         (search_buffer): 
5612         (simple_search): 
5613         (boyer_moore):
5614         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5615         Minor clarifications in comments.
5616
5617         * regex.c (re_match_2_internal): Ensure no stale submatches.
5618
5619 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5620
5621         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5622
5623 2002-08-29  Jerry James  <james@xemacs.org>
5624
5625         * lisp.h: structrures -> structures.
5626
5627 2002-06-03  Andy Piper  <andy@xemacs.org>
5628
5629         * frame.c (frame_conversion_internal): add conversion appropriate
5630         for setting frame dimensions in pixels.
5631
5632         * console.h (struct console_methods): add device-specific widget
5633         layout functions.
5634
5635         * emacs.c (main_1): initialize glyph vars.
5636
5637         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5638         (handle_focus_event_2): new function. Allow focus to
5639         be set to a particular window and widget.
5640         (enqueue_focus_event): new function. Create a
5641         synthetic focus event.
5642         (emacs_Xt_handle_magic_event): call
5643         handle_focus_event_2.
5644
5645         * frame.c (Fset_frame_pixel_height): new function. Allow
5646         pixel-based sizing. Does the right thing on character-oriented
5647         displays.
5648         (Fset_frame_pixel_width): ditto.
5649         (Fset_frame_pixel_size): ditto.
5650         (syms_of_frame): declare.
5651
5652         * general-slots.h: add :vertically-justify and
5653         :horizontally-justify.
5654
5655         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5656         (mswindows_widget_border_width): new function.
5657         (mswindows_combo_box_instantiate): set border widths.
5658         (console_type_create_glyphs_mswindows): declare.
5659
5660         * glyphs-widget.c:
5661         (check_valid_justification): allow vertical and horizontal
5662         justification.
5663         (widget_border_width): new function. Call device methods.
5664         (widget_instance_border_width): ditto.
5665         (logical_unit_height): new function. Determine the height of a
5666         logical-unit. Logical units are intended to provide grid-like
5667         layout for subcontrols in a layout. If the layout is
5668         :vertically-justify top then subcontrols will be positioned on
5669         logical-unit boundaries, thus allowing adjacent subcontrols to
5670         line up.
5671         (widget_logical_unit_height): ditto for widgets.
5672         (redisplay_widget): misc cleanup.
5673         (widget_spacing): new function. Call device specific
5674         methods. Intended to be the default gap between adjacent widgets.
5675         (widget_query_geometry): use new spacing functions to determine
5676         appropriate geometry.
5677         (initialize_widget_image_instance): initialize horizontal and
5678         vertical justification.
5679         (widget_instantiate): use logica-units where appropriate for
5680         sizing large widgets.
5681         (button_query_geometry): use widget_instance_border_width.
5682         (tree_view_query_geometry): ditto.
5683         (tab_control_query_geometry): ditto.
5684         (edit_field_query_geometry): new function.
5685         (layout_update): pick up :justify, :horizontally-justify and
5686         :vertically-justify none of which worked previously. :justify is
5687         used as a fallback for both horizontal and vertical justification.
5688         (layout_query_geometry): use logical units to size appropriately.
5689         (layout_layout): ditto.
5690         (Fwidget_logical_to_character_width): new function. Allow users to
5691         convert from logical units to characters so that frame sizes can
5692         be set appropriately.
5693         (Fwidget_logical_to_character_height): ditto.
5694         (syms_of_glyphs_widget): declare.
5695         (image_instantiator_edit_fields): add edit_field_query_geometry.
5696         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5697         :horizontally-justify.
5698         (specifier_vars_of_glyphs_widget): new function. Declare
5699         Vwidget_border_width which is not yet used.
5700
5701         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5702         (x_widget_border_width): new function.
5703         (x_widget_instantiate): create a sensible name for widgets.
5704         (console_type_create_glyphs_x): declare x_widget_border_width.
5705
5706         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5707         (struct Lisp_Image_Instance): add :vertically-justify and
5708         :horizontally-justify.
5709         (LAYOUT_JUSTIFY_TOP): new.
5710         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5711         (ROUND_UP): new macro. Round argument up to next integral
5712         interval.
5713
5714         * redisplay-output.c (redisplay_output_layout): misc formatting.
5715
5716         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5717
5718 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5719
5720         * XEmacs 21.4.9 "Informed Management" is released.
5721
5722 2002-08-19  Andy Piper  <andy@xemacs.org>
5723
5724         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5725         win32 format.
5726
5727         * realpath.c (xrealpath): normalize drive spec also so that dir
5728         sep chars are not mixed on cygwin.
5729
5730 2002-08-06  Jerry James  <james@xemacs.org>
5731
5732         * window.c (Fsplit_window): Count only half of the divider width
5733         against the left window when splitting horizontally. 
5734
5735 2002-06-24  Andy Piper  <andy@xemacs.org>
5736
5737         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5738         toolbar was cleared.
5739
5740         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5741         function. Split out from mswindows_output_frame_toolbars.
5742         (mswindows_output_frame_toolbars): move clear pieces to
5743         mswindows_output_frame_toolbars.
5744
5745         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5746         out from gtk_output_frame_toolbars.
5747         (gtk_output_frame_toolbars): move clear pieces to
5748         gtk_clear_frame_toolbars.
5749
5750         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5751         the frame is cleared. How this ever worked before is a mystery.
5752         (x_output_frame_toolbars): Only output toolbars.
5753         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5754
5755         * gutter.c (update_gutter_geometry):
5756         Mark frame layout changed.
5757         (update_frame_gutter_geometry, update_frame_gutters):
5758         Respect frame_layout_changed.
5759
5760         * console.h (struct console_methods): add
5761         clear_frame_toolbars_method.
5762
5763         * redisplay.c (redisplay_frame): call
5764         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5765
5766         * toolbar.h: declare update_frame_toolbars_geometry.
5767
5768         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5769         out from update_frame_toolbars.  Call clear_frame_toolbars.
5770         (update_frame_toolbars): only output, do not change geometry.
5771
5772         * redisplay.c: add frame_layout_changed.
5773
5774         * redisplay.h: add frame_layout_changed.
5775         (CLASS_RESET_CHANGED_FLAGS): set it.
5776         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5777         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5778         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5779
5780         * device.h (struct device): add frame_layout_changed.
5781         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5782
5783         * frame.h (struct frame): add frame_layout_changed.
5784         (MARK_FRAME_LAYOUT_CHANGED): new.
5785
5786 2002-06-30  Mike Alexander  <mta@arbortext.com>
5787
5788         * event-msw.c (mswindows_need_event): Don't wait for a new message
5789         if the queue is not empty.  Suggested by Paul Moore.
5790
5791 2002-06-12  Andy Piper  <andy@xemacs.org>
5792
5793         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5794         for printing on accurately.
5795
5796 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5797
5798         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5799         WM_ACTIVATE message. Make sure that the frame is visible if the
5800         window is visible. This seemss to fix the problem where XEmacs
5801         appears to freeze after switching desktops with certain virtual
5802         window managers.
5803         (debug_output_mswin_message): Added code to output message
5804         parameters for WM_WINDOWPOSCHANGED, 
5805         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5806
5807 2002-05-25  Andy Piper  <andy@xemacs.org>
5808
5809         * select-x.c (vars_of_select_x): Fix docstring of
5810         x-selection-strict-motif-ownership
5811
5812 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5813
5814         * keymap.c (get_keymap):
5815         Add comment about do_autoload GCPROs own args.
5816
5817 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5818
5819         * bytecode.c (execute_optimized_program): check_opcode ifdef
5820         ERROR_CHECK_BYTE_CODE.
5821
5822 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5823
5824         Thanks to Ben Wing and Michael Sperber.
5825
5826         * eval.c (Fcommand_execute):
5827         (Feval):
5828         (Ffuncall):
5829         (Fmacroexpand_internal):
5830         (function_argcount):
5831         callint.c (Fcall_interactively):
5832         Add comment about do_autoload GCPROs own args.
5833
5834         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5835
5836         * eval.c (Ffuncall): Extra braces to placate GCC.
5837
5838 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5839
5840         * backtrace.h (grow_specpdl):
5841         (SPECPDL_RESERVE):
5842         * EmacsFrame.c (EmacsFrameSetValues):
5843         * eval.c (grow_specpdl):
5844         * ExternalShell.c (hack_event_masks_1):
5845         * glyphs-x.c (convert_EImage_to_XImage): 
5846         (x_finalize_image_instance):
5847         * ralloc.c (page_size):
5848         (r_alloc_sbrk):
5849         * xgccache.c (gc_cache_hash):
5850         Fix unsigned comparison warnings.
5851
5852 2002-07-29  Jerry James  <james@xemacs.org>
5853
5854         * lread.c (locate_file): Any nonnegative return value indicates
5855         success if MODE is nonnegative.
5856
5857 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5858
5859         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5860         argument. 
5861
5862 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5863
5864         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5865
5866         * dumper.c (pdump_get_indirect_count):
5867         (pdump_scan_by_alignment):
5868         (pdump_dump_root_struct_ptrs):
5869         (pdump_dump_rtables):
5870         (pdump_dump_root_objects):
5871         (pdump):
5872         * nas.c (WaveOpenDataForReading):
5873         * fns.c (print_bit_vector):
5874         * font-lock.c (SINGLE_SYNTAX_STYLE):
5875         * glyphs.c (check_for_ignored_expose):
5876         (find_matching_subwindow):
5877         * glyphs-eimage.c:
5878         * imgproc.c (get_histogram):
5879         * redisplay.c (point_in_line_start_cache):
5880         * redisplay-output.c (redisplay_unmap_subwindows):
5881         * symbols.c (defsymbol_massage_name_1):
5882         (defkeyword_massage_name):
5883         (deferror_massage_name_and_message):
5884         * redisplay-x.c (x_output_string): 
5885         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5886         * frame.h (struct frame):
5887         * filelock.c (current_lock_owner):
5888         * doprnt.c (emacs_doprnt_1):
5889         * lisp.h (struct Lisp_Bit_Vector):
5890         (DO_REALLOC):
5891         Fix warnings.
5892
5893 2002-02-13  Ben Wing  <ben@xemacs.org>
5894
5895         * event-stream.c (reset_key_echo):
5896         * event-stream.c (reset_this_command_keys):
5897         * event-stream.c (execute_command_event):
5898         If console is dead as a result of C-x 5 0, then post-command stuff
5899         needs to be careful and do only non-console-specific stuff.
5900
5901 2002-07-01  Mike Sperber <mike@xemacs.org>
5902
5903         * process-unix.c (unix_send_process): Mark coding_outstream as
5904         non-open upon SIGPIPE.
5905
5906         * event-stream.c (Fnext_event): Reorder switch cases to something
5907         that makes sense.
5908
5909 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5910
5911         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5912         Don't bogusly reinitialize ascii_character property.
5913
5914 2002-07-08  Mike Sperber <mike@xemacs.org>
5915
5916         * process.c (Fstart_process_internal): Do error checking before we
5917         fork off the child, so the child can't muck with the state of the
5918         parent.
5919
5920 2002-07-08  Mike Sperber <mike@xemacs.org>
5921
5922         * ralloc.c (init_ralloc): Allocate properly for pdump.
5923
5924 2002-06-12  Andy Piper  <andy@xemacs.org>
5925
5926         * glyphs.c (query_string_geometry): check the string.
5927
5928         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5929         widget names.
5930
5931 2002-06-17  Jerry James  <james@xemacs.org>
5932
5933         * sysdll.c: Remove RTLD_GLOBAL initialization.
5934         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5935
5936 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5937
5938         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5939
5940 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5941
5942         * sysdep.c (sys_rename): Make sys_rename work for the case where
5943         Windows rename sets errno to EACCES if target file exists.
5944
5945 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5946
5947         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5948         Fix detection of metric units to work on Win95
5949
5950 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5951
5952         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5953
5954 2002-04-25  Andy Piper  <andy@xemacs.org>
5955
5956         * redisplay.c (create_text_block): Remove extra comment trailer.
5957
5958 2002-04-24  Andy Piper  <andy@xemacs.org>
5959
5960         * redisplay.c (create_text_block): Don't actually add propagation
5961         data if the line ends after we have added a glyph.
5962
5963 2002-04-22  Andy Piper  <andy@xemacs.org>
5964
5965         * extents.c (extent_fragment_update): check for glyphs we have
5966         previously displayed.
5967         * extents.c (print_extent_1): warning removal.
5968         * extents.h: change prototype.
5969         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5970         widths correctly for wide glyphs.
5971         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5972         * redisplay.c (prop_type): add PROP_GLYPH.
5973         * redisplay.c (struct prop_block): add glyph type
5974         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5975         to the propagation data.
5976         * redisplay.c (create_text_block): if there is a glyph in the
5977         propagation data use it to salt extent_fragment_update.
5978         * redisplay.c (create_string_text_block): ditto.
5979
5980 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5981
5982         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5983         * redisplay-output.c (compare_runes): Compare them.
5984         * redisplay.c: Update copyright date.
5985         * redisplay.c (pos_data): Add need_baseline_computation field.
5986         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5987         need_baseline_computation; zero yoffset. Set max_pixmap_height
5988         for all pixmaps, not just automatically positioned ones.
5989         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5990         * redisplay.c (calculate_baseline): New, compute textual baseline.
5991         * redisplay.c (add_glyph_rune): Call them.
5992         * redisplay.c (create_text_block): Likewise.
5993         * redisplay.c (create_overlay_glyph_block): Likewise.
5994         * redisplay.c (add_margin_runes): Likewise.
5995         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5996
5997         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5998         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5999         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6000         * redisplay-msw.c (mswindows_output_string): Likewise.
6001         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6002         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6003         * redisplay-x.c (x_output_display_block): Likewise.
6004
6005 2002-03-28  Ben Wing  <ben@xemacs.org>
6006
6007         * redisplay.c: Fixed bug in redisplay
6008         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6009         and down of the lines, since they're bigger than the line
6010         size. (It was seen most obviously when there's a horizontal scroll
6011         bar, e.g. do C-h a glyph or something like that.) The problem was
6012         that the glyph-contrib-p setting on glyphs was ignored even if it
6013         was set properly, which it wasn't until now.
6014
6015 2002-04-24  Andy Piper  <andy@xemacs.org>
6016
6017         * lisp.h (Dynarr_end): Fix definition.
6018
6019 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6020
6021         * redisplay.c (mark_redisplay): Remove call to
6022         update_frame_window_mirror.
6023
6024 2001-11-15  Andy Piper  <andy@xemacs.org>
6025
6026         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6027         cygwin (again).
6028
6029 2002-02-13  Andy Piper  <andy@xemacs.org>
6030
6031         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6032         we did in fact enqueue the XM_MAPFRAME event.
6033
6034 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6035
6036         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6037         to fix problem switching between virtual desktops under virtuawin
6038         virtual window manager.
6039
6040 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6041
6042         * event-msw.c: Typo fix.
6043         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6044         magic XM_MAPFRAME event has been sent.
6045
6046 2001-11-23  Andy Piper  <andy@xemacs.org>
6047
6048         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6049
6050 2001-11-21  Andy Piper  <andy@xemacs.org>
6051
6052         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6053         mouse events outside the frame.
6054
6055 2002-03-20  Andy Piper  <andy@xemacs.org>
6056
6057         * menubar-msw.c (mswindows_popup_menu): warning removal.
6058         * dialog-msw.c (dialog_popped_down): ditto.
6059
6060 2001-12-11  Andy Piper  <andy@xemacs.org>
6061
6062         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6063         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6064         popup_up_p.
6065         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6066         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6067         * menubar-msw.c (mswindows_popup_menu): ditto.
6068
6069 2001-10-29  Andy Piper  <andy@xemacs.org>
6070
6071         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6072         cancels.
6073
6074 2002-01-03  Andy Piper  <andy@xemacs.org>
6075
6076         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6077         letters.
6078         (xrealpath): ditto.
6079
6080 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6081
6082         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6083         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6084         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6085         Detect and handle case where machine is set up for metric units
6086
6087 2002-04-02  Andy Piper  <andy@xemacs.org>
6088
6089         * dired-msw.c (mswindows_get_files): 
6090         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6091         completely handled by XEmacs. Suggested by Thomas Vogler
6092         <mail@thomas-vogler.de>.
6093
6094 2001-11-14  Andy Piper  <andy@xemacs.org>
6095
6096         * nt.c (REG_ROOT): change registry key to XEmacs.
6097
6098 2002-04-27  Andy Piper  <andy@xemacs.org>
6099
6100         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6101
6102 2002-04-26  Andy Piper  <andy@xemacs.org>
6103
6104         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6105         behavior.
6106
6107 2002-03-14  Mike Alexander  <mta@arbortext.com>
6108
6109         * event-msw.c (mswindows_unwait_process): New, remove process from
6110         wait list
6111         * process-nt.c (nt_finalize_process_data): Call
6112         mswindows_unwait_process
6113         * console-msw.h: Declare mswindows_unwait_process
6114
6115 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6116
6117         * editfns.c (Fdecode_time):
6118         (Fformat_time_string):
6119         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6120         (make_time): Warning elimination (change arg name).
6121
6122 2001-11-24  Andy Piper  <andy@xemacs.org>
6123
6124         * window.c (Fsplit_window): Doc return type.
6125
6126 2002-04-01  Andy Piper  <andy@xemacs.org>
6127
6128         * emacs.c (Fkill_emacs): Only output message box in interactive
6129         mode.
6130
6131 2002-04-26  Andy Piper  <andy@xemacs.org>
6132  
6133         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6134         cygwin.
6135
6136 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6137
6138         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6139         bit platform.
6140
6141 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6142
6143         * XEmacs 21.4.8 "Honest Recruiter" is released.
6144
6145 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6146
6147         Supersedes 2002-04-17 patch.
6148
6149         * process.h (PROCESS_LIVE_P): Use the process status as
6150         evidence of health, not the state of the input stream.
6151         (PROCESS_READABLE_P): Say if the process is readable
6152         from. (It may be dead nonetheless.)
6153         (CHECK_READABLE_PROCESS): Test for that condition.
6154
6155         * process.c (create_process): Use PROCESS_READABLE_P.
6156         (read_process_output, set_process_filter): Likewise.
6157
6158         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6159         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6160
6161         This code is #if 0'd, this is not the time to add new functions:
6162
6163         * process.c (Fprocess_readable_p): Report readability status.
6164         * process.c (Qprocess_readable_p): New, associated symbol...
6165         * process.c (syms_of_process): ... initialize it.
6166
6167 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6168
6169         * XEmacs 21.4.7 "Economic Science" is released.
6170
6171 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6172
6173         * process.h (PROCESS_LIVE_P): Use the process status as
6174         evidence of health, not the state of the input stream.
6175
6176 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6177
6178         * sysdep.c (sys_siglist): change "signum" to "signal"
6179
6180 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6181
6182         * s/darwin.h: New file.
6183         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6184         
6185 2002-04-23  Andreas Jaeger  <aj@suse.de>
6186
6187         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6188         which use lib64 for 64-bit libs.
6189         (START_FILES): Likewise.
6190
6191 2002-02-11  Mike Sperber  <mike@xemacs.org>
6192
6193         * device-x.c: 
6194         (x_IO_error_handler):
6195         (x_init_device): Temporarily keep device in static variable
6196         `device_being_initialized' so we can recover gracefully from
6197         internal XOpenDevice failure.  (XOpenDevice is documented to
6198         return NULL on failure, but sometimes calls the IO error handler
6199         instead.)
6200
6201 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6202
6203         * dired.c (Ffile_name_all_completions): Change documentation --
6204         remove reference to completion-ignored-extensions.
6205         * dired.c (vars_of_dired): Change documentation for
6206         completion-ignored-extensions -- remove reference to
6207         file-name-all-completions.
6208
6209 2002-03-06  Jerry James  <james@xemacs.org>
6210
6211         * emodules.c (emodules_load): Fix multiple loading of same module.
6212
6213 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6214         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6215         RTLD_LAZY to avoid incorrect symbol binding when using nested
6216         shared libraries on Solaris.
6217
6218 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6219
6220         * fileio.c (Ffind_file_name_handler): Improve docstring.
6221
6222 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6223
6224         * fns.c (Fmapconcat): Improve docstring.
6225
6226 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6227
6228         * device-gtk.c: Add prototype for
6229         emacs_gtk_selection_clear_event_handle.
6230         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6231         selection.  Setup signal handler for "selection_clear_event"
6232         (emacs_gtk_selection_clear_event_handle).
6233
6234         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6235         other applications owning the clipboard (based on
6236         x_handle_selection_clear).
6237
6238 2001-12-23  William M. Perry  <wmperry@gnu.org>
6239
6240         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6241         
6242 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6243
6244         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6245
6246 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6247
6248         * XEmacs 21.4.6 "Common Lisp" is released.
6249
6250 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6251
6252         * search.c (Freplace_match): Add missing sub-expression functionality.
6253
6254         * buffer.c (decode_buffer): Add a check for pointer type to
6255         decode_buffer, before gcc's CSE optimization reorders a
6256         dereference in front of the allow_string test.
6257
6258 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6259
6260         * window.c (window_loop): Fix bug that sometimes prevented
6261         window_loop() from iterating across multiple devices.  Also, at
6262         Ben's request, changed infloop-detecting code to abort() instead
6263         of silently terminating window_loop().
6264
6265 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6266
6267         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6268         * editfns.c (make_time): New function.
6269         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6270         * lisp.h (make_time): Prototype and comment it.
6271         * dired.c (wasteful_word_to_lisp): Deprecate.
6272         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6273
6274 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6275
6276         * fileio.c (auto_save_1): Use current coding system, not
6277         escape-quoted.
6278
6279 2001-11-13  Ben Wing  <ben@xemacs.org>
6280
6281         * window.c:
6282         * window.c (window_truncation_on):
6283         * window.c (syms_of_window):
6284         truncate-partial-width-windows should respect the buffer being
6285         displayed, like other redisplay vars.
6286
6287 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6288
6289         * event-stream.c (Fread_key_sequence): save current buffer.
6290
6291 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6292
6293         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6294
6295 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6296
6297         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6298
6299 2001-10-26  Mike Alexander  <mta@arbortext.com>
6300
6301         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6302
6303 2001-10-25  Andy Piper  <andy@xemacs.org>
6304
6305         * ChangeLog:
6306         * dialog-msw.c (handle_directory_proc): new function.
6307          (handle_directory_dialog_box): new fucntion.
6308          (handle_file_dialog_box): use new directory dialog support.
6309          (mswindows_make_dialog_box_internal): ditto.
6310         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6311         handling.
6312         (mswindows_find_frame): make global.
6313         * fileio.c (Fexpand_file_name): build fix.
6314         * general-slots.h: add Qdirectory.
6315         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6316         handling.
6317         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6318         cygwin not leaving win32 paths unchanged.
6319         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6320         cygwin runtime to do path conversion.
6321         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6322         (syms_of_win32): add new function.
6323         * window.c (window_loop): build fix.
6324
6325 2001-10-15  Andy Piper  <andy@xemacs.org>
6326
6327         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6328
6329 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6330
6331         * XEmacs 21.4.5 "Civil Service" is released.
6332
6333 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6334
6335         * glyphs-x.c: Force buffer-tab highlight update when moving the
6336         buffer, avoiding an ugly black border, used for keyboard focus
6337         indication, on a widget that can never have keyboard focus, the
6338         buffer tab.
6339
6340 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6341
6342         * process-unix.c (unix_open_multicast_group): Remove too much
6343         conversion between host and network byte order.
6344
6345 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6346
6347         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6348         before replacing them.
6349
6350         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6351         operation.
6352
6353         * src/window.c (undedicate_windows): Use it.
6354         * src/window.h: Add prototype.
6355
6356 2001-09-17  Ben Wing  <ben@xemacs.org>
6357
6358         * fileio.c (normalize_filename):
6359         * fileio.c (Fexpand_file_name):
6360         Fix various C++ compile errors in Andy's recent code.
6361         
6362         * callint.c (Fcall_interactively):
6363         * editfns.c (Ftemp_directory):
6364         * editfns.c (Fuser_full_name):
6365         * emacs.c (argmatch):
6366         * lread.c (locate_file_map_suffixes):
6367         * redisplay-x.c (x_ring_bell):
6368         Fix sign-compare warnings.
6369         
6370 2001-09-08  Andy Piper  <andy@xemacs.org>
6371
6372         * fileio.c (normalize_filename): copied from nt.c
6373         * (Ffile_name_directory): enable win32 paths under cygwin.
6374         * (Ffile_name_nondirectory): ditto.
6375         * (directory_file_name): ditto.
6376         * (Fexpand_file_name): ditto.
6377         * (Ffile_truename): ditto.
6378         * (Fsubstitute_in_file_name): ditto.
6379         * (Ffile_name_absolute_p): ditto.
6380         * (Ffile_readable_p): ditto.
6381
6382 2001-09-08  Andy Piper  <andy@xemacs.org>
6383
6384         * device-msw.c (mswindows_finish_init_device): remove dde
6385         initialization.
6386         * device-msw.c (mswindows_init_dde): factor out from
6387         mswindows_finish_init_device()
6388         * device-msw.c (init_mswindows_very_early): new function
6389         initialize but don't enable dde.
6390         * emacs.c (main_1): call init_mswindows_very_early.
6391         * event-msw.c:
6392         * event-msw.c (mswindows_dde_callback): only execute when we are
6393         ready.
6394         * symsinit.h: declare init_mswindows_very_early.
6395
6396 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6397
6398         [sjt: This has been in 21.5 for months with no complaints.]
6399
6400         * console.h (struct console_methods): Added flags member.
6401         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6402         (CONMETH_IMPL_FLAG):
6403         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6404         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6405
6406         * device.c (window_system_pixelated_geometry): Use the above macros.
6407
6408         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6409         implememntation flag.
6410         * device.h (DEVICE_DISPLAY_P): Use it.
6411
6412         * frame.c (delete_frame_internal): Use the above macro.
6413
6414         * redisplay.c (redisplay_device): Use it.
6415         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6416         (redisplay_frame): Ditto.
6417
6418         * device-msw.c (mswindows_device_implementation_flags): Removed.
6419         (msprinter_device_implementation_flags): Removed.
6420         (console_type_create_device_mswindows): Removed references to
6421         implementation_flags methods, set implementation flags here.
6422         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6423
6424         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6425         (console_type_create_device_gtk): Removed method declaration.
6426         Added commented out statement which semantically matches the
6427         commented out statement in the above removed method.
6428
6429 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6430
6431         The attached patch fixes a few warnings. 
6432
6433         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6434         * src/frame-gtk.c: guard against GNOME calls in GTK only
6435         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6436         * src/select-gtk.c: prototype lisp_to_time
6437
6438 2001-06-08  Ben Wing  <ben@xemacs.org>
6439
6440         ------ gc-in-window-procedure fixes ------
6441         
6442         * alloc.c:
6443         * alloc.c (struct post_gc_action):
6444         * alloc.c (register_post_gc_action):
6445         * alloc.c (run_post_gc_actions):
6446         * alloc.c (garbage_collect_1):
6447         Create "post-gc actions", to avoid those dreaded "GC during window
6448         procedure" problems.
6449
6450         * event-msw.c:
6451         Abort, clean and simple, when GC in window procedure.  We want
6452         to flush these puppies out.
6453
6454         * glyphs-msw.c:
6455         * glyphs-msw.c (finalize_destroy_window):
6456         * glyphs-msw.c (mswindows_finalize_image_instance):
6457         Use a post-gc action when destroying subwindows.
6458
6459         * lisp.h:
6460         Declare register_post_gc_action().
6461
6462         * scrollbar-msw.c:
6463         * scrollbar-msw.c (unshow_that_mofo):
6464         Use a post-gc action when unshowing scrollbar windows, if in gc.
6465
6466         * redisplay.c (mark_redisplay):
6467         Add comment about the utter evilness of what's going down here.
6468
6469         ------ cygwin setitimer fixes ------
6470         
6471         * Makefile.in.in (sheap_objs):
6472         * Makefile.in.in (profile_objs):
6473         * Makefile.in.in (objs):
6474         Compile profile.c only when HAVE_SETITIMER.
6475         
6476         * nt.c (mswindows_sigset):
6477         * nt.c (mswindows_sighold):
6478         * nt.c (mswindows_sigrelse):
6479         * nt.c (mswindows_sigpause):
6480         * nt.c (mswindows_raise):
6481         * nt.c (close_file_data):
6482         Style fixes.
6483         
6484         * nt.c:
6485         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6486         
6487         * profile.c:
6488         * profile.c (Fstart_profiling):
6489         * profile.c (Fstop_profiling):
6490         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6491         instead of just plain setitimer().
6492         
6493         * signal.c:
6494         * signal.c (set_one_shot_timer):
6495         * signal.c (alarm):
6496         Define qxe_setitimer() as an encapsulation around setitimer() --
6497         call setitimer() directly unless Cygwin or MS Win, in which case
6498         we use our simulated version in win32.c.
6499         
6500         * systime.h:
6501         * systime.h (struct itimerval):
6502         * systime.h (ITIMER_REAL):
6503         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6504         comment about "qxe" and the policy regarding encapsulation.
6505
6506         * win32.c:
6507         * win32.c (setitimer_helper_proc):
6508         * win32.c (setitimer_helper_period):
6509         * win32.c (setitimer_helper):
6510         * win32.c (mswindows_setitimer):
6511         Move setitimer() emulation here, so Cygwin can use it.
6512         Rename a couple of functions and variables to be longer and more
6513         descriptive.  In setitimer_helper_proc(), send the signal
6514         using either mswindows_raise() or (on Cygwin) kill().  If for
6515         some reason we are still getting lockups, we'll change the kill()
6516         to directly invoke the signal handlers.
6517
6518         ------ windows shell fixes ------
6519         
6520         * callproc.c:
6521         * ntproc.c:
6522         Comments about how these two files must die.
6523
6524         * callproc.c (init_callproc):
6525         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6526         not just COMSPEC. (more correct and closer to FSF.) Don't
6527         force a value for SHELL into the environment. (Comments added
6528         to explain why not.)
6529         
6530         * nt.c (init_user_info):
6531         Don't shove a fabricated SHELL into the environment.  See above.
6532
6533 2001-06-01  Ben Wing  <ben@xemacs.org>
6534
6535         * Makefile.in.in (ldflags):
6536         eliminate that pesky "defaulting to 00401000" warning.
6537         * nt.h:
6538         eliminate warnings.
6539
6540 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6541
6542         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6543         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6544
6545 2001-04-24  Jerry James <james@xemacs.org>
6546
6547         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6548         correct order.
6549
6550 2001-06-01  Ben Wing  <ben@xemacs.org>
6551
6552         * event-msw.c (debug_mswin_messages):
6553         conditionalize the messages that were causing compile errors.
6554         (if only macros could generate #ifdef statements ...)
6555
6556 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6557
6558         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6559
6560 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6561
6562         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6563
6564 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6565
6566         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6567         * process-unix.c (unix_canonicalize_host_name):
6568         sysdep.c (init_system_name):
6569         Use it to conditionally support IPv6 canonicalization.
6570
6571 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6572
6573         * event-msw.c:
6574         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6575
6576 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6577
6578         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6579         attempt is made to scroll when no scroll bar is available.
6580
6581 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6582
6583         * input-method-motif.c (XIM_delete_frame): New callback.
6584         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6585         got deleted from 21.4.3.)
6586
6587 2001-06-01  Ben Wing  <ben@xemacs.org>
6588
6589         * nt.c (mswindows_utime):
6590         * nt.c (close_file_data):
6591         fix off-by-one-indirection error.
6592
6593 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6594
6595         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6596         because set_file_times() now takes Lisp_Object path, instead of
6597         char*.
6598         * nt.c: Include buffer.h.
6599         * nt.c (convert_from_time_t): New.
6600         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6601         not set mtime correctly.
6602         * nt.h: Declare mswindows_utime().
6603         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6604         path, instead of char*.
6605         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6606
6607 2001-05-30  Ben Wing  <ben@xemacs.org>
6608
6609         For 21.4:
6610
6611         (Stephen, just take all event-msw.c patches.  This includes
6612         the "iconify" fix below.)
6613
6614         * event-msw.c:
6615         * event-msw.c (mswindows_dequeue_dispatch_event):
6616         * event-msw.c (assert):
6617         * event-msw.c (emacs_mswindows_quit_p):
6618         * event-msw.c (debug_mswin_messages):
6619         * event-msw.c (debug_output_mswin_message):
6620         * event-msw.c (vars_of_event_mswindows):
6621         Fix yet more problems with C-g handling.
6622         Implement debug-mswindows-events.
6623         
6624 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6625
6626         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6627         
6628 2001-05-23  Ben Wing  <ben@xemacs.org>
6629
6630         * event-msw.c (winsock_writer):
6631         * event-msw.c (winsock_closer):
6632         prior kludgy code was clobbering the buffer, thinking it was
6633         "unused" space to store an unneeded return value; instead, use
6634         the variable we've already got staring us in the face.
6635
6636 2001-05-17  Andy Piper  <andy@xemacs.org>
6637
6638         * sysfile.h: don't assume that file attributes are boolean
6639
6640 2001-05-23  Ben Wing  <ben@xemacs.org>
6641
6642         * device-msw.c (msprinter_init_device):
6643         signal an error rather than crash with an unavailable network
6644         printer (from Mike Alexander).
6645         
6646         * event-msw.c:
6647         * event-msw.c (struct winsock_stream):
6648         * event-msw.c (winsock_writer):
6649         * event-msw.c (winsock_closer):
6650         * event-msw.c (make_winsock_stream_1):
6651         cleanup headers.  fix (hopefully) an error with data corruption
6652         when sending to a network connection.
6653
6654         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6655         to handle the ~user prefix by (a) always assuming we're referencing
6656         ourselves and not even verifying the user -- hence any file with
6657         a tilde as its first char is invalid! (b) if there wasn't a slash
6658         following the filename, the pointer was set *past* the end of
6659         file and we started reading from uninitialized memory.  Now we
6660         simply treat these as files, always.
6661
6662         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6663         
6664 2001-05-19  Ben Wing  <ben@xemacs.org>
6665
6666         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6667
6668         * process-nt.c:
6669         * process-nt.c (vars_of_process_nt):
6670         remove unused mswindows-quote-process-args.  rec for 21.4.
6671         
6672 2001-05-12  Ben Wing  <ben@xemacs.org>
6673
6674         * event-msw.c (mswindows_dde_callback):
6675         * event-msw.c (mswindows_wnd_proc):
6676         eliminate cygwin warnings.
6677
6678 2001-05-06  Ben Wing  <ben@xemacs.org>
6679
6680         * console-msw.h:
6681         * device-msw.c:
6682         * device-msw.c (print_dialog_worker):
6683         * device-msw.c (mswindows_handle_print_dialog_box):
6684         * device-msw.c (syms_of_device_mswindows):
6685         * dialog-msw.c (mswindows_make_dialog_box_internal):
6686         * general-slots.h:
6687         implement printing the selection when it's selected.
6688
6689 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6690
6691         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6692
6693 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6694
6695         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6696         EMACS_INT is signed.
6697
6698 2001-04-15  Michael Lausch  <mla@1012surf.net>
6699
6700         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6701         gtk_widget_request_size() to give scrollbar >0 width for
6702         GTK >1.2.8.
6703
6704 2001-05-30  William M. Perry  <wmperry@gnu.org>
6705
6706         * event-gtk.c: Check for buttons as modifier keys.
6707
6708 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6709
6710         * s\mingw32.h:
6711         Properly find MinGW's <process.h> inside Cygwin's restructured
6712         include directories.  Don't try to include <cygwin/version.h>
6713         since we are dropping support for MinGW in versions of Cygwin
6714         earlier than b21.
6715         * nt.c:
6716         Drop support for MinGW in versions of Cygwin before b21.
6717         * sysdep.c:
6718         Properly find MinGW's <process.h> inside Cygwin's restructured
6719         include directories.
6720         * syswindows.h:
6721         Drop support for MinGW in versions of Cygwin before b21.
6722         * unexcw.c:
6723         Even though a.out.h is no longer detected by configure, allow
6724         MinGW to use it until we figure out how to do the job with Win32.
6725
6726 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6727
6728         * syntax.c (find_start_of_comment):
6729         Fix `unbalanced parentheses' bug when dealing with mixed comment
6730         styles in c++/java/etc. mode
6731
6732 2001-05-29  Mike Alexander  <mta@arbortext.com>
6733
6734         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6735         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6736
6737 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6738
6739         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6740
6741 2001-03-31  Mike Sperber <mike@xemacs.org>
6742
6743         * search.c (Freplace_match): Support FSF-style specification of
6744         match subexpression when applied to a buffer.
6745
6746 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6747
6748         * event-stream.c (is_scrollbar_event): add missing semicolon
6749
6750 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6751
6752         * Makefile.in.in: Use TAR macro instead of hardcoding
6753           tar.  Allows use of GNU tar instead of system tar
6754
6755 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6756
6757         * event-stream.c (is_scrollbar_event): add missing semicolon
6758
6759 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6760
6761         * XEmacs 21.4.3 "Academic Rigor" is released.
6762
6763 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6764
6765         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6766
6767 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6768
6769         * buffer.c (Vcase_fold_search): Remove obsolete
6770           comment about non ASCII case-fold-search.  This
6771           bug has been fixed by case-table changes.
6772
6773 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6774
6775         * event-msw.c: Restore include of events-mod.h.
6776
6777 2001-04-22   zhaoway  <zw@debian.org>
6778
6779         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6780         !HAVE_SCROLLBARS.
6781
6782 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6783
6784         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6785
6786 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6787
6788         * mule-charset.c (Fmake_charset): Add missing else.
6789
6790 2001-04-23  Ben Wing  <ben@xemacs.org>
6791
6792         * event-msw.c (FAKE_MOD_QUIT):
6793         * event-msw.c (mswindows_dequeue_dispatch_event):
6794         * event-msw.c (mswindows_wnd_proc):
6795         * event-msw.c (emacs_mswindows_quit_p):
6796         Get critical quit working.
6797
6798 2001-05-05  Ben Wing  <ben@xemacs.org>
6799
6800         * console-msw.h:
6801         * device-msw.c:
6802         * device-msw.c (mswindows_get_default_margin):
6803         * frame-msw.c (mswindows_size_frame_internal):
6804         * frame-msw.c (msprinter_init_frame_1):
6805         * frame-msw.c (vars_of_frame_mswindows):
6806         Change top/bottom margin defaults to 0.5 inches.
6807
6808 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6809
6810         Fix link error with gcc 3.0 on Linux.
6811         * terminfo.c (UP): Remove.
6812         * terminfo.c (BC): Remove.
6813         * terminfo.c (PC): Remove.
6814         They weren't used, and in any case, these symbols should be
6815         defined in the *library*.
6816
6817 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6818
6819         * s/aix4.h: Fix crash with xlc -O3.
6820         Improve comment explaining how -O3 works.
6821
6822 2001-04-15  Ben Wing  <ben@xemacs.org>
6823
6824         * event-stream.c:
6825         * event-stream.c (Fnext_event):
6826         * event-stream.c (is_scrollbar_event):
6827         * event-stream.c (execute_command_event):
6828         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6829         crash' problem.  His fix introduces other problems.  We filter
6830         out scrollbar events specifically, making them somewhat invisible
6831         to command-building, and not appearing in `this-command-keys'.
6832         More work is still needed (see comments in event-stream.c), but
6833         this fixes all the major problems.
6834
6835 2001-04-20  Ben Wing  <ben@xemacs.org>
6836
6837         * .cvsignore: Added stuff for Windows.
6838
6839 2001-04-28  Ben Wing  <ben@xemacs.org>
6840
6841         * buffer.c (Ferase_buffer):
6842         * editfns.c (buffer_insert1):
6843         * editfns.c (Finsert_before_markers):
6844         * editfns.c (Finsert_string):
6845         * editfns.c (Finsert_char):
6846         * editfns.c (Fdelete_region):
6847         * editfns.c (Fwiden):
6848         * editfns.c (Fnarrow_to_region):
6849         remove bogus lines setting zmacs_region_stays to 0.
6850         
6851 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6852
6853         * process-unix.c (unix_open_network_stream): If connect() fails
6854         invalidate file descriptor after closing it.
6855
6856 2001-03-08  Mike Alexander  <mta@arbortext.com>
6857
6858         * event-msw.c (mswindows_need_event_in_modal_loop):
6859         Don't dispatch a message if we didn't get one.
6860         (mswindows_need_event):
6861         Terminate the correct process when one exits instead of the first
6862         one on Vprocess_list and look for process termination when in
6863         mswindows_protect_modal_loop.
6864
6865 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6866
6867         * XEmacs 21.4.1 "Copyleft" is released.
6868
6869 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6870
6871         * input-method-motif.c (XIM_delete_frame): New callback.
6872         (XIM_init_frame): Register it.
6873
6874 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6875
6876         * XEmacs 21.4.0 "Solid Vapor" is released.
6877
6878 2001-04-15  Ben Wing  <ben@xemacs.org>
6879
6880         * cmdloop.c (call_command_loop):
6881         Fix braino in bit-rotting code.
6882         
6883 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6884
6885         * extents.c (Fset_extent_endpoints): Force creation of extent info
6886         in buffer_or_string.
6887
6888         * extents.c (process_extents_for_insertion_mapper): Correctly
6889         check for open-open zero-length extents.
6890
6891 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6892
6893         * lisp.h: New typedefs Memory_count, Element_count.
6894         * regex.c:
6895         * regex.h:
6896         Sign-compare warning elimination: several unsigned -> signed.
6897         Based on work by Ben Wing <ben@xemacs.org>.
6898
6899 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6900
6901         * XEmacs 21.2.47 "Zephir" is released.
6902
6903 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6904
6905         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6906
6907 2001-04-03  Mike Sperber <mike@xemacs.org>
6908
6909         * search.c: Revert previous patch due because of release.
6910
6911 2001-03-30  Ben Wing  <ben@xemacs.org>
6912
6913         * s\cygwin32.h:
6914         Add missing killpg prototype.
6915
6916         * elhash.c:
6917         Add a comment about fixing problems when a new entry is added
6918         while mapping.
6919
6920         * frame-msw.c (mswindows_init_frame_1):
6921         Fix compile warnings.
6922
6923         * menubar.c (vars_of_menubar):
6924         Provide `menu-accelerator-support' to indicate that we properly
6925         support %_ in menu specifications, so that package code can
6926         conditionalize on this (and remove %_ from menu specifications
6927         on older versions).
6928
6929         * event-msw.c:
6930         * scrollbar-msw.c:
6931         * scrollbar-msw.c (can_scroll):
6932         * scrollbar-msw.h:
6933         Fix handling of mouse wheel under Windows to follow standards --
6934         now scrolls window under pointer, not selected window.
6935
6936 2001-03-31  Mike Sperber <mike@xemacs.org>
6937
6938         * search.c (Freplace_match): Support FSF-style specification of
6939         match subexpression when applied to a buffer.
6940
6941 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6942
6943         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6944         function to modify KEYMAP, so map over a copy of the hash table.
6945
6946 2001-03-21  Martin Buchholz <martin@xemacs.org>
6947
6948         * XEmacs 21.2.46 "Urania" is released.
6949
6950 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6951
6952         * realpath.c (xrealpath): Make file-truename work with symlinks to
6953         /cygdrive paths on cygwin. Always lowercase drive-letters on
6954         native windows.
6955         (cygwin_readlink): Don't try to find canonical filename unless
6956         file exists.
6957
6958 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6959
6960         * ChangeLog: Log GTK merge.
6961
6962         * dumper.c:
6963         * select-x.c:
6964         * specifier.c:
6965         * symeval.h:
6966         Revert gratuitous whitespace changes from GTK merge.
6967
6968         * emacs.c: Document end of complex #ifdef @ l. 1495.
6969
6970
6971 2001-03-12  Andy Piper  <andy@xemacs.org>
6972
6973         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6974         have to do likewise.
6975
6976 2001-03-12  Andy Piper  <andy@xemacs.org>
6977
6978         * sysdep.c: we only support mingw now.
6979
6980 2001-03-09  Andy Piper  <andy@xemacs.org>
6981
6982         * unexcw.c (copy_executable_and_dump_data_section): making approx
6983         overrun a warning only.
6984
6985 2001-03-10  William M. Perry  <wmperry@aventail.com>
6986
6987         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6988         satisfy Stephen's identical-after-cpp plea.
6989
6990 2001-03-02  Ben Wing  <ben@xemacs.org>
6991
6992         * cmds.c:
6993         * cmds.c (Fforward_char):
6994         * syntax.c:
6995         * window.c:
6996
6997         Augment documentation of the most common motion commands to make
6998         note of the shifted-motion support.
6999         
7000 2001-03-02  Ben Wing  <ben@xemacs.org>
7001
7002         * nt.c (mswindows_fstat):
7003         * nt.c (mswindows_stat):
7004         * search.c (boyer_moore):
7005         Fix compile warnings under Windows.
7006         
7007         * sysdep.c (sys_readdir):
7008         Fix buggy filename-conversion code under Mule.
7009
7010 2001-03-09  William M. Perry  <wmperry@aventail.com>
7011
7012         * Makefile.in.in:
7013         * config.h.in:
7014         * console.c:
7015         * console.h:
7016         * device.c:
7017         * device.h:
7018         * dragdrop.c:
7019         * emacs.c:
7020         * event-stream.c:
7021         * events.c:
7022         * events.h:
7023         * faces.c:
7024         * frame.h:
7025         * general-slots.h:
7026         * glyphs.c:
7027         * gutter.c:
7028         * inline.c:
7029         * lisp.h:
7030         * lrecord.h:
7031         * make-src-depend:
7032         * redisplay-output.c:
7033         * redisplay.c:
7034         * symsinit.h:
7035         * sysfile.h:
7036         * toolbar.c:
7037         * window.c:
7038         The Great GTK Merge.
7039
7040         * ChangeLog.GTK:
7041         * console-gtk.c:
7042         * console-gtk.h:
7043         * device-gtk.c:
7044         * emacs-marshals.c:
7045         * emacs-widget-accessors.c:
7046         * event-gtk.c:
7047         * frame-gtk.c:
7048         * gccache-gtk.c:
7049         * gccache-gtk.h:
7050         * glade.c:
7051         * glyphs-gtk.c:
7052         * glyphs-gtk.h:
7053         * gtk-glue.c:
7054         * gtk-xemacs.c:
7055         * gtk-xemacs.h:
7056         * gui-gtk.c:
7057         * gui-gtk.h:
7058         * menubar-gtk.c:
7059         * native-gtk-toolbar.c:
7060         * objects-gtk.c:
7061         * objects-gtk.h:
7062         * redisplay-gtk.c:
7063         * scrollbar-gtk.c:
7064         * scrollbar-gtk.h:
7065         * select-gtk.c:
7066         * toolbar-gtk.c:
7067         * ui-byhand.c:
7068         * ui-gtk.c:
7069         * ui-gtk.h:
7070         The Great GTK Merge: new files.
7071
7072 2001-02-26  Ben Wing  <ben@xemacs.org>
7073
7074         Reapplied Lstream change.
7075
7076 2001-02-26  Ben Wing  <ben@xemacs.org>
7077
7078         Undid the last change, since it is more controversial than I
7079         thought.  It should be back in at some point soon.
7080         
7081 2001-02-25  Ben Wing  <ben@xemacs.org>
7082
7083         * buffer.c:
7084         * callproc.c (Fold_call_process_internal):
7085         * event-msw.c (ntpipe_slurp_reader):
7086         * event-msw.c (ntpipe_shove_writer):
7087         * event-msw.c (winsock_reader):
7088         * event-msw.c (winsock_writer):
7089         * file-coding.c:
7090         * file-coding.c (detect_eol_type):
7091         * file-coding.c (detect_coding_type):
7092         * file-coding.c (determine_real_coding_system):
7093         * file-coding.c (Fdetect_coding_region):
7094         * file-coding.c (decoding_reader):
7095         * file-coding.c (decoding_writer):
7096         * file-coding.c (mule_decode):
7097         * file-coding.c (Fdecode_coding_region):
7098         * file-coding.c (encoding_reader):
7099         * file-coding.c (encoding_writer):
7100         * file-coding.c (mule_encode):
7101         * file-coding.c (Fencode_coding_region):
7102         * file-coding.c (detect_coding_sjis):
7103         * file-coding.c (decode_coding_sjis):
7104         * file-coding.c (encode_coding_sjis):
7105         * file-coding.c (detect_coding_big5):
7106         * file-coding.c (decode_coding_big5):
7107         * file-coding.c (encode_coding_big5):
7108         * file-coding.c (detect_coding_ucs4):
7109         * file-coding.c (decode_coding_ucs4):
7110         * file-coding.c (encode_coding_ucs4):
7111         * file-coding.c (detect_coding_utf8):
7112         * file-coding.c (decode_coding_utf8):
7113         * file-coding.c (encode_coding_utf8):
7114         * file-coding.c (detect_coding_iso2022):
7115         * file-coding.c (decode_coding_iso2022):
7116         * file-coding.c (encode_coding_iso2022):
7117         * file-coding.c (decode_coding_no_conversion):
7118         * file-coding.c (encode_coding_no_conversion):
7119         * glyphs-x.c (write_lisp_string_to_temp_file):
7120         * gpmevent.c (tty_get_foreign_selection):
7121         * lisp.h:
7122         * lstream.c:
7123         * lstream.c (Lstream_flush_out):
7124         * lstream.c (Lstream_adding):
7125         * lstream.c (Lstream_write_1):
7126         * lstream.c (Lstream_write):
7127         * lstream.c (Lstream_raw_read):
7128         * lstream.c (Lstream_read_more):
7129         * lstream.c (Lstream_read):
7130         * lstream.c (Lstream_unread):
7131         * lstream.c (Lstream_fputc):
7132         * lstream.c (stdio_reader):
7133         * lstream.c (stdio_writer):
7134         * lstream.c (filedesc_reader):
7135         * lstream.c (filedesc_writer):
7136         * lstream.c (lisp_string_reader):
7137         * lstream.c (struct fixed_buffer_stream):
7138         * lstream.c (make_fixed_buffer_input_stream):
7139         * lstream.c (make_fixed_buffer_output_stream):
7140         * lstream.c (fixed_buffer_reader):
7141         * lstream.c (fixed_buffer_writer):
7142         * lstream.c (struct resizing_buffer_stream):
7143         * lstream.c (resizing_buffer_writer):
7144         * lstream.c (dynarr_writer):
7145         * lstream.c (lisp_buffer_reader):
7146         * lstream.c (lisp_buffer_writer):
7147         * lstream.h:
7148         * lstream.h (lstream_implementation):
7149         * lstream.h (struct lstream):
7150         * md5.c (Fmd5):
7151         * process-nt.c (nt_send_process):
7152         * process-unix.c (unix_send_process):
7153         
7154         Correct Lstream lossage due to mixing of signed and unsigned
7155         quantities.  All Lstream uses of size_t and ssize_t are now a
7156         single signed data type Lstream_data_count.  This fixes problems
7157         under Windows with sending large quantities of data to a process,
7158         and may well fix other subtle bugs.
7159
7160 2001-02-23  Martin Buchholz <martin@xemacs.org>
7161
7162         * XEmacs 21.2.45 "Thelxepeia" is released.
7163
7164 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7165
7166         * lisp-union.h (XSETINT): 
7167         (XSETCHAR):
7168         (XSETOBJ): 
7169         Reverse previous change of 2001-02-06.
7170
7171 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7172
7173         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7174         buffers.
7175         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7176         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7177         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7178         * regex.c (POS_AS_IN_BUFFER): removed
7179         * regex.c (re_search_2):
7180         * regex.c (re_match_2):
7181         Don't use an offset of 1 when calculating buffer positions, since
7182         `BI_BUF_BEGV' does it already.
7183
7184 2001-02-18  Wim Dumon  <wim@easics.be>
7185
7186         * insdel.c (prepare_to_modify_buffer): Also check for
7187         supersession when clash-detection is enabled. 
7188
7189 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7190
7191         * regex.c (re_match_2_internal):
7192         Convert temp characters from 'const unsigned char' to 're_char'.
7193         Fix crashing bug with extended characters under mule.
7194         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7195         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7196         font-lock, pdump, and new syntax-table code.
7197         * syntax.c (find_start_of_comment):
7198         (find_end_of_comment):
7199         (forward-comment):
7200         Fix crashing bugs involving moving beyond end of buffer.
7201         * syntax.c (find_start_of_comment):
7202         Fixed logic to allow proper detection of cases where the same
7203         character is used to end both a two-char comment start and a
7204         two-char comment end sequence. Fixes `(forward-comment -1)'.
7205         * syntax.c (find_start_of_comment):
7206         Return position just past last comment-end character for all cases
7207         (previously was only done for two-char comment-end sequences).
7208         * syntax.c (forward-comment):
7209         Take value returned from `find_end_of_comment', rather than
7210         incrementing it.
7211         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7212         Properly deal with BUFFERP (syntax_cache.object)
7213
7214 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7215
7216         * alloc.c (Fgarbage_collect): 
7217         * alloc.c (make_bit_vector_from_byte_vector):
7218         -Wsign-compare-correctness.
7219
7220 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7221
7222         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7223         (XSETCHAR): Likewise.
7224         (XSETOBJ): Likewise.
7225
7226 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7227
7228         * mule-canna.c (canna-func-delete_previous): 
7229         Rename to canna-func-delete-previous.
7230
7231 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7232
7233         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7234
7235 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7236
7237         * font-lock.c (find_context): Fix C++ compile errors introduced by
7238         recent patch
7239
7240 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7241
7242         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7243         pragma, but earlier ones barf on the same pragma.
7244
7245 2001-02-06  Mike Sperber <mike@xemacs.org>
7246
7247         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7248         `configure-mule-lisp-directory'.
7249
7250 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7251
7252         Make sure dump-id.c is compiled in the same way as other .c's.
7253         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7254         * dump-id.h: Remove.
7255         * emacs.c: Move dump-id.h into dumper.h.
7256         * dumper.h: Move dump-id.h into dumper.h.
7257         * Makefile.in.in:
7258         Use standard .c.o rule for building dump-id.o.
7259         Remove preprocessor flags from link command.
7260         Add dump-id.o to ${otherobjs} if PDUMP.
7261
7262 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7263
7264         Port FSF 20.7 syntax table improvements.
7265         * syntax.c.
7266         * syntax.h.
7267
7268         Fixups for new syntax table stuff.
7269         * dired.c: Include syntax.c.
7270         (Fdirectory_files): Initialize regex_match_object and
7271         regex_emacs_buffer.
7272         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7273         and Fget_char_property.
7274
7275         Use ported FSF 20.7 syntax table improvements.
7276         * font-lock.c.
7277         * regex.c.
7278         * search.c.
7279         
7280 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7281
7282         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7283         Unixware's enum boolean from sys/types.h.
7284
7285 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7286
7287         Fix support for building with latest Purify.
7288         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7289         (PURIFY_FLAGS): Likewise.
7290
7291 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7292
7293         * fileio.c (lisp_string_set_file_times): New.
7294         * fileio.c (Fcopy_file): Use it.
7295         Fixes bug:
7296         (copy-file filename non-ascii-filename t t)
7297         ==> No such file or directory, non-ascii-filename
7298
7299 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7300
7301         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7302         USHRT_MAX seems clearer than ~0 anyways.
7303
7304 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7305
7306         dumper improvements.  Inspired by Olivier.
7307         * dumper.c (pdump_max_align): New.
7308         * dumper.c (pdump_add_entry): Use pdump_max_align.
7309         * dumper.c (pdump_get_entry_list): Likewise.
7310         * dumper.c (pdump_scan_by_alignment): Likewise.
7311         Don't iterate through unnecessary alignments.
7312         * dumper.c (pdump_file_get): No need to align result of malloc().
7313         * dumper.c (pdump_mallocadr): Remove.  
7314         The result of malloc() is guaranteed to be maximally aligned.
7315         * dumper.c: s/elmt/elt/g;
7316         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7317         * dumper.c (pdump_alert_undump_object): Likewise.
7318         * dumper.c (pdump_align_table): 
7319         Don't support alignments > 64.
7320         Store ALIGNOF's, not shift counts, in table.
7321
7322 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7323
7324         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7325         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7326         * systime.h: Use HAVE_UTIME.
7327         * sysdep.c (struct utimbuf): Remove.
7328         * sysdep.c (set_file_times): Prefer utime() to utimes().
7329         * config.h.in (HAVE_UTIME): New.
7330         * config.h.in (HAVE_UTIME_H): Remove.
7331         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7332
7333 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7334
7335         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7336
7337 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7338
7339         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7340
7341 2001-02-08  Martin Buchholz <martin@xemacs.org>
7342
7343         * XEmacs 21.2.44 "Thalia" is released.
7344
7345 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7346
7347         Fixes crashes in kill-emacs on some systems.
7348         * process-unix.c (unix_kill_child_process):
7349         It's OK for kill() to fail with ESRCH.
7350
7351 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7352
7353         Contortions to make .gdbinit tricks work on most systems.
7354         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7355         * alloc.c (dbg_valmask): Make non-const.
7356         * alloc.c (dbg_typemask): Make non-const.
7357         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7358         * alloc.c (dbg_valbits): Make non-const.
7359         * alloc.c (dbg_gctypebits): Make non-const.
7360         * .gdbinit (decode_object): Make it work with AIX cc.
7361
7362 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7363
7364         * elhash.c (make_general_lisp_hash_table):
7365         Use simpler and more efficient calloc to clear entries.
7366
7367 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7368
7369         * window.c (window_scroll): Work around an AIX C compiler bug.
7370         Fixes 'scroll-up' does nothing problem with xlC.
7371
7372 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7373
7374         * .gdbinit: Remove obsolete comment.
7375
7376 2001-01-31  Mike Alexander  <mta@arbortext.com>
7377
7378         * select.c (Fown_selection_internal): Set owned_p for device
7379         method correctly.
7380
7381 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7382
7383         Port to g++ 2.97.
7384         "not" cannot be used as a macro name as it is an operator in C++
7385         * config.h.in: Stop #defining `not'.
7386         * chartab.c (check_category_char): not ==> not_p
7387         * chartab.h: Likewise.
7388         * regex.c (re_match_2_internal): Likewise.
7389
7390 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7391
7392         * lisp-disunion.h: Fix up comments.
7393
7394 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7395
7396         * keymap.c (define_key_check_and_coerce_keysym):
7397         (syms_of_keymap):
7398         Support mouse-6 and mouse-7 bindings in the obvious way.
7399
7400 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7401
7402         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7403
7404 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7405
7406         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7407         Previous patch missed DEFVAR_INT_MAGIC.
7408         Make sure future DEFVAR_foo use correct types.
7409         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7410         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7411         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7412         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7413         * (DEFVAR_INT): Likewise.
7414         * redisplay.c (vertical_clip): Should be of type Fixnum.
7415         * redisplay.c (horizontal_clip): Likewise.
7416         * lisp.h (dump_add_opaque_int): New.
7417         (dump_add_opaque_fixnum): New.
7418
7419 2001-01-29  Andy Piper  <andy@xemacs.org>
7420
7421         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7422         since they can be eval'ed
7423
7424 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7425
7426         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7427         Oops, XEmacs redefines `class'.  Use `typename' instead.
7428
7429 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7430
7431         * dumper.c: Fix C++ compile errors.
7432
7433 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7434
7435         * tparam.c: Use correct prototypes.
7436
7437 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7438
7439         * sysproc.h: #include util.h for NetBSD's openpty.
7440
7441 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7442
7443         More 64-bit correctness.
7444         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7445         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7446         Fix up comments.
7447         This finally finishes the 64-bit SGI port.
7448         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7449         * symbols.c: Fix up comments and type casts.
7450         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7451         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7452         * symeval.h (Fixnum): New type.
7453         * symeval.h (symbol_value_type): Fix up comment.
7454
7455         * commands.h:
7456         * nt.c:
7457         * emacs.c:
7458         * data.c:
7459         * redisplay.c:
7460         * abbrev.c:
7461         * dired-msw.c:
7462         * event-Xt.c:
7463         * eldap.c:
7464         * window.c:
7465         * sound.c:
7466         * event-stream.c:
7467         * eval.c:
7468         * buffer.c:
7469         * mule-canna.c: A million DEFVAR_INTs here...
7470         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7471         * extents.c:
7472         * cmdloop.c:
7473         * lisp.h:
7474         * select-x.c:
7475         * console-x.h:
7476         * event-msw.c:
7477         * mule-wnnfns.c:
7478         * hpplay.c:
7479         * ralloc.c:
7480         * alloc.c:
7481         * keymap.c:
7482         * profile.c:
7483         s/int/Fixnum/g in DEFVAR_INT declarations.
7484
7485 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7486
7487         Port pdump to SGI alignment-sensitive environment.
7488         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7489         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7490         properly aligned.
7491         Define and use aligned reading and writing macros.
7492         Use buffered stdio instead of posix i/o for faster dumping.
7493         Eliminate kludgy 256 byte space for header.
7494         Read and write from dump file using structs for alignment safety.
7495         * dumper.c (pdump_align_stream): New.
7496         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7497         * dumper.c (PDUMP_READ_ALIGNED): New.
7498         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7499         * dumper.c (pdump_static_Lisp_Object): New struct.
7500         * dumper.c (pdump_static_pointer): New struct.
7501         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7502         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7503         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7504         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7505
7506         * dumper.c (pdump_backtrace):
7507         * dumper.c (pdump_get_indirect_count):
7508         * dumper.c (pdump_register_object):
7509         * dumper.c (pdump_register_struct):
7510         * dumper.c (pdump_reloc_one):
7511         * dumper.c (pdump_scan_by_alignment):
7512         * dumper.c (pdump_dump_from_root_struct_ptrs):
7513         * dumper.c (pdump_dump_opaques):
7514         * dumper.c (pdump_dump_rtables):
7515         * dumper.c (pdump_dump_from_root_objects):
7516         * dumper.c (pdump):
7517         * dumper.c (pdump_load_finish):
7518         Use aligned reading and writing.
7519
7520         * dumper.c (pdump_free): Make static.
7521         * dumper.c (pdump_hFile): Likewise.
7522         * dumper.c (pdump_hMap): Likewise.
7523
7524 2001-01-26  Martin Buchholz <martin@xemacs.org>
7525
7526         * XEmacs 21.2.43 "Terspichore" is released.
7527
7528 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7529
7530         Type fiddling for window_config.saved_windows_count
7531         * window.c (struct window_config): 
7532         Make saved_windows_count member unsigned.
7533         * window.c (sizeof_window_config_for_n_windows): 
7534         Make parameter unsigned.
7535         * window.c (mark_window_config):
7536         * window.c (window_config_equal):
7537         * window.c (free_window_configuration):
7538         * window.c (Fset_window_configuration):
7539         * window.c (count_windows):
7540         * window.c (Fcurrent_window_configuration):
7541         * window.c (reinit_vars_of_window):
7542         Update all callers and users.
7543
7544 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7545
7546         Alignment correctness for flexible arrays.
7547         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7548         Make alignment-correct. Add interesting comments.
7549         * alloc.c (size_vector):
7550         * alloc.c (make_vector_internal):
7551         * alloc.c (make_bit_vector_internal):
7552         * alloc.c (sweep_bit_vectors_1):
7553         * fns.c (size_bit_vector):
7554         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7555         * window.c (sizeof_window_config_for_n_windows): 
7556         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7557
7558 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7559
7560         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7561
7562 2001-01-23  Andy Piper  <andy@xemacs.org>
7563
7564         * select.c (Fown_selection_internal): pass owned_p
7565
7566         * select-msw.c (mswindows_own_selection): New Signature.
7567
7568         * console.h (struct console_methods): add owned_p to
7569         _own_selection.
7570
7571         * select-x.c (x_own_selection): pass owned_p
7572         (hack_motif_clipboard_selection): use owned_p
7573         (vars_of_select_x): new variable -
7574         x_selection_strict_motif_ownership.
7575
7576 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7577
7578         * specifier.h (specifier_data_offset): Remove pointless parens.
7579         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7580
7581 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7582
7583         Make Lisp_Object sizeof methods be alignment-correct.
7584         pdump must restore objects to the same alignment as the C compiler
7585         assumes.  It really matters on SGIs.
7586         * lstream.c (aligned_sizeof_lstream): New.
7587         (sizeof_lstream): Use aligned_sizeof_lstream.
7588         (Lstream_new): Likewise.
7589         * opaque.c (aligned_sizeof_opaque): New.
7590         (sizeof_opaque): Use aligned_sizeof_opaque.
7591         (make_opaque): Likewise.
7592         * specifier.c (aligned_sizeof_specifier): New.
7593         (sizeof_specifier): Use aligned_sizeof_specifier.
7594         (make_specifier_internal): Likewise.
7595
7596 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7597
7598         * lstream.h (struct lstream): Use max_align_t for trailing data.
7599         * specifier.h (struct Lisp_Specifier): Likewise.
7600
7601 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7602
7603         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7604         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7605         (CCL_SUSPEND): Likewise.
7606         (CCL_INVALID_CMD): Likewise.
7607         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7608         (ccl_driver): Likewise.
7609         (CCL_WRITE_CHAR): Macro hygiene.
7610         (CCL_WRITE_STRING): Macro hygiene.
7611
7612 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7613
7614         Port "portable" dumper to SunOS 4 and HP-UX.
7615         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7616         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7617         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7618
7619 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7620
7621         * lisp.h (ALIGNOF): A better definition for C++.
7622
7623 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7624
7625         Macro hygiene.
7626         Fix printf warnings: int format, long int arg.
7627         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7628         (PUSH_FAILURE_POINT): Use correct printf formats.
7629         (POP_FAILURE_POINT): Use correct printf formats.  
7630         Use do {...} while (0)
7631
7632 2001-01-20  Martin Buchholz <martin@xemacs.org>
7633
7634         * XEmacs 21.2.42 "Poseidon" is released.
7635
7636 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7637
7638         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7639
7640 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7641
7642         De-kludgify FIXED_TYPE free list frobbing.
7643         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7644         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7645         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7646         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7647         * alloc.c (LRECORD_FREE_P): New.
7648         * alloc.c (MARK_LRECORD_AS_FREE): New.
7649         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7650         * alloc.c (STRUCT_FREE_P): Deleted.
7651         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7652         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7653         * alloc.c (STRING_CHARS_FREE_P): New.
7654         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7655         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7656         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7657         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7658         * alloc.c (resize_string): Use new definitions.
7659         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7660         * alloc.c (verify_string_chars_integrity): Use new definitions.
7661         * alloc.c (compact_string_chars): Use new definitions.
7662         * alloc.c: Update monster comments.
7663         * lrecord.h (lrecord_type): Add some new lrecord types for
7664         alloc.c's use.
7665
7666 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7667
7668         Improve alignment hackery.
7669         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7670         (max_align_t): Moved from opaque.h - general purpose.
7671         (ALIGN_PTR): Use size_t, not long.
7672         * opaque.h (max_align_t): Move to lisp.h.
7673
7674 2001-01-18  Norbert Koch  <nk@LF.net>
7675
7676         * gui.h: Fix and add prototypes to fix build problems.
7677
7678 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7679
7680         temacs is going away, so `dump-temacs' is now a bad name.
7681         * .dbxrc (dump-temacs): Rename to `dmp'.
7682         * .gdbinit (dump-temacs): Rename to `dmp'.
7683
7684 2001-01-17  Andy Piper  <andy@xemacs.org>
7685
7686         * glyphs.c (print_image_instance): comment to make martin happy.
7687
7688         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7689         change.
7690
7691         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7692         activation.
7693         (mswindows_tab_control_redisplay): warning suppression.
7694
7695         * glyphs-widget.c (widget_update): re-write to cope with updated
7696         items.
7697         (widget_instantiate): use new gui_item functions.
7698         (tab_control_update): deleted.
7699         (progress_gauge_update): deleted.
7700         (image_instantiator_progress_guage): take out update reference.
7701         (image_instantiator_tree_view): ditto.
7702         (image_instantiator_tab_control): ditto.
7703
7704         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7705         Right the new way.
7706         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7707         return whether anything was changed.
7708         (update_gui_item_keywords): as it sounds.
7709
7710         * gui.h: declare widget_gui_parse_item_keywords.
7711
7712         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7713         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7714
7715 2001-01-17  Martin Buchholz <martin@xemacs.org>
7716
7717         * XEmacs 21.2.41 "Polyhymnia" is released.
7718
7719 2001-01-16  Didier Verna  <didier@xemacs.org>
7720
7721         * glyphs.c (image_instantiate): don't use fallbacks when
7722         instantiating a face's background pixmap by inheritance.
7723
7724 2001-01-14  Mike Sperber <mike@xemacs.org>
7725
7726         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7727         Conditionalize accordingly.
7728
7729 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7730
7731         * dumper.c (pdump_file_get): Fix a compiler warning.
7732
7733 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7734
7735         Make Purify happy when pdumping.
7736         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7737         iniitalizing all bits of new lisp object memory.
7738         * symbols.c (Fmake_local_variable): Likewise.
7739         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7740         * symbols.c (Fdefvaralias): Likewise.
7741         * mule-charset.c (vars_of_mule_charset): Likewise.
7742
7743 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7744         Add the `-nd' flag when running pre-dump operations under the debugger.
7745         * .dbxrc (run-temacs): Add `-nd'.
7746         * .dbxrc (update-elc): Likewise.
7747         * .dbxrc (dump-temacs): Likewise.
7748         * .gdbinit (run-temacs): Likewise.
7749         * .gdbinit (check-temacs): Likewise.
7750         * .gdbinit (update-elc): Likewise.
7751         * .gdbinit (dump-temacs): Likewise.
7752
7753 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7754
7755         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7756         export OBJECT_MODE=64
7757         configure --pdump --use-union-type=no
7758         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7759         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7760
7761         * miscplay.c (sndcnv8U_2mono):
7762         Avoid two uses of `++' in the same expression.
7763         Suppresses a GCC warning.
7764
7765 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7766
7767         Make sure future compilers don't miscompile alloc.c.
7768         * alloc.c:
7769         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7770         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7771
7772 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7773
7774         * dumper.c: A little post-pdump-rename comment fixup.
7775
7776 2001-01-09  Jerry James  <james@eecs.ku.edu>
7777
7778         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7779
7780 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7781
7782         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7783         script:
7784         #!/bin/sh
7785         replace_symbol () {
7786           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7787         }
7788
7789         replace_symbol pdump_wire_lists pdump_weak_object_chains
7790         replace_symbol pdump_wire_list dump_add_weak_object_chain
7791
7792         replace_symbol pdump_wires pdump_root_objects
7793         replace_symbol pdump_wire dump_add_root_object
7794
7795         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7796         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7797
7798         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7799         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7800         replace_symbol dumpstructinfo pdump_root_struct_ptr
7801         replace_symbol dumpstruct dump_add_root_struct_ptr
7802
7803         replace_symbol dumpopaque dump_add_opaque
7804         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7805         replace_symbol dumpopaqueinfos pdump_opaques
7806         replace_symbol dumpopaqueinfo pdump_opaque
7807
7808         replace_symbol nb_structdump nb_root_struct_ptrs
7809         replace_symbol nb_opaquedump nb_opaques
7810
7811         replace_symbol align_table pdump_align_table
7812         replace_symbol dump_header pdump_header
7813
7814         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7815         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7816
7817
7818 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7819
7820         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7821         optimizing bytecount_to_charcount().
7822
7823 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7824
7825         * config.h.in:
7826         (HAVE_DLFCN_H): Removed.
7827         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7828
7829 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7830
7831         Portable dumper maintainability improvements.
7832         * alloc.c (staticpro):
7833         * alloc.c (staticpro_nodump):
7834         * alloc.c (garbage_collect_1):
7835         * alloc.c (reinit_alloc_once_early):
7836         * alloc.c (init_alloc_once_early):
7837         * alloc.c: Move dumper functions to alloc.c.
7838         * dumper.c (pdump_backtrace):
7839         * dumper.c (pdump_dump_structs):
7840         * dumper.c (pdump_dump_opaques):
7841         * dumper.c (pdump_dump_rtables):
7842         * dumper.c (pdump_dump_wired):
7843         * dumper.c (pdump):
7844         * dumper.c (pdump_load_check):
7845         * dumper.c (pdump_load_finish):
7846         * dumper.c (pdump_file_unmap):
7847         * dumper.c (pdump_file_get):
7848         * dumper.c (pdump_resource_free):
7849         * dumper.c (pdump_resource_get):
7850         * dumper.c (pdump_file_free):
7851         * dumper.c (pdump_file_try):
7852         * dumper.c (pdump_load):
7853         Remove fixed size limits on staticpro(), staticpro_nodump(),
7854         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7855         Remove custom code for dumping lrecord_implementations_table - use
7856         dumpopaque instead.
7857         Remove (most of the) custom code for dumping staticpros - dump it
7858         like any other dynarr.
7859
7860         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7861         * dumper.c: Moved functions from alloc.c.
7862         * alloc.c (dumpstruct): Moved to dumper.c.
7863         * alloc.c (dumpopaque): Likewise.
7864         * alloc.c (pdump_wire): Likewise.
7865         * alloc.c (pdump_wire_list): Likewise.
7866
7867         * lisp.h (Dynarr_sizeof): New.
7868         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7869         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7870         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7871
7872         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7873         * lisp.h (dumpopaque): ditto.
7874         * lisp.h (pdump_wire): ditto.
7875         * lisp.h (pdump_wire_list): ditto.
7876
7877 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7878
7879         * make-src-depend (PrintPatternDeps):
7880         Use `sort' to make output independent of perl version.
7881
7882 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7883
7884         Port to Netbsd 1.5.
7885         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7886         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7887
7888 2001-01-03  Didier Verna  <didier@xemacs.org>
7889
7890         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7891         that `focus_frame' is alive before thinking of calling
7892         `redisplay_redraw_cursor' on it.
7893
7894 2001-01-08  Martin Buchholz <martin@xemacs.org>
7895
7896         * XEmacs 21.2.40 is released.
7897
7898 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7899
7900         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7901
7902 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7903
7904         * alloc.c (dbg_valmask): Make const.
7905         * alloc.c (dbg_typemask): Make const.
7906         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7907         * alloc.c (dbg_valbits): Make const.
7908         * alloc.c (dbg_gctypebits): Make const.
7909
7910 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7911
7912         * redisplay-x.c (x_bevel_area):
7913         redisplay.h (struct rune):
7914         Typo fixes in comments.
7915
7916 2001-01-05  Andy Piper  <andy@xemacs.org>
7917
7918         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7919         adjustment.
7920
7921         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7922
7923 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7924
7925         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7926
7927         * mule-ccl.c (stack_idx_of_map_multiple):
7928         Non const global data must not be initialized!
7929         Found by MIYASHITA Hisashi.
7930
7931 2001-01-02  Andy Piper  <andy@xemacs.org>
7932
7933         * frame.c (change_frame_size): make sure frame size is always
7934         marked as changed.
7935
7936         * glyphs.c (image_instance_layout): minor code reuse.
7937
7938         * window.c (Fcurrent_window_configuration): revert previous
7939         change.
7940
7941 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7942
7943         * glyphs.h:
7944         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7945
7946 2000-12-31  Andy Piper  <andy@xemacs.org>
7947
7948         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7949         when widget gets unmapped.
7950
7951         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7952         function. Make sure widgets losing focus don't just drop it.
7953         (handle_focus_event_1): record the widget with focus.
7954
7955 2000-12-31  Andy Piper  <andy@xemacs.org>
7956
7957         * window.c (allocate_window): use
7958         make_image_instance_cache_hash_table.
7959         (make_dummy_parent): ditto.
7960         (Fset_window_configuration): ditto.
7961
7962         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7963
7964         * glyphs.c (process_image_string_instantiator): use
7965         INSTANTIATOR_TYPE.
7966         (get_image_instantiator_governing_domain): ditto.
7967         (normalize_image_instantiator): ditto.
7968         (instantiate_image_instantiator): ditto.
7969         (make_image_instance_1): ditto.
7970         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7971         (instantiator_eq_equal): new function for use with instance hash
7972         tables.
7973         (instantiator_eq_hash): ditto.
7974         (make_image_instance_cache_hash_table): create a suitable hash
7975         table for storing image instances.
7976
7977         * elhash.h (hash_table_weakness): new internal weakness type
7978         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7979         declare new functions.
7980
7981         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7982         another weakness type for glyphs.
7983         (make_standard_lisp_hash_table): new function split out from
7984         make_general_lisp_hash_table.
7985         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7986         (hash_table_instantiate): ditto.
7987         (Fmake_hash_table): ditto.
7988
7989 2000-12-31  Martin Buchholz <martin@xemacs.org>
7990
7991         * XEmacs 21.2.39 is released.
7992
7993 2000-12-29  Andy Piper  <andy@xemacs.org>
7994
7995         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7996
7997         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7998         the frame has changed so that we pick up geometry changes such as
7999         menubar visibility.
8000
8001 2000-12-28  Andy Piper  <andy@xemacs.org>
8002
8003         * lastfile.c (my_ebss): make a char array so we can pad the
8004         bss. Fixes cygwin unexec.
8005
8006         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8007
8008 2000-12-26  Andy Piper  <andy@xemacs.org>
8009
8010         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8011         comments and try and be more precise about a non-/SIGIO world.
8012         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8013         SIGIO.
8014
8015         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8016         we don't normalize to zero width or height.
8017
8018 2000-12-24  Andy Piper  <andy@xemacs.org>
8019
8020         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8021
8022 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8023
8024         * s/sco5.h: SCO 5 has pty support.
8025
8026 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8027
8028         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8029         input-method-xlib.c contains whole contents of input-method-xfs.c,
8030         so we can use input-method-xlib.c's code for USE_XFONTSET
8031         using #ifdefs.
8032         * input-method-xfs.c: removed.
8033
8034 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8035
8036         * file-coding.h (enum coding_category_type): reorder enumerators to
8037         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8038         (now one greater than largest real coding_category_type enumerator).
8039         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8040         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8041         Fcoding_category_list, Fset_coding_priority_list,
8042         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8043         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8044
8045 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8046
8047         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8048         * redisplay-output.c (redisplay_output_window): Clear top of window
8049         when face is changed.
8050         * redisplay-x.c (x_redraw_exposed_window): Call
8051         redisplay_clear_top_of_window.
8052         * redisplay.h: Publish redisplay_clear_top_of_window.
8053
8054 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8055
8056         * buffer.c (Fkill_buffer): Map over all devices.
8057         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8058         (list_windows): New function.
8059         (list_all_windows): Ditto.
8060         (Freplace_buffer_in_windows): Use them.
8061
8062 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8063
8064         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8065         (Fopen_database): Use `db_create' instead of `db_open'.
8066         (syms_of_database): Initialize Qqueue.
8067
8068 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8069
8070         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8071         buffer_local_face_property.
8072         * buffer.h (struct buffer): New member buffer_local_face_property.
8073         * window.c (Fset_window_buffer):  Mark window's face as changed
8074         when buffer has buffer local face.
8075         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8076         * objects.c (color_after_change): Set buffer_local_face_property
8077         when locale of face specifier is buffer.
8078         * objects.c (font_after_change): Ditto.
8079         * objects.c (face_boolean_after_change): Ditto.
8080         * glyphs.c (image_after_change): Ditto.
8081
8082 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8083
8084         * nt.c (mswindows_fstat): Report file permissions, volume serial
8085         number, etc. Code adapted from FSF Emacs 20.7.
8086
8087 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8088
8089         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8090         of stat when we don't have symbolic links, to make sure
8091         mswindows_stat is called on mswindows.
8092
8093 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8094
8095         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8096
8097 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8098
8099         * doprnt.c (emacs_doprnt_1): More printing fixes.
8100         Make printing of numbers compatible with libc and FSF Emacs.
8101         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8102         Use the system printf to do most of the hard work of formatting,
8103         instead of doprnt_1().
8104         Calculate memory to allocate for format string.
8105         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8106         (doprnt_1): Cleaner code and documentation.
8107
8108 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8109
8110         * Makefile.in.in: Use the loop variable to install headers.
8111
8112 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8113
8114         * window.c (Fsplit_window): Don't invalidate face cache.
8115
8116 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8117
8118         * minibuf.c (Fall_completions): Undo the previous change
8119         which removed checking elements start with space.
8120
8121 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8122
8123         * mule-canna.c: Didier suppression.
8124
8125 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8126
8127         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8128         (warning suppression).  Add English comment translations.
8129
8130 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8131
8132         * unexelfsgi.c (unexec): Better test for mmap failure.
8133
8134 2000-12-05  Martin Buchholz <martin@xemacs.org>
8135
8136         * XEmacs 21.2.38 is released.
8137
8138 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8139
8140         * redisplay.c (bar-cursor): Make a user variable.
8141
8142         * symsinit.h: Add init_postgresql_from_environment.
8143
8144 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8145
8146         * regex.c: Convert to clean C.
8147
8148 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8149
8150         * realpath.c:
8151         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8152         initialization.
8153         (sys_readlink): renamed to system_readlink to avoid conflict with
8154         the other sys_readlink.
8155
8156 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8157
8158         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8159
8160 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8161
8162         * postgresql.c (init_postgresql_from_environment): new function.
8163         (vars_of_postgresql): Move code initializing Lisp variables out and
8164         into init_postgresql_from_environment.
8165         emacs.c (main_1): Call init_postgresql_from_environment if and only
8166         if running a dumped XEmacs.
8167
8168 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8169
8170         * buffer.c: Make find-file-compare-truenames default to true on
8171         windows.
8172
8173         * realpath.c (win32_abs_start):
8174         (cygwin_readlink):
8175         (win32_readlink): New functions.
8176         (xrealpath): Return really real filenames on windows.
8177
8178         * fileio.c (Ffile_truename): Make file-truename work on windows.
8179
8180 2000-11-29  Didier Verna  <didier@xemacs.org>
8181
8182         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8183         * faces.c (update_face_cachel_data): use it.
8184         * faces.c (add_face_cachel): use it. Complete background pixmap
8185         frobbing in face cache if `update_face_cachel_data' has not done so.
8186
8187 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8188
8189         * search.c (string_match_1): Don't set last_thing_searched
8190         when search failed.
8191
8192 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8193
8194         * buffer.c: Include casetab.h
8195         (common_init_complex_vars_of_buffer): Use new case-table object.
8196         * buffer.h: Include casetab.h
8197         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8198         (DOWNCASE_TABLE_OF): Ditto.
8199         * bufslots.h: Remove char-tables and add case-table.
8200         * casetab.c: Include casetab.h
8201         (CASE_TABLE_P): Removed.
8202         (mark_case_table): New function.
8203         (allocate_case_table): New function.
8204         (Fcase_table_p): Use new case-table.
8205         (case_table_char): New function.
8206         (Fget_case_table): Ditto.
8207         (Fput_case_table): Ditto.
8208         (Fput_case_table_pair): Ditto.
8209         (Fcopy_case_table): Ditto.
8210         (Fcurrent_case_table): Return case-table.
8211         (Fstandard_case_table): Return case-table.
8212         (Fset_case_table): Fix doc-string.
8213         (set_case_table): Use case-table
8214         (syms_of_casetab): DEFSUBR new functions.
8215         (complex_vars_of_casetab): Set up standard case-table.
8216         * casetab.h: New file.
8217         * editfns.c: Include casetab.h
8218         (Fcompare_buffer_substrings): Use case-table.
8219         * inline.c: Include casetab.h
8220         * lisp.h: Remove bogus extern.
8221         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8222         * search.c: Include casetab.h
8223         (TRANSLATE_ASCII): Removed.
8224         (TRANSLATE): Unconditionally translate character.
8225         (looking_at_1): Use case-table.
8226         (string_match_1): Ditto.
8227         (fast_string_match): Ditto.
8228         (search_command): Ditto.
8229         (search_buffer): Separate boyer_moore.  Check whether
8230         boyer_moore is possible.
8231         (simple_search): New function.
8232         (boyer_moore): Separated from search_buffer. Translate char.
8233
8234 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8235
8236         * regex.c (RE_TR_ASCII): Removed.
8237         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8238         (PATFETCH): Call PATFETCH_RAW.
8239         (PATFETCH_RAW): Fetch Emchar.
8240         (PATUNFETCH): Decrement charptr.
8241         (GET_BUFFER_SPACE): Rename b to buf_end.
8242         (BUF_PUSH): Ditto.
8243         (BUF_PUSH_2): Ditto.
8244         (BUF_PUSH_3): Ditto.
8245         (EXTEND_BUFFER): Ditto.
8246         (SET_LIST_BIT): Ditto.
8247         (regex_compile): Ditto.  Translate non ASCII char.
8248         (compile_range): Ditto.
8249         (re_search_2): Ditto.
8250         (re_match_2_internal): Compare Emchar.
8251         (bcmp_translate): Ditto.
8252
8253 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8254
8255         * lisp.h (basic char/int typedefs):  comment improvement.
8256
8257 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8258
8259         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8260         unstomp inhibit_site_lisp.  Improve comments.
8261
8262 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8263
8264         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8265
8266 2000-11-28  Andy Piper  <andy@xemacs.org>
8267
8268         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8269         clipped display for windows in the gutter also.
8270         (redisplay_display_boxes_in_window_p): change semantics of return
8271         codes to be more intuitive.
8272
8273         * gutter.h: declare display_boxes_in_gutter_p.
8274
8275         * gutter.c (display_boxes_in_gutter_p): new function for
8276         redisplay.
8277
8278 2000-11-22  Andy Piper  <andy@xemacs.org>
8279
8280         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8281         autodetect domain.
8282
8283 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8284
8285         * callproc.c (Fold_call_process_internal):
8286         * gpm.c (Freceive_gpm_event):
8287         (tty_get_foreign_selection): Might be just warning supression.
8288         * fileio.c (Fwrite_region_internal):
8289         (Fset_visited_file_modtime):
8290         * keymap.c (event_matches_key_specifier_p):
8291         Initialize GCPROed variable.
8292
8293         * menubar-x.c (command_builder_find_menu_accelerator):
8294         Initialize before use.
8295
8296 2000-11-23  Andy Piper  <andy@xemacs.org>
8297
8298         * unexcw.c (unexec): make the resulting executable executable.
8299
8300 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8301
8302         * doc.c (get_doc_string):
8303         Use size_t, not int, for result of XSTRING_LENGTH.
8304
8305         * cmds.c (Fdelete_char):
8306         * cmds.c (Fpoint_at_eol):
8307         * cmds.c (Fself_insert_command):
8308         Use EMACS_INT, not int, for result of XINT.
8309         Someday, someone will want to insert more than 2**31 identical characters.
8310
8311         * cmds.c (Fdelete_char):
8312         * cmds.c (Fdelete_backward_char):
8313         * syntax.c (Fforward_word):
8314         * syntax.c (Fforward_comment):
8315         Make COUNT argument optional, for consistency with forward-char et al.
8316
8317 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8318
8319         * lisp.h:
8320         * print.c (long_to_string):
8321         Return a useful value: the pointer at end of data written.
8322
8323         * doprnt.c:
8324         Use `static const char * const' for constant strings.
8325         (union printf_arg): Delete `i', `ui' members.
8326         (get_doprnt_args):
8327         (emacs_doprnt_1):
8328         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8329         Do all printf-ing via the `l' specifier.
8330         Use EMACS_INT instead of int.
8331         Optimize.
8332
8333 2000-11-20  Didier Verna  <didier@xemacs.org>
8334
8335         * faces.c (update_face_cachel_data): don't frob the background
8336         pixmap when the window is being created. The face is needed but
8337         does not exist yet.
8338
8339 2000-11-20  Andy Piper  <andy@xemacs.org>
8340
8341         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8342         messing with a debug environment.
8343
8344 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8345
8346         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8347
8348 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8349
8350         * casetab.c (Fcase_table_p): Fix compile error and crash.
8351
8352 2000-11-18  Philip Aston  <philipa@mail.com>
8353
8354         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8355
8356 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8357
8358         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8359         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8360
8361 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8362
8363         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8364         * unexelf.c: Use HAVE_ELF_H.
8365         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8366         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8367         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8368         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8369         for testing.
8370         So this is an unexelfsgi.c from a different line of development.
8371
8372 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8373
8374         * regex.c (RE_TR_ASCII): New function.
8375         (RE_TRANSLATE): Call it.
8376
8377 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8378
8379         * buffer.h (TRT_TABLE_OF): Remove assert.
8380         (IN_TRT_TABLE_DOMAIN): Removed.
8381
8382 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8383
8384         * free-hook.c (log_gcpro):
8385         (show_gcprohist): Add support for GCPRO5.
8386
8387 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8388
8389         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8390
8391 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8392
8393         * symeval.h: Declare flush_all_buffer_local_cache.
8394
8395         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8396         (flush_buffer_local_cache): Added.
8397         (flush_all_buffer_local_cache): Added.
8398
8399         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8400
8401         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8402         (pdump_dump_data): Ditto.
8403         (pdump_reloc_one): Ditto.
8404         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8405         before dumping.
8406
8407
8408 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8409
8410         * buffer.c: Remove if 0'ed entry.
8411         * buffer.h: Rewrite TRT to use char-table.
8412         * bufslots.h: Remove mirror tables.
8413         * casetab.c: Remove mirror tables.
8414         (CASE_TABLE_P): New macro.
8415         (Fcase_table_p): Element of a case table is string or char-table.
8416         (make_mirror_trt_table): Removed.
8417         (set_case_table): Setup char-table from strings for backward
8418         compatibility.
8419         * dired.c (Fdirectory_files):
8420         * dired-msw.c: (mswindows_get_files):
8421         * lisp.h: Change prototype of re_pattern_buffer.
8422         * regex.c: (RE_TRANSLATE): New macro.
8423         (TRANSLATE_P): Ditto.
8424         Change translate to type RE_TRANSLATE_TYPE.
8425         * regex.h: Define RE_TRANSLATE_TYPE
8426         * search.c (TRANSLATE): New macro.
8427         (TRANSLATE_ASCII): New macro.
8428         Translate table is changed to Lisp_Object.
8429         (signal_failure): Inhibit return.
8430
8431 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8432
8433         * device-msw.c:
8434         * eldap.c:
8435         * event-Xt.c:
8436         * event-stream.c:
8437         * print.c:
8438         Do UNGCPRO before return.
8439
8440 2000-11-14  Martin Buchholz <martin@xemacs.org>
8441
8442         * XEmacs 21.2.37 is released.
8443
8444 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8445
8446         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8447         Add comments about discarded return value.
8448
8449 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8450
8451         * callint.c:
8452         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8453
8454 2000-10-27  Andy Piper  <andy@xemacs.org>
8455
8456         * gutter.c (Fset_default_gutter_position): default left and right
8457         gutters to visible.
8458         (calculate_gutter_size): calculate resonable heuristic for left
8459         and right gutter sizes.
8460         (specifier_vars_of_gutter): change left and right gutter sizes to
8461         autodetect.
8462         (calculate_gutter_size_from_display_lines): new function.
8463         (output_gutter): check for resizing on left and right gutters.
8464         (clear_gutter): don't special case top and left gutters.
8465         (specifier_vars_of_gutter): use new signature for
8466         set_specifier_caching.
8467
8468         * glyphs-x.c (x_redisplay_widget): spelling fix.
8469         * glyphs.c (specifier_vars_of_glyphs):
8470         * menubar.c (specifier_vars_of_menubar):
8471         * redisplay.c (specifier_vars_of_redisplay):
8472         * toolbar.c (specifier_vars_of_toolbar):
8473         * window.c (specifier_vars_of_window):
8474         * scrollbar.c (specifier_vars_of_scrollbar):
8475         (complex_vars_of_scrollbar): use new signature for
8476         set_specifier_caching.
8477
8478         * specifier.c (set_specifier_caching): include recompute flag.
8479         (recompute_one_cached_specifier_in_window): always recompute if
8480         flag set.
8481         (recompute_one_cached_specifier_in_frame): ditto.
8482
8483         * specifier.h (struct specifier_caching): add recompute flag.
8484
8485 2000-10-24  Andy Piper  <andy@xemacs.org>
8486
8487         * unexcw.c (copy_executable_and_dump_data_section): add new
8488         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8489         5.0 happy.
8490
8491 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8492
8493         * console-x.h (x_device): New member modifier_release_time.
8494         * event-Xt.c (x_handle_sticky_modifiers):
8495         Bound interval modifier keys are sticky.
8496         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8497         * events.h: extern it.
8498
8499 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8500
8501         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8502
8503 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8504
8505         * event-stream.c (execute_command_event): Preserve current_events
8506         and the like when event is misc-user-event.
8507         Inhibit quit during the call to maybe_echo_keys.
8508
8509 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8510
8511         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8512         symlink when buffer is killed.
8513         (inhibit_clash_detection): New variable.
8514
8515 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8516
8517         * console.c (Fset_input_method): Trigger redisplay on tty.
8518
8519 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8520
8521         * process.c (Fprocess_status): Revert to previous behavior:
8522         (process-status "nosuchprocess") ==> nil
8523
8524 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8525
8526         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8527         Work around another GCC 2.95.2 optimizer bug.
8528
8529 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8530
8531         * process.c (Fget_process): Use LIST_LOOP_2.
8532         (kill_buffer_processes): Use LIST_LOOP_2.
8533
8534         * minibuf.c (Fall_completions):
8535         Delete old non-functional code for FSF fourth argument.
8536
8537         * frame.c (frame_matches_frame_spec):
8538         Renamed from `frame_matches_frametype'.  Update all callers.
8539         (device_matches_device_spec):
8540         Renamed from 'device_matches_console_spec'.  Update all callers.
8541
8542         * doc.c (Fsubstitute_command_keys):
8543         Remove buffer overflow crash.  Small code cleanups.
8544
8545         * casetab.c (check_case_table): Simpler code.
8546
8547         * window.c (Freplace_buffer_in_windows):
8548         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8549         (and similar implementation) as Fdelete_windows_on.
8550         Update all callers.
8551
8552         * alloc.c (Fmake_list):
8553         * alloc.c (make_vector):
8554         * alloc.c (Fmake_vector):
8555         * alloc.c (make_bit_vector):
8556         * alloc.c (Fmake_bit_vector):
8557         * alloc.c (Fbit_vector):
8558         * alloc.c (Fmake_string):
8559         * alloc.c (Fpurecopy):
8560         * alloc.c (Fmemory_limit):
8561         * buffer.c:
8562         * buffer.c (Fget_buffer):
8563         * buffer.c (Fkill_buffer):
8564         * buffer.c (complex_vars_of_buffer):
8565         * bytecode.c (Fcompiled_function_stack_depth):
8566         * callint.c (Fprefix_numeric_value):
8567         * event-stream.c:
8568         * event-stream.c (Fread_key_sequence):
8569         * casetab.c:
8570         * casetab.c (Fcase_table_p):
8571         * casetab.c (check_case_table):
8572         * casetab.c (Fset_case_table):
8573         * casetab.c (Fset_standard_case_table):
8574         * chartab.c:
8575         * chartab.c (Fchar_table_type):
8576         * chartab.c (Freset_char_table):
8577         * chartab.c (Fget_char_table):
8578         * chartab.c (Fget_range_char_table):
8579         * chartab.c (Fput_char_table):
8580         * chartab.c (Fmap_char_table):
8581         * chartab.c (Fcategory_table_p):
8582         * chartab.c (Fcheck_category_at):
8583         * chartab.c (Fchar_in_category_p):
8584         * chartab.c (Fcategory_table):
8585         * chartab.c (Fcopy_category_table):
8586         * chartab.c (Fset_category_table):
8587         * chartab.c (Fcategory_designator_p):
8588         * chartab.c (Fcategory_table_value_p):
8589         * cmds.c (Fdelete_char):
8590         * cmds.c (Fdelete_backward_char):
8591         * cmds.c (Fself_insert_command):
8592         * cmds.c (Fself_insert_internal):
8593         * console.c (Fvalid_console_type_p):
8594         * console.c (Fcdfw_console):
8595         * console.c (Fconsole_type):
8596         * console.c (Fconsole_name):
8597         * console.c (Fconsole_device_list):
8598         * console.c (Fconsole_on_window_system_p):
8599         * data.c:
8600         * data.c (Feq):
8601         * data.c (Fold_eq):
8602         * data.c (Fsubr_interactive):
8603         * data.c (Fchar_to_int):
8604         * data.c (Fint_to_char):
8605         * data.c (Fsetcar):
8606         * data.c (Fsetcdr):
8607         * data.c (Fnumber_to_string):
8608         * data.c (Fstring_to_number):
8609         * data.c (Frem):
8610         * database.c (mark_database):
8611         * database.c (finalize_database):
8612         * database.c (Fdatabase_live_p):
8613         * database.c (Fdatabasep):
8614         * device-x.c (Fx_get_resource):
8615         * device.c (Fdfw_device):
8616         * dired.c:
8617         * dired.c (Ffile_name_completion):
8618         * dired.c (Ffile_name_all_completions):
8619         * dired.c (Fuser_name_completion):
8620         * dired.c (Fuser_name_completion_1):
8621         * dired.c (Fuser_name_all_completions):
8622         * doc.c (Fdocumentation):
8623         * doc.c (Fdocumentation_property):
8624         * doc.c (Fsubstitute_command_keys):
8625         * editfns.c:
8626         * editfns.c (Fchar_to_string):
8627         * editfns.c (Fstring_to_char):
8628         * editfns.c (Ftemp_directory):
8629         * editfns.c (Finsert_char):
8630         * editfns.c (Fbuffer_substring_no_properties):
8631         * editfns.c (Fnarrow_to_region):
8632         * editfns.c (Fchar_equal):
8633         * editfns.c (Fchar_Equal):
8634         * editfns.c (Ftranspose_regions):
8635         * emacs.c (Fdump_emacs):
8636         * eval.c (Fthrow):
8637         * eval.c (Fcommand_execute):
8638         * eval.c (Fautoload):
8639         * eval.c (Fbacktrace):
8640         * eval.c (Fbacktrace_frame):
8641         * events.c:
8642         * events.c (Fcopy_event):
8643         * events.c (Fcharacter_to_event):
8644         * events.c (Fevent_button):
8645         * events.c (Fevent_process):
8646         * extents.c:
8647         * extents.c (Fnext_extent_change):
8648         * extents.c (Fextent_property):
8649         * faces.c (Ffacep):
8650         * faces.c (Fmake_face):
8651         * file-coding.c:
8652         * file-coding.c (Fencode_shift_jis_char):
8653         * file-coding.c (Fencode_big5_char):
8654         * fileio.c (Ffile_name_directory):
8655         * fileio.c (Ffile_name_nondirectory):
8656         * fileio.c (Ffile_name_as_directory):
8657         * fileio.c (Fdirectory_file_name):
8658         * fileio.c (Ffile_truename):
8659         * fileio.c (Fsubstitute_in_file_name):
8660         * fileio.c (Ffile_modes):
8661         * fileio.c (Fset_file_modes):
8662         * fileio.c (Fset_default_file_modes):
8663         * fileio.c (Fverify_visited_file_modtime):
8664         * floatfns.c (Facos):
8665         * floatfns.c (Fasin):
8666         * floatfns.c (Fatan):
8667         * floatfns.c (Fcos):
8668         * floatfns.c (Fsin):
8669         * floatfns.c (Ftan):
8670         * floatfns.c (Fbessel_j0):
8671         * floatfns.c (Fbessel_j1):
8672         * floatfns.c (Fbessel_jn):
8673         * floatfns.c (Fbessel_y0):
8674         * floatfns.c (Fbessel_y1):
8675         * floatfns.c (Fbessel_yn):
8676         * floatfns.c (Ferf):
8677         * floatfns.c (Ferfc):
8678         * floatfns.c (Flog_gamma):
8679         * floatfns.c (Fexp):
8680         * floatfns.c (Fexpt):
8681         * floatfns.c (Flog):
8682         * floatfns.c (Flog10):
8683         * floatfns.c (Fsqrt):
8684         * floatfns.c (Fcube_root):
8685         * floatfns.c (Facosh):
8686         * floatfns.c (Fasinh):
8687         * floatfns.c (Fatanh):
8688         * floatfns.c (Fcosh):
8689         * floatfns.c (Fsinh):
8690         * floatfns.c (Ftanh):
8691         * floatfns.c (Fabs):
8692         * floatfns.c (Ffloat):
8693         * floatfns.c (Flogb):
8694         * floatfns.c (Fceiling):
8695         * floatfns.c (Ffloor):
8696         * floatfns.c (Fround):
8697         * floatfns.c (Ftruncate):
8698         * floatfns.c (Ffceiling):
8699         * floatfns.c (Fffloor):
8700         * floatfns.c (Ffround):
8701         * floatfns.c (Fftruncate):
8702         * fns.c (Fstring_equal):
8703         * fns.c (Fstring_lessp):
8704         * fns.c (concat2):
8705         * fns.c (concat3):
8706         * fns.c (vconcat2):
8707         * fns.c (vconcat3):
8708         * fns.c (Fsubstring):
8709         * fns.c (Fassoc):
8710         * fns.c (Fold_assoc):
8711         * fns.c (assoc_no_quit):
8712         * fns.c (Fassq):
8713         * fns.c (Fold_assq):
8714         * fns.c (assq_no_quit):
8715         * fns.c (Frassoc):
8716         * fns.c (Fold_rassoc):
8717         * fns.c (Frassq):
8718         * fns.c (Fold_rassq):
8719         * fns.c (rassq_no_quit):
8720         * fns.c (Fremassoc):
8721         * fns.c (remassoc_no_quit):
8722         * fns.c (Fremassq):
8723         * fns.c (remassq_no_quit):
8724         * fns.c (Fremrassoc):
8725         * fns.c (Fremrassq):
8726         * fns.c (remrassq_no_quit):
8727         * fns.c (Fsort):
8728         * fns.c (Fplist_get):
8729         * fns.c (Fplist_put):
8730         * fns.c (Fplist_remprop):
8731         * fns.c (Fplist_member):
8732         * fns.c (Flax_plist_get):
8733         * fns.c (Flax_plist_put):
8734         * fns.c (Flax_plist_remprop):
8735         * fns.c (Flax_plist_member):
8736         * fns.c (Fequal):
8737         * fns.c (Fold_equal):
8738         * fns.c (Frequire):
8739         * fns.c (Fbase64_encode_region):
8740         * fns.c (Fbase64_encode_string):
8741         * fns.c (Fbase64_decode_region):
8742         * frame.c:
8743         * frame.c (frame_matches_frame_spec):
8744         * frame.c (device_matches_device_spec):
8745         * frame.c (next_frame):
8746         * frame.c (previous_frame):
8747         * frame.c (Fnext_frame):
8748         * frame.c (Fprevious_frame):
8749         * frame.c (Fframe_property):
8750         * frame.c (Fset_frame_height):
8751         * frame.c (Fset_frame_size):
8752         * frame.h:
8753         * glyphs.c:
8754         * glyphs.c (if):
8755         * glyphs.c (decode_error_behavior_flag):
8756         * glyphs.c (Fmake_image_instance):
8757         * indent.c (Findent_to):
8758         * intl.c (Fignore_defer_gettext):
8759         * keymap.c (Fkeymapp):
8760         * keymap.c (Flookup_key):
8761         * lread.c:
8762         * lread.c (Fload_internal):
8763         * lread.c (Feval_buffer):
8764         * lread.c (Feval_region):
8765         * macros.c (Fexecute_kbd_macro):
8766         * marker.c (set_marker_internal):
8767         * marker.c (Fset_marker):
8768         * marker.c (set_marker_restricted):
8769         * marker.c (Fcopy_marker):
8770         * marker.c (noseeum_copy_marker):
8771         * menubar.c:
8772         * menubar.c (Fpopup_menu):
8773         * minibuf.c:
8774         * mule-charset.c (Fcharset_name):
8775         * mule-charset.c (Fchar_charset):
8776         * mule-charset.c (Fchar_octet):
8777         * mule-charset.c (Fsplit_char):
8778         * mule-wnnfns.c (Fwnn_open):
8779         * mule-wnnfns.c (Fwnn_dict_comment):
8780         * mule-wnnfns.c (Fwnn_quit_henkan):
8781         * mule-wnnfns.c (Fwnn_word_toroku):
8782         * mule-wnnfns.c (Fwnn_word_sakujo):
8783         * mule-wnnfns.c (Fwnn_word_use):
8784         * mule-wnnfns.c (Fwnn_hindo_set):
8785         * objects.c:
8786         * objects.c (Fmake_color_instance):
8787         * objects.c (Fmake_font_instance):
8788         * print.c (Fwrite_char):
8789         * process.c:
8790         * process.c (mark_process):
8791         * process.c (print_process):
8792         * process.c (get_process_from_usid):
8793         * process.c (Fprocessp):
8794         * process.c (Fprocess_live_p):
8795         * process.c (Fget_process):
8796         * process.c (Fget_buffer_process):
8797         * process.c (get_process):
8798         * process.c (Fprocess_id):
8799         * process.c (Fprocess_name):
8800         * process.c (Fprocess_command):
8801         * process.c (init_process_io_handles):
8802         * process.c (start_process_unwind):
8803         * process.c (Fstart_process_internal):
8804         * process.c (Fopen_multicast_group_internal):
8805         * process.c (Fset_process_window_size):
8806         * process.c (read_process_output):
8807         * process.c (send_process):
8808         * process.c (Fprocess_tty_name):
8809         * process.c (Fset_process_buffer):
8810         * process.c (Fprocess_buffer):
8811         * process.c (Fprocess_mark):
8812         * process.c (set_process_filter):
8813         * process.c (Fset_process_filter):
8814         * process.c (Fprocess_filter):
8815         * process.c (Fprocess_send_region):
8816         * process.c (Fprocess_send_string):
8817         * process.c (exec_sentinel):
8818         * process.c (Fset_process_sentinel):
8819         * process.c (Fprocess_sentinel):
8820         * process.c (status_notify):
8821         * process.c (Fprocess_status):
8822         * process.c (Fprocess_exit_status):
8823         * process.c (process_send_signal):
8824         * process.c (Fprocess_send_eof):
8825         * process.c (deactivate_process):
8826         * process.c (remove_process):
8827         * process.c (Fdelete_process):
8828         * process.c (kill_buffer_processes):
8829         * process.c (Fprocess_kill_without_query):
8830         * process.c (Fprocess_kill_without_query_p):
8831         * rangetab.c:
8832         * rangetab.c (Fget_range_table):
8833         * rangetab.c (Fput_range_table):
8834         * rangetab.c (Fremove_range_table):
8835         * rangetab.c (Fclear_range_table):
8836         * search.c:
8837         * search.c (Fskip_chars_forward):
8838         * search.c (Fskip_chars_backward):
8839         * search.c (Fskip_syntax_forward):
8840         * search.c (Fskip_syntax_backward):
8841         * search.c (search_command):
8842         * search.c (Freplace_match):
8843         * search.c (Fregexp_quote):
8844         * select.c (Fown_selection_internal):
8845         * select.c (Fselection_owner_p):
8846         * select.c (Fselection_exists_p):
8847         * select.c (Fget_selection_internal):
8848         * specifier.c:
8849         * symbols.c:
8850         * symbols.c (Fintern):
8851         * symbols.c (Fintern_soft):
8852         * symbols.c (Funintern):
8853         * symbols.c (Fapropos_internal):
8854         * symbols.c (Fset_default):
8855         * syntax.c:
8856         * syntax.c (Fsyntax_table_p):
8857         * syntax.c (Fcopy_syntax_table):
8858         * syntax.c (Fset_syntax_table):
8859         * syntax.c (Fchar_syntax):
8860         * syntax.c (syntax_match):
8861         * syntax.c (Fmatching_paren):
8862         * syntax.c (Fforward_word):
8863         * syntax.c (scan_lists):
8864         * syntax.c (Fscan_lists):
8865         * syntax.c (Fscan_sexps):
8866         * syntax.c (Fparse_partial_sexp):
8867         * toolbar.c (Fcheck_toolbar_button_syntax):
8868         * tooltalk.doc:
8869         * window.c:
8870         * window.c (Fwindowp):
8871         * window.c (Fwindow_live_p):
8872         * window.c (Fwindow_point):
8873         * window.c (Fdelete_window):
8874         * window.c (Fnext_window):
8875         * window.c (Fprevious_window):
8876         * window.c (Fother_window):
8877         * window.c (window_loop):
8878         * window.c (Fget_lru_window):
8879         * window.c (Fsplit_window):
8880         * window.c (Fenlarge_window):
8881         * window.c (Fenlarge_window_pixels):
8882         * window.c (Fshrink_window):
8883         * window.c (Fshrink_window_pixels):
8884         * window.c (change_window_height):
8885         * window.c (Fwindow_configuration_p):
8886         * window.c (Fcurrent_window_configuration):
8887         * window.h:
8888         * casefiddle.c (casify_object):
8889         * casefiddle.c (Fupcase):
8890         * casefiddle.c (Fdowncase):
8891         * casefiddle.c (Fcapitalize):
8892         * casefiddle.c (Fupcase_initials):
8893         * casefiddle.c (casify_region_internal):
8894         * casefiddle.c (casify_region):
8895         * casefiddle.c (Fupcase_region):
8896         * casefiddle.c (Fdowncase_region):
8897         * casefiddle.c (Fcapitalize_region):
8898         * casefiddle.c (Fupcase_initials_region):
8899         * casefiddle.c (Fupcase_word):
8900         * casefiddle.c (Fdowncase_word):
8901         * casefiddle.c (Fcapitalize_word):
8902         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8903         Replace 0 with '\0' when working with bytes.
8904         Replace initial "(" with "\(" in docstrings.
8905
8906 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8907
8908         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8909
8910         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8911
8912 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8913
8914         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8915
8916 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8917
8918         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8919         correctly.
8920
8921 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8922
8923         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8924         (inhibit_auto_save_session): New variable.
8925         (vars_of_fileio): Declare and initialize them.
8926         * fileio.c (Fdo_auto_save): Don't create session file if
8927         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8928
8929 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8930
8931         * sgiplay.c (play_internal): C++ compilability.
8932         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8933         * callproc.c (Fold_call_process_internal):
8934         Remove unused vars `env', `first'.
8935         * scrollbar.c (update_scrollbar_instance):
8936         #### unused var `current_window'.
8937         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8938         etc. within #ifdef NOT_YET.
8939         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8940         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8941         * specifier.c (specifier_instance):
8942         #### unused var `tag'.
8943         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8944
8945 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8946
8947         * fns.c (Fbutlast):
8948         * fns.c (list_sort):
8949         * fns.c (Ffillarray):
8950         * fns.c (bytecode_nconc2):
8951         * fns.c (Fnconc):
8952         * fns.c (mapcar1):
8953         * fns.c (Fmapconcat):
8954         Be pedantically 64-bit correct.  For the time when someone will
8955         want to have a list with length > 2**32.
8956
8957         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8958         Work around MIPSpro compiler bug.
8959
8960         * process-unix.c (unix_kill_child_process): Add snarky comment.
8961         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8962
8963         * config.h.in: Oops, _getpt ==> _getpty
8964
8965 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8966
8967         * config.h.in:
8968         * regex.c:
8969         Use void*, not char*, as return type of alloca().
8970
8971         * alloc.c (free_marker): Side effect inside assert expression!
8972
8973 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8974
8975         * mule-charset.c (Fset_charset_ccl_program): To check
8976         if the given ccl program is valid, use setup_ccl_program()
8977         instead of CHECK_VECTOR().
8978         (Fmake_charset): Likewise.
8979
8980 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8981
8982         * faces.c (get_extent_fragment_face_cache_index):
8983         Fix cachel.merged_faces memory leak.
8984
8985 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8986
8987         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8988         Reset MSB of octets obtained by DECODE_SJIS
8989         because of the incompatibility with Emacs.
8990         (ccl_driver)<CCL_ENCODE_SJIS>:
8991         Set MSB of octets before passing them to
8992         ENCODE_SJIS because of the incompatibility
8993         with Emacs.
8994
8995 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8996
8997         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8998         (DECLARE_LRECORD): Undo the last change.
8999         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9000
9001 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9002
9003         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9004         the implementation to lrecord_implementations_table.
9005
9006 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9007
9008         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9009         initial value of `lrecord_type_##c_name' and
9010         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9011         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9012         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9013         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9014         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9015
9016 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9017
9018         * miscplay.c (sndcnv8S_2mono):
9019         (sndcnv2monounsigned):
9020         (sndcnvULaw_2linear):
9021         (sndcnv16swap):
9022         Remove implementation-defined behavior.
9023
9024 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9025
9026         * input-method-xlib.c: Warning suppression.
9027
9028 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9029
9030         * mule-ccl.c: Sync up with Emacs 21.0.90.
9031         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9032         Do nothing.
9033         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9034         Likewise.
9035         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9036         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9037         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9038         leading char belongs to official 2-dimensional charset.
9039         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9040         write the given character as is.  Otherwise,
9041         if it is a multibyte char, convert it by
9042         non_ascii_set_charptr_emchar, then write it.
9043         (CCL_WRITE_STRING): Likewise.
9044         (ccl_get_compiled_code): New function.
9045         (setup_ccl_program): When ccl_prog is invalid,
9046         return -1.
9047         (Fregister_code_conversion_map): New function.
9048         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9049
9050         * mule-ccl.h: Sync up with Emacs 21.0.90.
9051         (Fregister_ccl_program): export it.
9052
9053         * redisplay-msw.c (separate_textual_runs):
9054         If ccl program is not valid, don't do ccl conversion.
9055
9056         * redisplay-x.c (separate_textual_runs): Ditto.
9057
9058         * file-coding.c (Fmake_coding_system):
9059         When type is ccl and value is vector, register it
9060         with a proper symbol.  And checks whether the
9061         given ccl program is valid.
9062         (mule_decode): When calling ccl_driver, if src indicates
9063         NULL pointer, set an empty string instead.
9064         (mule_encode): Likewise.
9065
9066 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9067
9068         The following large batch of changes gets us back to a state of
9069         C++ compilability.  Extbyte is now a char, which means that
9070         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9071
9072         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9073
9074         * sound.c (Fplay_sound): Type correctness.
9075
9076         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9077         (x_get_window_property): Type correctness.
9078         (receive_incremental_selection): unsigned char ==> Extbyte
9079         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9080         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9081         (Fx_store_cutbuffer_internal): Type correctness.
9082
9083         * process-unix.c (try_to_initialize_subtty): Type correctness.
9084
9085         * objects-x.c (x_print_color_instance): Type correctness.
9086         (x_print_font_instance): Type correctness.
9087         (x_list_fonts): SExtbyte ==> Extbyte.
9088         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9089         (x_find_charset_font): SExtbyte ==> Extbyte.
9090         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9091         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9092         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9093         Use bufbyte_strcmp.
9094
9095         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9096         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9097         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9098         (BYTE_C0_P): Use bit ops for char-signedness safety.
9099         (BYTE_C1_P): Use bit ops for char-signedness safety.
9100         (CHARSET_BY_LEADING_BYTE):
9101         (CHARSET_BY_ATTRIBUTES):
9102         Always use inline function.
9103         Use type_checking_assert.
9104         Hide chlook.
9105
9106         * mule-charset.c (non_ascii_charptr_copy_char):
9107         Modify to work with both ASCII and non-ASCII characters.
9108         Improve docs and variable names.
9109         Replace over-clever fall-through switch with a simple loop.
9110         (Lstream_get_emchar_1):
9111         Replace over-clever fall-through switch with a simple loop.
9112
9113         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9114         Warning suppression.
9115
9116         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9117         the return value of Lstream_getc, which could be EOF as well.
9118
9119         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9120
9121         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9122         APIs can be used on Extbytes without casts.  Risky!
9123         (SExtbyte): Remove.
9124         (UExtbyte): Remove.
9125
9126         * input-method-xlib.c (XIM_init_device):
9127         Use Xlib.h instead of IntrinsicP.h.
9128         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9129         which will break in X11R7.
9130         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9131         to call XRegisterIMInstantiateCallback with correct types.
9132
9133         * gui-x.c (button_item_to_widget_value): Type correctness.
9134
9135         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9136
9137         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9138         (xbm_instantiate_1): Type correctness.
9139         (BUILD_GLYPH_INST):  Type correctness.
9140
9141         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9142
9143         * file-coding.c:
9144         (decode_coding_sjis):
9145         (decode_coding_big5):
9146         (decode_coding_ucs4):
9147         (decode_coding_utf8):
9148         (decode_coding_iso2022):
9149         (decode_coding_no_conversion):
9150         Make all decoding functions take an Extbyte * arg.
9151         (encode_coding_sjis):
9152         (encode_coding_big5):
9153         (encode_coding_ucs4):
9154         (encode_coding_utf8):
9155         (encode_coding_iso2022):
9156         (encode_coding_no_conversion):
9157         Make all encoding functions take a Bufbyte * arg.
9158         Use size_t instead of unsigned int for memory sizes.
9159         Only cast to unsigned char whenever dereferencing Extbyte *.
9160
9161         * doc.c (unparesseuxify_doc_string): Type correctness.
9162
9163         * console-x.c (split_up_display_spec):
9164         Rewrite without using details of internal string representation.
9165         (x_semi_canonicalize_device_connection): Type correctness.
9166
9167         * config.h.in:
9168         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9169         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9170         (HAVE_XFREE386): Removed.
9171
9172         * buffer.h (DEC_CHARPTR): `const' correctness.
9173         (bufbyte_strcmp): New.
9174         (bufbyte_memcmp): New.
9175
9176         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9177
9178         * buffer.h (XCHAR_OR_CHAR_INT):
9179         Always use inline function.
9180         Remove redundant type checking assert() - XINT will abort quite nicely.
9181
9182 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9183
9184         * search.c (Freplace_match): Set newtext to an empty string.
9185
9186 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9187
9188         * s/decosf1-3.h: Remove #include of stropts.h
9189         * s/ptx.h: Remove #include of stropts.h
9190         * s/usg5-4.h: Remove #include of stropts.h
9191         * sysproc.h:
9192         * config.h.in:
9193         Use stropts.h, not sys/stropts.h.
9194         Use strtio.h, not sys/strtio.h.
9195
9196 2000-10-04  Martin Buchholz <martin@xemacs.org>
9197
9198         * XEmacs 21.2.36 is released.
9199
9200 2000-09-21  Andy Piper  <andy@xemacs.org>
9201
9202         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9203         changes still involve copying the widget tree.
9204         (update_widget_face): make sure a change is register in the widget
9205         tree. Call update_tab_widget_face appropriately.
9206         (update_tab_widget_face): ditto.
9207         (x_tab_control_redisplay): make sure non-structural changes still
9208         involve copying the widget tree.
9209
9210 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9211
9212         * lread.c (locate_file): Check the path element is non-nil.
9213
9214 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9215
9216         * lisp.h: Warning suppression for SCO compilers.
9217
9218         * redisplay-tty.c (reset_tty_modes): Fix crash.
9219         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9220
9221 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9222
9223         Big signal/process handling overhaul.  Bugs fixed:
9224         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9225         M-x comint-kill-subjob should work for both values nil and t of
9226         process-connection-type. It was broken on most platforms.
9227         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9228         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9229         * process-unix.c: Signal/Process handling overhaul.
9230         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9231         (allocate_pty): Use all available modern methods of allocating
9232         ptys, falling back to old style BSD allocation as a last resort.
9233         Use allegedly more secure Unix98 pty allocation by default.
9234         (allocate_pty_the_old_fashioned_way): New. the last resort.
9235         (unix_create_process): Push ptem, ldterm, ttcompat where
9236         available.  Autoconfiscate.
9237         (try_to_initialize_subtty): New.
9238         (unix_kill_child_process): Proper signal handling for ptys on most
9239         platforms, using special knowledge of AIX, BSD, etc...
9240         (unix_create_process): Always disconnect_controlling_terminal() for
9241         subprocesses, whether using ptys or not.
9242         * process.h: Remove old getpt-dependent PTY code.
9243         * process.c (Fprocess_send_signal): New, obvious generic function.
9244         (decode_signal): New.
9245         (Finterrupt_process):
9246         (Fkill_process):
9247         (Fquit_process):
9248         (Fstop_process):
9249         (Fcontinue_process):
9250         (Fsignal_process): Use decode_signal.
9251         (process_send_signal):
9252         Many docstring corrections.
9253         Allow any signal to be sent to a process object.
9254         * config.h.in: Add symbols for big signal/process overhaul.
9255         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9256         * sysproc.h: Include process-related headers, where available:
9257         sys/stropts.h sys/strtio.h pty.h libutil.h
9258         * s/irix4-0.h:
9259         * s/irix5-0.h:
9260         * s/cygwin32.h:
9261         * s/gnu.h:
9262         * s/linux.h:
9263         * s/hpux.h:
9264         * s/aix3-1.h:
9265         Remove old S&M pty stuff.
9266         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9267         * systty.h: Simplify cpp hackery, improve comments.
9268         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9269
9270         * editfns.c (Fformat_time_string):
9271         Be a little more paranoid with the return value of ctime.
9272
9273         * fileio.c (check_executable):
9274         (check_writable):
9275         Use symbolic constants X_OK, W_OK.
9276
9277         * console-x.c (split_up_display_spec): Fix a warning.
9278
9279 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9280
9281         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9282         * ntproc.c (sys_spawnve): make_string ==> build_string
9283         Small clarity improvements.
9284
9285 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9286
9287         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9288
9289         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9290
9291         * config.h.in (HAVE_STRCASECMP): Remove.
9292
9293 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9294
9295         * redisplay-output.c (redisplay_output_pixmap):
9296         Cleaner and possibly more 64-bit correct code.
9297
9298 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9299
9300         * dumper.c (pdump_load_finish): move restoration of
9301         `noninteractive1' to emacs.c (main_1).
9302         * emacs.c (main_1): protect LISP-visible command-line flags
9303         from pdump_load().
9304
9305 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9306
9307         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9308         DUMP_TARGET instead of literal program names.
9309
9310 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9311
9312         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9313
9314 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9315
9316         * *: Spelling mega-patch
9317
9318 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9319
9320         * fns.c (bad_bad_turtle):
9321         Delete "Eek!" comment, since we fixed the bug to which it refers.
9322
9323 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9324
9325         * alloca.c: Replace REGISTER with register.
9326
9327 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9328
9329         * file-coding.c (ucs_to_char): Use countof.
9330
9331 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9332
9333         * file-coding.c: (ucs_to_char):
9334         (complex_vars_of_file_coding):
9335         Use countof instead of sizeof.
9336         Use CHECK_NATNUM instead of CHECK_INT.
9337
9338         * sysdep.c (strcasecmp): Remove.
9339         * device-x.c (ascii_strcasecmp): New.
9340         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9341         Avoid using non-standard non-portable strcasecmp.
9342
9343 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9344
9345         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9346         * font-lock.c: remove reference to emacsfns.h.
9347         * search.c: small doc improvement.
9348         * event-Xt.c: correct file names in comments.
9349         * console-x.h Correct file names in comments.
9350         * frame.c: Correct file names in comments.
9351         * event-stream.c: remove Energize from comments.
9352
9353 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9354
9355         * symeval.h (DEFERROR_STANDARD):
9356         (DEFERROR):
9357         (DEFSYMBOL):
9358         (DEFSYMBOL_NO_DUMP):
9359         (DEFSYMBOL_MULTIWORD_PREDICATE):
9360         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9361         (DEFKEYWORD):
9362         The construct &##name is not sensible C.
9363         Fixes compilation errors with Unixware native compiler.
9364
9365 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9366
9367         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9368         (next_frame_internal): Removed.  We now just have next_frame.
9369         (next_frame):
9370         Write a simpler and cleaner one-pass algorithm.
9371         Remove called_from_delete_device arg and #ifdefed-out code.
9372         (previous_frame):
9373         Renamed from prev_frame.  Update callers.
9374         Cleaned up to have an analogous implementation to next_frame.
9375         (other_visible_frames_internal): Remove the
9376         called_from_delete_device bogus arg, and hence, remove this
9377         function.  Just use other_visible_frames().
9378
9379         * window.c (Fnext_window):
9380         Prettify docstring.
9381         Since next_frame() is guaranteed to return a frame, remove check
9382         for nil inserted in previous patch.
9383         (Fprevious_window):
9384         Prettify docstring.
9385         Make code look more like Fnext_window.
9386         (window_loop):
9387         Respect the `console' arg when iterating through windows.
9388         Fixes bug: (get-buffer-window buffer t device) not respecting
9389         the `device' arg.
9390         This function needs more work, as others have pointed out.
9391
9392         * frame.h: Rename prev_frame to previous_frame.
9393         device_matches_console_spec no longer takes a `frame' arg.
9394
9395         * s/gnu.h:
9396         * s/linux.h:
9397         * s/hpux.h:
9398         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9399         From "Golubev I. N." <gin@mo.msk.ru>.
9400
9401         * make-src-depend: Fix typo.
9402
9403 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9404
9405         * window.c (Fnext_window):
9406         next_frame() might return nil, not a frame.
9407         Fixes this crash:
9408         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9409
9410         * frame.c (next_frame_internal):
9411         We've passed a frame if we've passed its device.
9412         Fixes this crash:
9413         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9414 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9415
9416 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9417
9418         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9419         Allow option to suppress accelerators in menu/dialog items.
9420         (populate_or_checksum_helper): Pass dialog title through above.
9421
9422 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9423
9424         * event-msw.c (mswindows_key_to_emacs_keysym):
9425         Add "pause" key, fix "menu" key.
9426
9427 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9428
9429         * eval.c (reinit_vars_of_eval):
9430         Increase max_lisp_eval_depth to 1000,
9431         required for thai-xtis.el to byte-compile under some circumstances.
9432
9433 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9434
9435         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9436         From Kenichi Handa.
9437
9438 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9439
9440         * make-src-depend: Make the generated Makefiles smaller.
9441
9442         * s/hpux.h (SETUP_SLAVE_PTY):
9443         Provide a %d in the format string for the errno argument.
9444
9445         * editfns.c (Ftemp_directory):
9446         Warning fix.
9447         Avoid buffer overrun on very long file name.
9448
9449         * input-method-xlib.c (XIM_init_device):
9450         6th parameter of XRegisterIMInstantiateCallback has different
9451         pointer types on different OSes, so simply cast to (void *).
9452
9453         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9454
9455         * sysdll.c (dll_open):
9456         shl_load will hang hard if passed a NULL filename.
9457         Simply return NULL for compatibility with dlopen.
9458         * sysdll.c: Conform to XEmacs coding standards.
9459
9460         * sysdep.c (get_pty_max_bytes):
9461         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9462
9463 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9464
9465         * tooltalk.c: Add #include <syssignal.h>
9466
9467 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9468
9469         * s/hpux.h: Don't use undefined function sigunblock().
9470
9471 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9472
9473         * config.h.in: Add HAVE_BALLOON_HELP.
9474         * emacs.c: Use HAVE_BALLOON_HELP.
9475         * Makefile.in.in (x_objs):
9476         Make Balloon Help conditional on finding shape.h.
9477
9478 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9479
9480         * syntax.c (regex_emacs_buffer_p): New variable.
9481         * syntax.h (regex_emacs_buffer_p): extern.
9482         * search.c (looking_at_1):
9483         (string_match_1):
9484         (fast_string_match):
9485         (search_buffer): Set regex_emacs_buffer_p.
9486         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9487         when before_dot, at_dot, after_dot.
9488
9489 2000-08-23  Andy Piper  <andy@xemacs.org>
9490
9491         * gui-x.c (popup_selection_callback): Only set action_occurred
9492         when we really have an image instance.
9493         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9494
9495 2000-08-23  Andy Piper  <andy@xemacs.org>
9496
9497         * gui-msw.c (mswindows_handle_gui_wm_command): set
9498         action_occurred.
9499         * gui-x.c (popup_selection_callback): ditto.
9500
9501         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9502         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9503         (struct Lisp_Image_Instance): add action_occurred flag.
9504
9505         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9506         (image_instance_changed): ditto.
9507         (reset_frame_subwindow_instance_cache): only unmap windows - do
9508         not remove them from the cache also.
9509
9510         * glyphs-widget.c (tab_control_update): better debug.
9511         (progress_gauge_update): ditto.
9512         (layout_update): ditto.
9513         (layout_instantiate): ditto.
9514         (tab_control_order_only_changed): cope with null pending items.
9515
9516         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9517         debug. Force selection of an item when an action occurred. Cope
9518         with null pending_items.
9519         (mswindows_progress_gauge_redisplay): better debug.
9520         * glyphs-x.c (x_tab_control_redisplay): ditto.
9521
9522         * redisplay.c (redisplay_frame): reset the frame cache if the
9523         frame is garbaged.
9524
9525         * window.c (Fset_window_configuration): potentially re-enable
9526         frame cache reset.
9527         (window_unmap_subwindows): need to finalize instances here since
9528         it is only used in mark_window_as_deleted.
9529
9530 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9531
9532         * nas.c (SndOpenDataForReading):
9533         nas.c (WaveOpenDataForReading):
9534         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9535         Somehow escaped from the 2000-08-14 patch.
9536
9537 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9538
9539         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9540         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9541
9542 2000-08-21  Andy Piper  <andy@xemacs.org>
9543
9544         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9545         window if it is not already displayed.
9546
9547         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9548         it is not already displayed.
9549
9550         * window.c (Fset_window_configuration): don't reset the frame
9551         cache.
9552
9553         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9554         instances from the frame cache if we are actually finalizing them.
9555         (reset_frame_subwindow_instance_cache): reset frame cache only
9556         after unmapping everything.
9557         (map_subwindow): set displayed flag after mapping.
9558
9559 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9560
9561         * data.c (indirect_function):
9562         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9563
9564         * eval.c (function_argcount):
9565         Use original function when signaling errors.
9566
9567 2000-08-18  Andy Piper  <andy@xemacs.org>
9568
9569         * frame.c (delete_frame_internal): use new
9570         free_frame_subwindow_instances name.
9571
9572         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9573         (add_tab_item): make return type correct.
9574         (mswindows_tab_control_instantiate): assert index of tab.
9575         (mswindows_tab_control_redisplay): Re-code to use
9576         gui_item_equal_sans_selected and gui_item_list_find_selected.
9577
9578         * glyphs-widget.c (tab_control_update): Correct comment.
9579
9580         * window.c (window_unmap_subwindows): use new
9581         unmap_subwindow_instance_cache_mapper.
9582         (window_unmap_subwindows_cache_mapper): deleted.
9583         (Fset_window_configuration): comparisons should now be with
9584         EQ. Preserve the subwindow instance cache across configuration
9585         changes.
9586         (allocate_window): ditto.
9587         (make_dummy_parent): ditto.
9588
9589         * glyphs.c (free_frame_subwindow_instances): rename from
9590         free_frame_subwindow_instance_cache. finalize all instances rather
9591         than just those in the display cache.
9592         (finalize_all_subwindow_instances): walk windows unmapping and
9593         finalizing subwindows.
9594         (unmap_subwindow_instance_cache_mapper): moved from
9595         window.c. Allow finalization as well as unmapping.
9596
9597         * gui.c (gui_item_list_find_selected): new function.
9598
9599         * gui.h (gui_item_list_find_selected): declare.
9600
9601         * glyphs-x.c (x_tab_control_redisplay): pick tab
9602         explicitly. Re-code to use gui_item_equal_sans_selected and
9603         gui_item_list_find_selected.
9604
9605         * glyphs-x.h: add lwlib-utils.h
9606
9607         * buffer.c (Frecord_buffer): undo previous change.
9608
9609 2000-08-09  Vin Shelton  <acs@xemacs.org>
9610
9611         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9612         possible.  Create temporary files more securely.  The patch was
9613         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9614         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9615         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9616         for details.
9617
9618 2000-08-07  Ben Wing  <ben@xemacs.org>
9619
9620         * getloadavg.c: remove duplicate (and windows-breaking)
9621         includes of fcntl.h and sys/file.h.
9622
9623         * nt.c: remove duplicate getloadavg() definition.
9624
9625         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9626         encodings.
9627
9628 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9629
9630         * eval.c (function_argcount): If function needs to be autoloaded
9631         actually use the loaded definition.
9632         GCPRO function.
9633
9634 2000-08-05  Ben Wing  <ben@xemacs.org>
9635
9636         * getloadavg.c: add prototype for getloadavg().  remove
9637         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9638         of the code).  remove duplicate header includes.
9639
9640         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9641
9642         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9643         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9644         useful load average.
9645
9646         * alloc.c (reinit_alloc_once_early): removed references to
9647         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9648         the lisp vars are the only things referencing the malloc_sbrk_*
9649         vars, and they were already if 0'd out.  these vars only exist
9650         in the older malloc.c, which is basically unused, and they're
9651         only for informational purposes.
9652
9653         * m\*.h: removed useless VIRT_ADDR_VARIES.
9654
9655         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9656
9657 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9658
9659         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9660         color if the image is a mono pixmap.
9661
9662 2000-07-30  Ben Wing  <ben@xemacs.org>
9663
9664         * Makefile.in.in (release):
9665         Remove stray @.
9666
9667         * buffer.c (directory_is_current_directory):
9668         * dired-msw.c (mswindows_get_files):
9669         * dired.c:
9670         * dired.c (Fdirectory_files):
9671         * dired.c (file_name_completion_stat):
9672         * dired.c (Ffile_attributes):
9673         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9674         preprocessor tricks, to avoid problems on some machines
9675         (e.g. SCO).
9676
9677         * callproc.c (egetenv): GC docs.
9678
9679         * console-msw.h:
9680         * console-msw.h (struct mswindows_dialog_id):
9681         * lrecord.h (lrecord_type):
9682         New object for use with MSW dialogs.
9683
9684         * console.h (struct console_methods):
9685         New enable/disable frame methods, for proper modal dialogs.
9686
9687         * device-msw.c (msprinter_default_printer): Fix to follow
9688         proper Mule conventions.
9689
9690         * device-msw.c:
9691         * device-msw.c (signal_open_printer_error):
9692         * device-msw.c (msprinter_init_device):
9693         * device-msw.c (ensure_not_printing):
9694         * device-msw.c (plist_get_margin):
9695         * device-msw.c (Fmsprinter_select_settings):
9696         * device-msw.c (finalize_devmode):
9697         * device-msw.c (Fmsprinter_settings_despecialize):
9698         * device-msw.c (signal_enum_priner_error):
9699         * extents.c (decode_extent):
9700         * extents.c (decode_map_extents_flags):
9701         * extents.c (decode_extent_at_flag):
9702         * extents.c (Fextent_at):
9703         * extents.c (Fextents_at):
9704         * extents.c (symbol_to_glyph_layout):
9705         [[[[2]]]] Use structured errors.
9706
9707         * dialog-msw.c:
9708         * dialog-msw.c (mswindows_is_dialog_msg):
9709         * dialog-msw.c (mark_mswindows_dialog_id):
9710         * dialog-msw.c (dialog_proc):
9711         * dialog-msw.c (handle_question_dialog_box):
9712         * dialog-msw.c (syms_of_dialog_mswindows):
9713         Define new object to clean up marking; use it as a dialog identifier.
9714         Call new delete-dialog-box-hook.
9715
9716         * dialog-x.c (dbox_selection_callback):
9717         * dialog-x.c (dbox_descriptor_to_widget_value):
9718         * dialog-x.c (x_make_dialog_box_internal):
9719         Call new delete-dialog-box-hook.
9720         Return an id.
9721
9722         * dialog.c:
9723         * dialog.c (syms_of_dialog):
9724         * dialog.c (vars_of_dialog):
9725         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9726
9727         * eval.c:
9728         * eval.c (signal_call_debugger):
9729         when noninteractive, output stack traces on the console instead
9730         of in a (never-seen) buffer.
9731
9732         * eval.c (signal_type_error):
9733         * eval.c (invalid_argument_2):
9734         * lisp.h:
9735         new funs for use w/structured errors.
9736
9737         * event-Xt.c:
9738         * event-Xt.c (x_to_emacs_keysym):
9739         * event-Xt.c (describe_event):
9740         * event-Xt.c (emacs_Xt_event_handler):
9741         * event-Xt.c (vars_of_event_Xt):
9742         * event-msw.c:
9743         * event-msw.c (mswindows_wnd_proc):
9744         * event-msw.c (vars_of_event_mswindows):
9745         rename {x,mswindows}-debug-events to debug-{}-events for
9746         consistency with other debug-foo variables.
9747
9748         * event-stream.c:
9749         document next-event more clearly.
9750
9751         * fileio.c (Ffile_name_directory):
9752         * fileio.c (Ffile_name_nondirectory):
9753         * fileio.c (Funhandled_file_name_directory):
9754         * fileio.c (file_name_as_directory):
9755         * fileio.c (Ffile_name_as_directory):
9756         * fileio.c (directory_file_name):
9757         * fileio.c (Fdirectory_file_name):
9758         * fileio.c (Fmake_temp_name):
9759         * fileio.c (Ffile_truename):
9760         * fileio.c (Fsubstitute_in_file_name):
9761         * fileio.c (expand_and_dir_to_file):
9762         * fileio.c (barf_or_query_if_file_exists):
9763         * fileio.c (check_executable):
9764         * fileio.c (Ffile_exists_p):
9765         * fileio.c (Ffile_writable_p):
9766         * fileio.c (Ffile_directory_p):
9767         * fileio.c (Ffile_regular_p):
9768         * fileio.c (Ffile_modes):
9769         * fileio.c (Ffile_newer_than_file_p):
9770         * fileio.c (Fverify_visited_file_modtime):
9771         * fileio.c (Fset_visited_file_modtime):
9772         * fileio.c (auto_save_1):
9773         (1). (2).
9774         fix up gcpro's.
9775
9776         * frame-msw.c:
9777         * frame-msw.c (mswindows_init_frame_1):
9778         * frame-msw.c (mswindows_enable_frame):
9779         * frame-msw.c (error_frame_unsizable):
9780         * frame-msw.c (msprinter_init_frame_1):
9781         * frame-msw.c (msprinter_init_frame_3):
9782         * frame-msw.c (console_type_create_frame_mswindows):
9783         (2).
9784         implement new enable/disable frame methods.
9785
9786         * frame-x.c:
9787         * frame-x.c (x_enable_frame):
9788         * frame-x.c (console_type_create_frame_x):
9789         implement new enable/disable frame methods.
9790
9791         * frame.c:
9792         * frame.c (Fdisable_frame):
9793         * frame.c (syms_of_frame):
9794         * frame.h (struct frame):
9795         implement new enable/disable frame methods/functions.
9796
9797         * general-slots.h:
9798         add initial-focus.
9799
9800         * glyphs-msw.c (mswindows_widget_instantiate):
9801         comment that initial-focus should be implemented.
9802
9803         * glyphs-widget.c:
9804         * glyphs-widget.c (check_valid_instantiator):
9805         * glyphs-widget.c (check_valid_orientation):
9806         * glyphs-widget.c (check_valid_tab_orientation):
9807         * glyphs-widget.c (check_valid_justification):
9808         * glyphs-widget.c (check_valid_border):
9809         * glyphs-widget.c (check_valid_callback):
9810         * glyphs-widget.c (check_valid_int_or_function):
9811         * glyphs-widget.c (check_valid_string_or_vector):
9812         * glyphs-widget.c (check_valid_item_list_1):
9813         * glyphs-widget.c (widget_validate):
9814         * glyphs-widget.c (combo_box_validate):
9815         * glyphs-widget.c (widget_instantiate):
9816         * glyphs-widget.c (syms_of_glyphs_widget):
9817         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9818         * glyphs-widget.c (image_instantiator_combo_box):
9819         * glyphs-widget.c (image_instantiator_scrollbar):
9820         * glyphs-widget.c (image_instantiator_tab_control):
9821         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9822         (2).
9823         support (unimplemented) keyword initial-focus.
9824         reindent long macros.
9825
9826         * glyphs-x.c (x_redisplay_widget):
9827         * glyphs-x.c (x_button_instantiate):
9828         * glyphs-x.c (x_button_redisplay):
9829         * glyphs-x.c (x_progress_gauge_instantiate):
9830         * glyphs-x.c (x_edit_field_instantiate):
9831         * glyphs-x.c (x_combo_box_instantiate):
9832         * glyphs-x.c (x_tab_control_instantiate):
9833         * glyphs-x.c (x_label_instantiate):
9834         * gui-x.c:
9835         * gui-x.c (button_item_to_widget_value):
9836         * gui-x.c (gui_items_to_widget_values_1):
9837         * gui-x.c (gui_item_children_to_widget_values):
9838         * gui-x.c (gui_items_to_widget_values):
9839         * gui-x.h:
9840         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9841         add new flag to gui-parsing routines to indicate whether
9842         accelerator specs should be supported.
9843
9844         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9845
9846         * glyphs.h (struct Lisp_Image_Instance):
9847         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9848         add initial-focus flag.
9849
9850         * gui.c:
9851         * gui.c (syms_of_gui):
9852         * gui.c (vars_of_gui):
9853         clean up menu-no-selection-hook.
9854
9855         * gui.h:
9856         support delete-dialog-box-hook.
9857
9858         * lread.c (Fload_internal):
9859         * lread.c (locate_file_in_directory_mapper):
9860         (1).
9861
9862         * lrecord.h:
9863         * lrecord.h (struct toolbar_button):
9864         * lrecord.h (syms_of_toolbar):
9865         document how to create a new object.
9866
9867         * menubar-msw.c (mswindows_char_is_accelerator):
9868         may be called on frames w/o menus.
9869
9870         * menubar.c (vars_of_menubar):
9871         clean up :filter docs.
9872
9873         * nt.c (readdir):
9874         * ntproc.c:
9875         (1).
9876
9877         * process-nt.c:
9878         * process-nt.c (validate_signal_number):
9879         * process-nt.c (signal_cannot_launch):
9880         * process-nt.c (nt_create_process):
9881         * process-nt.c (nt_send_process):
9882         * process-nt.c (nt_kill_child_process):
9883         * process-nt.c (nt_open_network_stream):
9884         * process-nt.c (syms_of_process_nt):
9885         (2).
9886         delete quote-handling.  call new lisp code that does it better.
9887
9888         * process-unix.c (connect_to_file_descriptor):
9889         * process-unix.c (allocate_pty):
9890         * process-unix.c (unix_send_process):
9891         * process-unix.c (unix_kill_child_process):
9892         * process-unix.c (unix_open_network_stream):
9893         * process-unix.c (unix_open_multicast_group):
9894         (1). (2).
9895
9896         * process.c:
9897         * process.c (Fstart_process_internal):
9898         (2).  need to canonicalize process path even if absolute.
9899
9900         * select-msw.c (symbol_to_ms_cf):
9901         * select-msw.c (ms_cf_to_symbol):
9902         * select-msw.c (cf_is_autofreed):
9903         * select-msw.c (mswindows_destroy_selection):
9904         * select.c:
9905         * select.c (syms_of_select):
9906         * select.h:
9907         support dibv5, fix bugs. (from Mike Alexander)
9908
9909         * select.c (Fget_selection_internal):
9910         * select.c (select_convert_out):
9911
9912         * sysdep.c:
9913         * sysdep.c (xemacs_stat):
9914         renamed.
9915
9916         * sysdep.c (mkdir):
9917         * sysdep.c (rmdir):
9918         but keep original stat() here because we provide encapsulation
9919         around these funs.
9920
9921         * sysfile.h:
9922         * sysfile.h (fstat):
9923         remove stat garbage.
9924
9925         * syswindows.h:
9926         fix X/MSW conflict.
9927         don't include tchar.h.  it's inappropriate because it makes
9928         compile-time distinctions when we want runtime distinctions.
9929         (we provide our own tchar replacements)
9930
9931         * toolbar.c:
9932         use default object printer for toolbar-button.
9933
9934         * unexcw.c:
9935         make sure we don't encapsulate.
9936
9937         * window.c (vars_of_window):
9938         emphasize that temp-buffer-show-hook is obsolete.
9939
9940 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9941
9942         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9943         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9944
9945         * events.c (Fevent_timestamp_lessp):
9946         Not 64-bit clean.  Use EMACS_INT, not int.
9947
9948 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9949
9950         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9951         unsigned int and changed the last enum to
9952         lrecord_type_last_built_in_type.
9953         (lrecord_implementations_table): changed prototype to know how
9954         long the array is supposed to be.
9955         (lrecord_type_count): new unsigned int to keep track of the
9956         current number of lisp lrecord types.
9957         (DEFINE_EXTERNAL_LRECORD):
9958         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9959         dynamic-modules to declare new lisp types. They are the same
9960         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9961         int for each new type, and increment lrecord_type_count by 1.
9962
9963         * alloc.c (lrecord_implementations_table): Changed to reference
9964         lrecord_type_last_built_in_type for the size of the array.
9965         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9966
9967 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9968
9969         * glyphs.h (check_valid_item_list): Renamed from
9970         check_valid_item_list_1.
9971
9972 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9973
9974         * select.c (Qselect_coerce): New.
9975         * select.c (Vselection_coercion_alist): New.
9976         * select.c (syms_of_select): Declare.
9977         * select.c (get-selection-internal): Use it.
9978         Use the new select-coerce functionality.
9979
9980         * select.c (select_coerce): New.
9981         * select.h (select_coerce): Declare.
9982         New function to coerce one type of data into another.
9983
9984 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9985
9986         * callproc.c (Fcall_process_internal):
9987         (Fcall_process_internal):
9988         * process-unix.c (unix_create_process):
9989         Save and restore the value of errno, so that error messages are accurate.
9990
9991 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9992
9993         * elhash.c (print_hash_table):
9994         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9995         Prettify docstrings and indentation.
9996
9997 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9998
9999         * window.c (Fwindow_pixel_edges): Subtract frame border and
10000         gutter size.
10001
10002 2000-07-31  Andy Piper  <andy@xemacs.org>
10003
10004         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10005         will acknowledge the change.
10006
10007         * glyphs.h: declare tab_control_order_only_changed.
10008
10009         * glyphs-x.c (x_tab_control_redisplay): use
10010         tab_control_order_only_changed.
10011
10012         * glyphs-widget.c (tab_control_order_only_changed): new function.
10013
10014         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10015         tab_control_order_only_changed.
10016
10017         * gui.c (gui_item_equal_sans_selected): new function.
10018         (gui_item_equal): use it.
10019
10020         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10021         :properties in favor of :items..
10022
10023         * glyphs-widget.c (check_valid_item_list): rename from
10024         check_valid_item_list_1.
10025         (check_valid_item_list_1): renamed.
10026         (combo_box_validate): deprecate :properties in favor of :items.
10027         (widget_instantiate): ditto.
10028         (tab_control_update): ditto.
10029         (image_instantiator_combo_box): ditto.
10030         (image_instantiator_tree_view): ditto.
10031         (image_instantiator_tab_control): ditto.
10032         (layout_post_instantiate): remove dead code.
10033
10034         * print.c (debug_print_no_newline): only write to debugger if in
10035         WIN32_NATIVE.
10036
10037         * elhash.c (Fmake_hash_table): update doc string.
10038
10039         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10040         messages whilst in GC. This at least stops XEmacs crashing but has
10041         the potential for wierd behaviour.
10042
10043 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10044
10045         * config.h.in:
10046         Make existence of s&m files optional.
10047
10048         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10049         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10050         * s/gnu.h: Remove HAVE_GETLOADAVG.
10051         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10052         * s/sol2.h: Remove HAVE_GETLOADAVG.
10053         * lisp.h: Remove getloadavg() declaration.
10054         * fns.c:
10055         Include <sys/loadavg.h> if available.
10056         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10057         * config.h.in:  Group together getloadavg()-related macros.
10058         Use only configure-time tests to detect getloadavg().
10059
10060 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10061
10062         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10063
10064 2000-07-25  Andy Piper  <andy@xemacs.org>
10065
10066         * syswindows.h: add tchar.h for native builds.
10067
10068         * frame.c (syms_of_frame): remove set-glyph-image.
10069
10070         * general-slots.h: add Qset_glyph_image.
10071
10072         * glyphs-widget.c (layout_update): add domain arg to
10073         set-glyph-image.
10074         (syms_of_glyphs_widget): remove set-glyph-image.
10075
10076 2000-07-23  Ben Wing  <ben@xemacs.org>
10077
10078         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10079         Vpopup_frame_list.
10080
10081 2000-07-22  Andy Piper  <andy@xemacs.org>
10082
10083         * symsinit.h: add syms_of_win32().
10084
10085         * gui-msw.c (syms_of_gui_mswindows): remove
10086         Fmswindows_shell_execute.
10087         (Fmswindows_shell_execute): moved to win32.c.
10088
10089         * emacs.c (main_1): add syms_of_win32 ().
10090
10091         * win32.c (init_potentially_nonexistent_functions): rewrite in
10092         compiler-friendly terms.
10093         (Fmswindows_shell_execute): move here from gui-msw.c.
10094         (syms_of_win32): new.
10095
10096         * device-msw.c (Fmswindows_printer_list): clean up args to
10097         EnumPrinters.
10098         Don't include tchar under cygwin or mingw.
10099         (msprinter_default_printer): make cygwin-friendly.
10100
10101 2000-07-21  Andy Piper  <andy@xemacs.org>
10102
10103         * glyphs-widget.c (image_instantiator_tree_view): use tab
10104         control's update function.
10105         (layout_property): new function. Retrieve items.
10106
10107         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10108         function. Re-populate the tree view from the pending items.
10109
10110         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10111         is designated the parent if the domain is an image instance. This
10112         is needed so that dirtiness can be cascade up the hierarchy and
10113         thus for layout children to be redisplayed correctly.
10114         (allocate_image_instance): rename glyph -> parent.
10115
10116         * redisplay.h: change redisplay_output_layout signature.
10117
10118         * redisplay-msw.c (mswindows_output_display_block): use domain
10119         arg.
10120
10121         * redisplay-x.c (x_output_display_block): use domain arg.
10122
10123 2000-07-10  Andy Piper  <andy@xemacs.org>
10124
10125         * window.c (Fset_window_configuration): add comment.
10126
10127         * redisplay-output.c (compare_runes):
10128         (redisplay_output_subwindow): redisplay rather than update subwindow.
10129         (redisplay_output_layout): ditto.
10130
10131         * redisplay-msw.c (mswindows_frame_output_end):
10132         (mswindows_frame_output_end): make defer window pos optional.
10133
10134         * lisp.h: add Flast.
10135
10136         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10137         normalize method. Change update method to be for changed
10138         instantiators. Add redisplay method. Change signature of layout
10139         method.
10140         (struct Lisp_Image_Instance): add instantiator.
10141         (IMAGE_INSTANCE_INSTANTIATOR): new.
10142         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10143         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10144         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10145
10146         * glyphs.c:
10147         (find_instantiator_differences): new function.
10148         (Fset_instantiator_property): new convenience function.
10149         (check_image_instance_structure): strictly check for vector
10150         instantiators.
10151         (normalize_image_instantiator): make non-static.
10152         (instantiate_image_instantiator): pass on dest_mask and use new
10153         signatures for image_instance_layout and friends.
10154         (mark_image_instance): mark the instantiator. Mark the subwindow
10155         face not the widget face.
10156         (image_instance_equal): add instantiator.
10157         (image_instance_hash): ditto.
10158         (allocate_image_instance): ditto.
10159         (Fset_image_instance_property): removed.
10160         (Fimage_instance_file_name): ditto.
10161         (Fcolorize_image_instance): ditto.
10162         (image_instance_layout): add offsets to be set.
10163         (update_image_instance): new function. update an image instance
10164         from its changed instantiator.
10165         (inherit_normalize): add dest_mask.
10166         (xbm_normalize): ditto.
10167         (xface_normalize): ditto.
10168         (xpm_normalize): ditto.
10169         (text_update): set_property -> update.
10170         (image_instantiate): use the glyph identity as a hash key, not the
10171         instantiator.
10172         (glyph_width): use new image_instance_layout signature.
10173         (glyph_ascent): ditto.
10174         (glyph_descent): ditto.
10175         (glyph_height): ditto.
10176         (glyph_query_geometry): ressurrect.
10177         (glyph_layout): ditto.
10178         (redisplay_subwindow): update -> redisplay.
10179         (syms_of_glyphs): add Fset_instantiator_property.
10180         (image_instantiator_format_create): set_property -> update.
10181
10182         * glyphs-x.c:
10183         (autodetect_normalize): add dest_maks to signature.
10184         (x_redisplay_subwindow): update -> redisplay.
10185         (x_redisplay_widget): ditto.
10186         (x_button_redisplay): ditto.
10187         (x_progress_gauge_redisplay): ditto.
10188         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10189         stacking order.
10190         (console_type_create_glyphs_x): update -> redisplay.
10191         (image_instantiator_format_create_glyphs_x): ditto.
10192
10193         * glyphs-widget.c:
10194         (check_valid_instantiator): disallow glyphs in the instantiator,
10195         they must now be vectors.
10196         (check_valid_instantiator_list): ditto.
10197         (glyph_instantiator_to_glyph): use internal symbol rather than
10198         intern.
10199         (widget_update): renamed from widget_set_property. Call cascaded
10200         update methods.
10201         (redisplay_widget): renamed from update_widget.
10202         (widget_layout): image_instance_layout now takes position as well
10203         as size.
10204         (widget_normalize): ditto.
10205         (widget_instantiate): ditto.
10206         (tab_control_query_geometry) ditto.:
10207         (tab_control_update): renamed from tab_control_set_property.
10208         (progress_gauge_update): set_property -> update.
10209         (layout_normalize): rewrite so that child instantiators are
10210         normalized also.
10211         (layout_update): new function. Create glyphs from the normalized
10212         children and cope with any other layout keywords. We do not
10213         instantiate children here that will be take care of by
10214         redisplay_output_layout.
10215         (layout_instantiate): call layout_update and not much else.
10216         (layout_post_instantiate): not sure whether this is needed
10217         anymore.
10218         (layout_query_geometry): query glyph geometry rather than
10219         image_instance geometry.
10220         (layout_layout): set offsets from pass in parameters. Use glyph
10221         geometry and layout functions rather than image instance ones.
10222         (native_layout_layout): ditto.
10223         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10224         (image_instantiator_widget): set_property -> update.
10225         (image_instantiator_buttons): ditto.
10226         (image_instantiator_progress_guage): ditto.
10227         (image_instantiator_tab_control): ditto.
10228         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10229         (image_instantiator_layout): add update method.
10230
10231         * glyphs-msw.c (bmp_normalize):
10232         (mswindows_resource_normalize): add dest_mask so that it can be
10233         proprogated by layout_normalize.
10234         (begin_defer_window_pos): make optional because it may not be the
10235         right thing to do and it introduces differences with X.
10236         (mswindows_unmap_subwindow): ditto.
10237         (mswindows_map_subwindow): ditto.
10238         (mswindows_redisplay_subwindow): renamed from
10239         mswindows_update_subwindow.
10240         (mswindows_redisplay_widget): ditto.
10241         (mswindows_button_redisplay): renamed from
10242         mswindows_button_update. Update is now what the instantiation
10243         function does for a changed instantiator.
10244         (mswindows_progress_gauge_instantiate): set the progress value
10245         here if appropriate.
10246         (mswindows_tab_control_redisplay): cope with re-ordering of the
10247         members of the tab widget by simply selecting the new top
10248         widget. This makes things appear ok if you click on a tab.
10249         (mswindows_combo_box_instantiate): image_instance_layout now takes
10250         position as well as size.
10251         (mswindows_progress_gauge_redisplay): renamed from
10252         mswindows_progress_gauge_update.
10253         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10254         (image_instantiator_format_create_glyphs_mswindows): ditto.
10255
10256         * glyphs-eimage.c (jpeg_normalize):
10257         (gif_normalize):
10258         (png_normalize):
10259         (tiff_normalize): add dest_mask so that it can be proprogated by
10260         layout_normalize.
10261
10262         * elhash.c:
10263         (print_hash_table):
10264         (hash_table_weakness_validate):
10265         (decode_hash_table_weakness):
10266         (Fhash_table_weakness):
10267         (Fhash_table_type):
10268         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10269
10270         * console.h (struct console_methods): move update_* to
10271         redisplay_*.
10272
10273 2000-07-20  Ben Wing  <ben@xemacs.org>
10274
10275         * *.[ch] (XSETOBJ): remove unused middle argument.
10276         lisp-disunion.h: correct wrap_object() to one argument.
10277
10278 2000-07-15  Ben Wing  <ben@xemacs.org>
10279
10280         * s/cygwin32.h:
10281         * s/cygwin32.h (CYGWIN_CONV_PATH):
10282         Add missing logb prototype for v1.1.
10283         Use post-b20 names and alias to pre-b20 names when pre-b20.
10284
10285         * s/windowsnt.h: [5].
10286
10287 2000-07-15  Ben Wing  <ben@xemacs.org>
10288
10289         * Makefile.in.in (x_objs):
10290         * Makefile.in.in (sheap_objs):
10291         * Makefile.in.in (objs):
10292         added win32.o, cosmetic cleanups.
10293
10294         * alloc.c (Fmake_byte_code):
10295         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10296         etc. macros which declare their own args now.
10297
10298         * alloc.c (syms_of_alloc):
10299         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10300
10301         * buffer.c:
10302         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10303
10304         * buffer.c (Fget_file_buffer):
10305         Fixed GCPRO problem.
10306
10307         * buffer.c (get_truename_buffer):
10308         Fixed comment about GC checking.
10309
10310         * buffer.c (syms_of_buffer):
10311         Undeclared those dedicated frame funs.
10312         [2].
10313
10314         * buffer.h:
10315         Define convenience macros for internal/external conversions.
10316         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10317         and Qenvironment_variable_encoding for cleaner code.
10318
10319         * bufslots.h:
10320         Remove dedicated-frame; in lisp.
10321
10322         * bytecode.c (funcall_compiled_function):
10323         [1].
10324
10325         * bytecode.c (syms_of_bytecode):
10326         [2].
10327
10328         * console-msw.c:
10329         * console-msw.c (mswindows_show_console): Rewrote.
10330
10331         * console-msw.c (Fmswindows_debugging_output): New.
10332         Sends to OutputDebugString (special MSWin debugger interface).
10333
10334         * console-msw.c (Fmswindows_message_box):
10335         Fixed stupid bugs so it works when called from kill-emacs.
10336
10337         * console-msw.c (syms_of_console_mswindows):
10338         Declare Fmswindows_debugging_output.
10339
10340         * console-msw.h:
10341         New MSWin prototypes.
10342
10343         * console-msw.h (struct mswindows_frame):
10344         New entry last-click-mods for improved button-modifier support.
10345
10346         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10347         New struct entry `popup' with corresponding accessor.
10348
10349         * console-x.c:
10350         * console-x.c (split_up_display_spec):
10351         * console-x.c (get_display_arg_connection):
10352         * console-x.c (x_semi_canonicalize_console_connection):
10353         * console-x.c (x_canonicalize_device_connection):
10354         [[[6]]]: Change char to more specific type.
10355         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10356
10357         * console-x.c (x_semi_canonicalize_console_connection):
10358         * console-x.c (x_canonicalize_device_connection):
10359         [[[9]]]: Fix up error signalling to use new structured error system.
10360
10361         * console-x.h:
10362         [[[4]]]: Define codesys aliases:
10363         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10364         Qx_color_name_encoding, Qx_display_name_encoding.
10365
10366         * console.h (struct console_methods):
10367         New method make_dialog_box_internal supersedes older
10368         popup_dialog_box method.
10369
10370         * data.c:
10371         Define many new errors, part of new structured errors.
10372
10373         * data.c (init_errors_once_early):
10374         * data.c (syms_of_data):
10375         [2].
10376
10377         * device-msw.c (mswindows_init_device):
10378         [[[5]]]: Cleanup to support NT 3.51.
10379
10380         * device-msw.c (decode_devmode): Cleanup.
10381
10382         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10383         * device-msw.c (mswindows_handle_print_dialog_box):
10384         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10385         * device-msw.c (syms_of_device_mswindows):
10386         Delete the dialog box primitives recently introduced by Kirill and
10387         instead interface to general dialog box interface.
10388
10389         * device-x.c:
10390         * device-x.c (compute_x_app_name):
10391         * device-x.c (x_init_device):
10392         * device-x.c (Fx_valid_keysym_name_p):
10393         * device-x.c (Fx_set_font_path):
10394         [6].
10395         [7].
10396
10397         * device.h (wrap_device): New.
10398         First of its kind; meant to replace XSETDEVICE.
10399
10400         * dialog-msw.c: Many file-dialog symbols.
10401
10402         * dialog-msw.c (mswindows_register_popup_frame): New.
10403         * dialog-msw.c (mswindows_is_dialog_msg): New.
10404         For supporting kbd traversal in dialog boxes.
10405
10406         * dialog-msw.c (dialog_proc):
10407         Support hitting ESC in dialogs.
10408
10409         * dialog-msw.c (struct):
10410         Common dialog box errors.
10411
10412         * dialog-msw.c (handle_file_dialog_box): New.
10413         Add file dialog code.
10414
10415         * dialog-msw.c (handle_question_dialog_box):
10416         Redo existing code to support new question dialog syntax.
10417
10418         * dialog-msw.c (console_type_create_dialog_mswindows):
10419         We support new dialog console method.
10420
10421         * dialog-msw.c (syms_of_dialog_mswindows):
10422         * dialog-msw.c (vars_of_dialog_mswindows):
10423         New file dialog symbols, vars.
10424
10425         * dialog-x.c:
10426         * dialog-x.c (maybe_run_dbox_text_callback):
10427         * dialog-x.c (dbox_descriptor_to_widget_value):
10428         * dialog-x.c (x_make_dialog_box_internal):
10429         * dialog-x.c (console_type_create_dialog_x):
10430         Mule-ize entire file.
10431         Redo to support question dialog syntax.
10432         [6].
10433
10434         * dialog.c:
10435         * dialog.c (Fmake_dialog_box_internal):
10436         * dialog.c (syms_of_dialog):
10437         Kill old popup-dialog-box, replace with new primitive.
10438         Just call device method or signal error.
10439
10440         * eldap.c (Fldap_open):
10441         * eldap.c (Fldap_search_basic):
10442         * eldap.c (Fldap_add):
10443         * eldap.c (Fldap_modify):
10444         [1].
10445         [7].
10446
10447         * emacs.c:
10448         * emacs.c (make_arg_list_1):
10449         * emacs.c (make_arg_list):
10450         Mule-ize call to dll_init().
10451         [6].
10452         [8].
10453
10454         * emacs.c (make_argc_argv):
10455         * emacs.c (free_argc_argv):
10456         * emacs.c (init_cmdargs):
10457         * emacs.c (main_1):
10458         * emacs.c (Fkill_emacs):
10459         * emacs.c (Fdump_emacs):
10460         Update comments about what can be used in syms_* etc.
10461         Call init_win32() when necessary.
10462         Fix up MS Win dialog box in kill-buffer to actually work right.
10463         [7].
10464
10465         * eval.c:
10466         * eval.c (For):
10467         * eval.c (Fand):
10468         * eval.c (Fprogn):
10469         * eval.c (Fprog1):
10470         * eval.c (Fprog2):
10471         * eval.c (FletX):
10472         * eval.c (Flet):
10473         * eval.c (condition_case_3):
10474         * eval.c (Feval):
10475         * eval.c (function_argcount):
10476         * eval.c (funcall_lambda):
10477         [1].
10478
10479         * eval.c (type_error): New.
10480         * eval.c (maybe_type_error): New.
10481         * eval.c (continuable_type_error): New.
10482         * eval.c (maybe_continuable_type_error): New.
10483         * eval.c (type_error_with_frob): New.
10484         * eval.c (maybe_type_error_with_frob): New.
10485         * eval.c (continuable_type_error_with_frob): New.
10486         * eval.c (maybe_continuable_type_error_with_frob): New.
10487         New functions for use with structured errors.
10488
10489         * event-Xt.c:
10490         * event-Xt.c (x_event_to_emacs_event):
10491         Buttons are now modifiers too.
10492
10493         * event-Xt.c (emacs_Xt_current_event_timestamp):
10494         Implement new event method.
10495         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10496
10497         * event-msw.c:
10498         * event-msw.c (ntpipe_shove_writer): [5].
10499         * event-msw.c (mswindows_enqueue_mouse_button_event):
10500         * event-msw.c (mswindows_drain_windows_queue):
10501         * event-msw.c (mswindows_wnd_proc): [7].
10502         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10503         * event-msw.c (mswindows_modifier_state):
10504         Throughout: support new button modifiers.
10505
10506         * event-msw.c (emacs_mswindows_current_event_timestamp):
10507         Implement new event method.
10508         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10509
10510         * event-stream.c:
10511         * event-stream.c (event_stream_current_event_timestamp): New.
10512         * event-stream.c (maybe_kbd_translate): New functionality.
10513         * event-stream.c (vars_of_event_stream):
10514         Document new kbd-translate-table functionality.
10515
10516         * event-stream.c (Fcurrent_event_timestamp): New.
10517         New primitive for use in fabricated events.
10518         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10519
10520         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10521
10522         * events.c:
10523         * events.c (Fmake_event):
10524         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10525         [1].
10526         [9].
10527
10528         * events.c (format_event_object): fix gcc warnings.
10529
10530         * events.c (Fevent_timestamp): Document new primitives.
10531
10532         * events.c (TIMESTAMP_HALFSPACE): New.
10533
10534         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10535         comparing timestamps correctly (half-space algorithm).
10536
10537         * events.c (Fevent_modifier_bits): Doc fix.
10538
10539         * events.c (Fevent_modifiers): Major doc addition.
10540         * events.c (event_x_y_pixel_internal): Typo fix.
10541         * events.c (syms_of_events): Declare new primitives.
10542
10543         * events.h:
10544         Update long comment for button modifiers, timestamps.
10545
10546         * events.h (struct event_stream):
10547         New current_event_timestamp method.
10548
10549         * extents.c:
10550         * extents.c (extent_in_region_p):
10551         * extents.c (decode_extent):
10552         * extents.c (Fset_extent_parent):
10553         * extents.c (decode_map_extents_flags):
10554         Fix gcc warnings.
10555         [9].
10556
10557         * extents.c (struct extent_at_arg):
10558         * extents.c (decode_extent_at_flag):
10559         * extents.c (extent_at_mapper):
10560         * extents.c (extent_at_bytind):
10561         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10562         * extents.c (Fextents_at): New primitive. [9].
10563         * extents.c (symbol_to_glyph_layout): [9].
10564         Support new primitive `extents-at'.
10565
10566
10567         * extents.c (get_text_property_bytind):
10568         extent_at_bytind has another arg.
10569         [9].
10570
10571         * extents.c (syms_of_extents): New primitive.
10572
10573         * file-coding.c (Fmake_coding_system): [1].
10574         * file-coding.c (subsidiary_coding_system): fix gcc warning
10575         * file-coding.c (syms_of_file_coding): [2].
10576
10577         * fileio.c (Fexpand_file_name):
10578         * fileio.c (Fsysnetunam):
10579         * fileio.c (Ffile_exists_p):
10580         * fileio.c (Ffile_executable_p):
10581         * fileio.c (Fverify_visited_file_modtime):
10582         Clean up GCPROing.
10583
10584         * fileio.c (syms_of_fileio): [2].
10585
10586         * filelock.c (lock_file_1):
10587         * filelock.c (current_lock_owner):
10588         * filelock.c (lock_if_free):
10589         * filelock.c (lock_file):
10590         * filelock.c (unlock_file):
10591         Clean up GCPROing.
10592
10593         * fns.c (concat): Fix gcc warning.
10594
10595         * fns.c (Fmember):
10596         * fns.c (Fold_member):
10597         * fns.c (Fmemq):
10598         * fns.c (Fold_memq):
10599         * fns.c (memq_no_quit):
10600         * fns.c (Fassoc):
10601         * fns.c (Fold_assoc):
10602         * fns.c (Fassq):
10603         * fns.c (Fold_assq):
10604         * fns.c (assq_no_quit):
10605         * fns.c (Frassoc):
10606         * fns.c (Fold_rassoc):
10607         * fns.c (Frassq):
10608         * fns.c (Fold_rassq):
10609         * fns.c (rassq_no_quit):
10610         * fns.c (Fdelete):
10611         * fns.c (Fold_delete):
10612         * fns.c (Fdelq):
10613         * fns.c (Fold_delq):
10614         * fns.c (delq_no_quit):
10615         * fns.c (Fremassoc):
10616         * fns.c (Fremassq):
10617         * fns.c (remassq_no_quit):
10618         * fns.c (Fremrassoc):
10619         * fns.c (Fremrassq):
10620         * fns.c (remrassq_no_quit):
10621         * fns.c (Freverse):
10622         * fns.c (mapcar1):
10623         [1].
10624
10625         * frame-msw.c (mswindows_init_frame_1):
10626         * frame-msw.c (mswindows_delete_frame):
10627         Register popups with dialog code so keyboard traversing works.
10628
10629         * frame-tty.c (tty_raise_frame_no_select): [1].
10630
10631         * frame-x.c:
10632         * frame-x.c (x_set_frame_text_value):
10633         * frame-x.c (x_set_frame_properties):
10634         * frame-x.c (x_create_widgets):
10635         [7].
10636
10637         * frame.c:
10638         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10639
10640         * frame.h (wrap_frame): New.
10641         Macro like wrap_device.
10642
10643         * general.c:
10644         * general.c (SYMBOL):
10645         * general.c (syms_of_general):
10646         Major reorg.  This is now just a wrapper and symbols themselves
10647         are listed in general-slots.h.
10648
10649         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10650         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10651
10652         * glyphs-msw.c (mswindows_native_layout_instantiate):
10653         Add DS_CONTROL so keyboard traversal will work.
10654
10655         * glyphs-widget.c:
10656         * glyphs-widget.c (syms_of_glyphs_widget):
10657         Move some symbols to general-slots.h.
10658
10659         * glyphs-x.c:
10660         * glyphs-x.c (xbm_instantiate_1):
10661         * glyphs-x.c (x_xbm_instantiate):
10662         * glyphs-x.c (x_xface_instantiate):
10663         * glyphs-x.c (autodetect_instantiate):
10664         * glyphs-x.c (cursor_font_instantiate):
10665         * glyphs-x.c (x_update_widget):
10666         * glyphs-x.c (x_widget_instantiate):
10667         * glyphs.c (bitmap_to_lisp_data):
10668         * glyphs.c (pixmap_to_lisp_data):
10669         [7].
10670
10671         * glyphs.c (syms_of_glyphs):
10672         [2].
10673
10674         * gui-x.c:
10675         * gui-x.c (print_widget_value):
10676         * gui-x.c (menu_separator_style_and_to_external):
10677         * gui-x.c (add_accel_and_to_external):
10678         * gui-x.c (button_item_to_widget_value):
10679         * gui-x.c (gui_items_to_widget_values_1):
10680         * gui-x.c (gui_items_to_widget_values):
10681         * gui-x.c (syms_of_gui_x):
10682         * gui-x.c (vars_of_gui_x):
10683         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10684         [9].
10685
10686         * gui-x.h:
10687         Muleize, prototype changes matching gui-x.c.
10688
10689         * gui.c:
10690         * gui.c (separator_string_p):
10691         * gui.c (gui_item_add_keyval_pair):
10692         * gui.c (make_gui_item_from_keywords_internal):
10693         * gui.c (signal_too_long_error):
10694         * gui.c (parse_gui_item_tree_item):
10695         * gui.c (syms_of_gui):
10696         * gui.c (vars_of_gui):
10697         * gui.h:
10698         menu-no-selection-hook moved here (used by MSWin).
10699         Move some symbols to general-slots.h.
10700         [6].
10701         [9].
10702
10703         * insdel.c (get_buffer_pos_char):
10704         * insdel.c (get_buffer_range_char):
10705         Add GC comments.
10706
10707         * keymap.c (keymap_lookup_directly):
10708         * keymap.c (keymap_store):
10709         * keymap.c (ensure_meta_prefix_char_keymapp):
10710         * keymap.c (describe_map):
10711         * keymap.h:
10712         Support new button modifiers.
10713
10714         * lisp-disunion.h (wrap_object):
10715         * lisp-disunion.h (XSETOBJ):
10716         Rename make_obj to wrap_object.
10717
10718         * lisp-union.h:
10719         * lisp-union.h (make_int):
10720         * lisp-union.h (make_char):
10721         Support wrap_object.
10722
10723         * lisp.h:
10724         * lisp.h (LIST_LOOP):
10725         * lisp.h (EXTERNAL_LIST_LOOP):
10726         * lisp.h (LIST_LOOP_2):
10727         * lisp.h (EXTERNAL_LIST_LOOP_1):
10728         * lisp.h (EXTERNAL_LIST_LOOP_2):
10729         * lisp.h (EXTERNAL_LIST_LOOP_3):
10730         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10731         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10732         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10733         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10734         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10735         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10736         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10737         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10738         * lisp.h (struct Lisp_Symbol):
10739         * lisp.h (maybe_continuable_error_with_frob):
10740         Fix up section comments.
10741         Add new types for char to indicate usage.
10742         Delete symbols auto-generated from general-slots.h.
10743         Add prototypes for structured error functions.
10744         Add long comments describing looping macros and change interface
10745         so that lvalues are automatically declared.
10746         Add NO_DECLARE macro in case callers want to declare lvalues
10747         themselves.
10748
10749         * lread.c (read_syntax_error):
10750         * lread.c (continuable_read_syntax_error):
10751         * lread.c (read_structure):
10752         * lread.c (sequence_reader):
10753         * lread.c (read_list_conser):
10754         * lread.c (read_compiled_function):
10755         Rename syntax_error and continuable_syntax_error to avoid clash
10756         with same-named structured error functions.
10757
10758         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10759         * menubar-msw.c (populate_menu_add_item):
10760         * menubar-msw.c (populate_or_checksum_helper):
10761         [5].
10762         [9].
10763
10764         * menubar-x.c:
10765         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10766         Mule-ize whole file.
10767
10768         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10769
10770         * mule-charset.c (Fmake_charset):
10771         * mule-wnnfns.c (Fwnn_set_param):
10772         [1].
10773
10774         * ntproc.c (create_child):
10775         * ntproc.c (Fwin32_set_current_locale):
10776         Add comments portending doom.
10777
10778         * objects-msw.c:
10779         * objects-msw.c (old_font_enum_callback_2):
10780         * objects-msw.c (font_enum_callback_1):
10781         * objects-msw.c (mswindows_enumerate_fonts):
10782         [5].
10783
10784         * objects-x.c:
10785         * objects-x.c (allocate_nearest_color):
10786         * objects-x.c (x_parse_nearest_color):
10787         * objects-x.c (x_initialize_color_instance):
10788         * objects-x.c (x_print_color_instance):
10789         * objects-x.c (x_finalize_color_instance):
10790         * objects-x.c (x_valid_color_name_p):
10791         * objects-x.c (x_initialize_font_instance):
10792         * objects-x.c (x_print_font_instance):
10793         * objects-x.c (valid_x_font_name_p):
10794         * objects-x.c (truename_via_FONT_prop):
10795         * objects-x.c (truename_via_random_props):
10796         * objects-x.c (truename_via_XListFonts):
10797         * objects-x.c (x_font_truename):
10798         * objects-x.c (x_font_instance_truename):
10799         * objects-x.c (x_font_instance_properties):
10800         * objects-x.c (x_list_fonts):
10801         * objects-x.c (x_find_charset_font):
10802         Mule-ize entire file.
10803         [7].
10804
10805         * objects-x.h:
10806         Mule-verify.
10807
10808         * print.c:
10809         * print.c (std_handle_out_external):
10810         * print.c (debug_print_no_newline):
10811         * print.c (syms_of_print):
10812         Output to all debugger kinds in debug-print.
10813         Fix console-output code under MSWin to actually work.
10814
10815         * process-nt.c (send_signal):
10816         * process-nt.c (nt_create_process):
10817         Use newer Unicode macros.
10818
10819         * process-unix.c (unix_create_process):
10820         * process-unix.c (unix_canonicalize_host_name):
10821         * process-unix.c (unix_open_network_stream):
10822         [7].
10823
10824         * scrollbar-x.c:
10825         Mule-verify.
10826
10827         * search.c (syms_of_search):
10828         [2].
10829
10830         * select-msw.c (mswindows_destroy_selection):
10831         Use LIST_LOOP_2.
10832
10833         * select-x.c (symbol_to_x_atom):
10834         [7].
10835
10836         * select.c (syms_of_select):
10837         [2].
10838
10839         * sound.c (Fplay_sound_file):
10840         [7].
10841
10842         * specifier.c:
10843         * specifier.c (decode_specifier_type):
10844         * specifier.c (Fvalid_specifier_locale_type_p):
10845         * specifier.c (check_valid_locale_or_locale_type):
10846         * specifier.c (decode_locale):
10847         * specifier.c (decode_locale_type):
10848         * specifier.c (decode_locale_list):
10849         * specifier.c (check_valid_domain):
10850         * specifier.c (decode_specifier_tag_set):
10851         * specifier.c (Fcanonicalize_tag_set):
10852         * specifier.c (Fdefine_specifier_tag):
10853         * specifier.c (Fspecifier_tag_predicate):
10854         * specifier.c (check_valid_inst_list):
10855         * specifier.c (check_valid_spec_list):
10856         * specifier.c (decode_how_to_add_specification):
10857         * specifier.c (check_modifiable_specifier):
10858         * specifier.c (specifier_add_spec):
10859         * specifier.c (boolean_validate):
10860         * specifier.c (display_table_validate):
10861         [9].
10862
10863         * specifier.c (syms_of_specifier):
10864         Move some symbols to general-slots.h.
10865         [2].
10866
10867         * symbols.c:
10868         * symbols.c (Fmapatoms):
10869         * symbols.c (Fapropos_internal):
10870         Add GCPROs.
10871
10872         * symbols.c (set_default_buffer_slot_variable):
10873         * symbols.c (set_default_console_slot_variable):
10874         [1].
10875
10876         * symbols.c (defsymbol_massage_name_1):
10877         * symbols.c (defkeyword_massage_name):
10878         * symbols.c (deferror_1):
10879         * symbols.c (deferror):
10880         * symbols.c (deferror_massage_name_and_message):
10881         * symeval.h:
10882         * symeval.h (DEFSYMBOL):
10883         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10884
10885         * symbols.c (syms_of_symbols):
10886         [2].
10887
10888         * symsinit.h:
10889         * symsinit.h (init_win32): New.
10890         Also new is syms_of_dialog_mswindows.
10891
10892         * syswindows.h:
10893         Add new Unicode macros, missing Cygwin wide-char functions,
10894         convenience conversion macros for Qmswindows_tstr, macros for
10895         encapsulating required MSWin <-> Cygwin filename conversions,
10896         prototype for dynamically-extracted (not in NT 3.51) functions.
10897
10898         * toolbar-x.c:
10899         Mule-verify.
10900
10901         * tooltalk.c (Fadd_tooltalk_message_arg):
10902         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10903         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10904         [7].
10905
10906         * tooltalk.c (syms_of_tooltalk):
10907         [2].
10908
10909         * unexnt.c:
10910         * unexnt.c (unexec):
10911         Fix up headers, declaration of unexec() to be more standard.
10912
10913 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10914
10915         * offix.h: Revert change to guard macros - they're used in offix.c!
10916
10917 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10918
10919         * lisp.h: Defsubred Fdelete.
10920
10921         * console-msw.h:  (msprinter_default_printer): Added.
10922
10923         * console-msw.c (msprinter_canonicalize_console_connection):
10924         (msprinter_canonicalize_device_connection): Added.
10925
10926         * device-msw.c (msprinter_default_printer):
10927         (Fmswingows_get_default_printer):
10928         (signal_enum_priner_error):
10929         (Fmswingows_printer_list): Added.
10930
10931 2000-07-19  Martin Buchholz <martin@xemacs.org>
10932
10933         * XEmacs 21.2.35 is released.
10934
10935 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10936
10937         * select-x.c (x_handle_selection_request):
10938         Text selected in xemacs and pasted into xterm failed to appear.
10939         Spelling fixes and cosmetic changes.
10940
10941 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10942
10943         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10944         XEmacs frame (fix for doubling chars in dialog boxes).
10945
10946 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10947
10948         * select.c (select_convert_in, select_convert_out):
10949         Don't call intern() every time.
10950
10951         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10952         * select.c (vars_of_select): Initialise them.
10953
10954 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10955
10956         * select.c (selection-coercible-types): New.
10957
10958         * select.c (own-selection-internal):
10959         * select.c (get-selection-internal):
10960         MULE bug fix - these should default to COMPOUND_TEXT and not
10961         STRING for MULE. I think.
10962
10963         * select.c (select_convert_out): Use selection-coercible-types
10964         to find types that we can attempt to perform coercions on.
10965
10966 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10967
10968         * mule-wnnfns.c:
10969         * mule-canna.c:
10970         Add coding: cookie to identify encoding.
10971
10972         * mule-canna.c (CANNA_mode_keys): make static.
10973         Use proper prototypes, even for functions of no arguments.
10974         Remove external prototype for Fding().
10975
10976         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10977
10978         * select.c (syms_of_select): Add missing DEFSUBR.
10979
10980 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10981
10982         * select.c (get_selection_internal, own_selection_internal):
10983         Make the type default to STRING, rather than placing a nil type
10984         into Vselection_alist.
10985
10986 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10987
10988         * gpmevent.c (tty_selection_exists_p):
10989         * gpmevent.c (tty_own_selection):
10990         Updated parameter lists.
10991
10992 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10993
10994         * select.h (selection-alist): Removed declaration.
10995
10996         * select.h (get_local_selection):
10997         * select.c (get_local_selection):
10998         Made static.
10999
11000         * select.h (convert_selection): Removed declaration.
11001         * select.c (convert_selection): Removed.
11002         This function belongs in Lisp.
11003
11004         * select.h (select_convert_in): Declare.
11005         * select.h (select_convert_out): Declare.
11006         * select.c (select_convert_in): New.
11007         * select.c (select_convert_out): New.
11008         New conversion functions for other files to call.
11009
11010         * select.h (select_notify_buffer_kill): Declare.
11011         * select.c (select_notify_buffer_kill): New.
11012         New functions that get called from kill-buffer.
11013
11014         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11015         X-specific lisp code.
11016
11017         * select.h: Declare some of the lisp-visible functions for
11018         external use.
11019
11020         * select.c (clean_local_selection_data): Removed. This was
11021         a disgusting function, and previously should have been in
11022         select-x.c in any case. The functionality is now provided
11023         in select-convert-from-integer (select.el).
11024
11025         * select.c (available-selection-types): Fixed stupidity where
11026         INTEGER and ATOM got added twice. Also add STRING when we see an
11027         extent.
11028
11029         * select.c (get-selection-internal): Removed symbol stripping. No
11030         longer causes conversion when data comes from the internal cache.
11031
11032         * select.c (syms_of_select): Added new functions.
11033
11034         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11035         error checking - previously this called abort!
11036
11037         * select-x.c (x_own_selection): Changed comment.
11038
11039         * select-x.c (x_handle_selection_request): Use select_convert_out.
11040         Don't mess with selection-alist; it's an internal variable of select.c.
11041
11042         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11043
11044         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11045         rather than messing with selection-alist.
11046
11047         * select-msw.c (mswindows_get_foreign_selection):
11048         Use TO_INTERNAL_FORMAT rather than hacking.
11049
11050 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11051
11052         * process-unix.c (unix_open_multicast_group):
11053         (unix_open_multicast_group): Remove useless casts.
11054
11055 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11056
11057         * sound.c (Fplay_sound): Fix `unused variable' warning.
11058
11059         * emacs.c (main): Use correct type for _environ on SCO5.
11060
11061 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11062
11063         * console.h (own_selection_method):
11064         * console.h (selection_exists_p_method):
11065         * console.h (available_selection_types_method): New.
11066         * console.h (register_selection_data_type_method): New.
11067         * console.h (selection_data_type_name): New.
11068
11069         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11070         function & alist to track GlobalAlloc()'d handles that need
11071         releasing when the clipboard data gets replaced or emptied.
11072
11073         * event-msw.c (mswindows_wnd_proc): Call it.
11074
11075         * lisp.h, general.c (Qappend): New symbol representing a
11076         `how-to-add' mode.
11077
11078         * select.c (own-selection-internal):
11079         * select.c (selection-exists-p):
11080         * select.c (available-selection-types): New.
11081         * select.c (register-selection-data-type): New.
11082         * select.c (selection-data-type-name): New.  New functions to deal
11083         with device-specific selection data formats.
11084         * select.c (selection-converter-out-alist): Renamed.
11085         * select.c (selection-converter-in-alist): New.
11086         * select.c (selection-appender-alist): New.  Added new alists.
11087         * select.c (syms_of_select, vars_of_select): Added new symbols &
11088         variables.
11089         * select.c (get_local_selection): Split.
11090         * select.c: Removed spurious type checking - selections may now be
11091         of any type, not just strings.
11092         * select.c (own-selection-internal):
11093
11094         * select.h, select.c (convert_selection): New. Created
11095         convert_selection() function based on get_local_selection().
11096         * select.h, select.c (QCF_*): New symbols representing mswindows
11097         clipboard formats.
11098         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11099         symbols representing `how-to-add' modes.
11100
11101         * select-msw.c (x_sym_p): New.
11102         * select-msw.c (symbol_to_ms_cf): New.
11103         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11104         symbols & clipboard formats. Can also handle string names.
11105         * select-msw.c (mswindows_own_selection):
11106         * select-msw.c (mswindows_selection_exists_p):
11107         Added `data-type' parameter. Use it.
11108         * select-msw.c (mswindows_available_selection_types): New.
11109         * select-msw.c (mswindows_register_selection_data_type): New.
11110         * select-msw.c (mswindows_selection_data_type_name): New.
11111         * select-msw.c (mswindows_own_selection):
11112         * select-msw.c (mswindows_get_foreign_selection):
11113         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11114         * select-msw.c (console_create_select_mswindows): Added new methods.
11115         * select-msw.c (mswindows_destroy_selection): New.
11116         * select-msw.c (Vhandle_alist): New list.
11117         * select-msw.c (mswindows_own_selection):
11118
11119         * select-x.c (x_own_selection):
11120         * select-x.c (x_selection_exists_p):
11121         * select-x.c: Added some comments about maybe using new
11122         functionality.
11123         * select-x.c (x_own_selection):
11124
11125         * specifier.c: Remove definition of Qappend (now in general.c)
11126         * specifier.c (syms_of_specifier): Remove Qappend.
11127
11128 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11129
11130         * config.h.in: Add socklen_t.
11131
11132         * s/decosf4-0.h: No special compiler flags needed or desired.
11133         In particular, undefine _BSD for DEC OSF 4.0.
11134
11135 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11136
11137         * redisplay-msw.c (msprinter_frame_output_end): Added.
11138         (console_type_create_redisplay_mswindows): Referred the above.
11139
11140         * frame.c (setup_frame_without_minibuffer): Do not create a
11141         default minibuffer frame on a printer device.
11142
11143         * frame-msw.c (apply_dc_geometry): Added.
11144         (msprinter_start_page):
11145         (msprinter_init_frame_3):
11146         (msprinter_eject_page): Use it.
11147
11148         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11149         and removed residual duplex and orientation properties.
11150
11151 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11152
11153         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11154
11155         * unexalpha.c: Remove system prototypes from C sources!
11156
11157 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11158
11159         * eval.c: Remove references to M-x edit-options in DEFUNs for
11160         `defvar' and `defconst'.
11161
11162 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11163
11164         * config.h.in: Remove SMART_INCLUDE hackery.
11165
11166         PostgreSQL hacking:
11167         * config.h.in: Don't use SMART_INCLUDE.
11168
11169         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11170         * inline.c: Simply #include "postgresql.h"
11171         * postgresql.c:
11172         - Don't use SMART_INCLUDE
11173         - Use simply "const".
11174         - Use standard doc string conventions.
11175         - Use correct type for result of PQstatus.
11176
11177 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11178
11179         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11180
11181         C++ compilation changes.
11182         * config.h.in (EXTERN_C): Define.
11183         * config.h.in (not): This is also a C++ keyword.
11184         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11185         * cm.c: Use EXTERN_C.
11186         * redisplay-tty.c: Use EXTERN_C.
11187         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11188
11189 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11190
11191         * general.c: Remove duplicate definition for Qfunction.
11192
11193 2000-07-08  Ben Wing  <ben@xemacs.org>
11194
11195         * device-msw.c (msprinter_init_device):
11196         * device-msw.c (sync_printer_with_devmode):
11197         * device-msw.c (handle_devmode_changes):
11198         * device-msw.c (print_dialog_worker):
11199         * device-msw.c (Fmsprinter_apply_settings):
11200         * device-msw.c (hash_devmode):
11201         * device-msw.c (Fmsprinter_settings_despecialize):
11202         use Qmswindows_tstr, not Qctext.
11203
11204         * vm-limit.c (check_memory_limits):
11205         avoid infinite loop printing warning messages.
11206
11207 2000-07-05  Craig Lanning  <lanning@scra.org>
11208
11209         * Makefile.in.in: Add support for including the Windows resources
11210         when building with the cygwin and mingw targets.
11211
11212         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11213         not set or not correct.
11214         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11215         (init_initial_directory): Don't try to use $PWD on the
11216         WIN32_NATIVE target.
11217
11218         * s\cygwin32.h:
11219         [[Add -mwindows to eliminate console window.]] not required --ben
11220         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11221         (MAIL_USE_POP): removed; now handled by configure.
11222
11223         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11224         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11225         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11226         (MAIL_USE_POP): removed; now handled by configure.
11227         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11228         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11229         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11230         constant string.
11231         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11232         up from <winsock.h> via systime.h.
11233         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11234         (getpagesize): from Dan Holmsand, added.
11235         Added #endif which was left dangling by Ben's mega patch; added
11236         comment to help prevent this in the future.
11237
11238         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11239
11240 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11241
11242         * console-msw.h (struct mswindows_device): Removed unnecessary
11243         cached device geometry values.
11244         Added update_tick and an accessor macro.
11245         (Lisp_Devmode): Added lrecord declaration.
11246         (struct msprinter_device): Contain devmode as a Lisp object.
11247         Added mswindows_get_selected_frame_hwnd();
11248
11249         * console.h (struct console_methods): Indentation nitpicking.
11250
11251         * device-msw.c (mswindows_init_device): Do not initialize geometry
11252         cache. Initialize update tick.
11253         (mswindows_device_system_metrics): Ask the device for its geometry.
11254         (global_free_2_maybe):
11255         (devmode_to_hglobal):
11256         (handle_printer_changes):
11257         (ensure_not_printing):
11258         (print_dialog_worker):
11259         (Fmsprinter_print_setup_dialog):
11260         (Fmsprinter_print_dialog):
11261         (plist_get_margin):
11262         (plist_set_margin):
11263         (Fmsprinter_page_setup_dialog): Added functions.
11264         (sync_printer_with_devmode):
11265         (handle_devmode_changes):
11266         (Fmsprinter_get_settings):
11267         (Fmsprinter_select_settings):
11268         (Fmsprinter_apply_settings):
11269         (allocate_devmode):
11270         (Fmsprinter_settings_copy):
11271         (Fmsprinter_settings_despecialize):
11272         (print_devmode):
11273         (finalize_devmode):
11274         (equal_devmode):
11275         (hash_devmode): Added functions
11276         (syms_of_device_mswindows): Init devmode lrecord class.
11277
11278         * device.h: Added an exfun for find-device.
11279
11280         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11281         geometry; although, recreate the device compatible DC.
11282
11283         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11284         (msprinter_init_frame_3):
11285         (msprinter_frame_property):
11286         (msprinter_internal_frame_property_p):
11287         (msprinter_frame_properties):
11288         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11289         print job properties (will move to device settings).
11290
11291         * lisp.h: Added symbols.
11292
11293         * general.c (syms_of_general): Declared them.
11294
11295         * hash.c (string_hash): Added.
11296
11297         * lrecord.h (lrecord_type): Added devmode lrecord type.
11298
11299 2000-07-02  Mike Sperber <mike@xemacs.org>
11300
11301         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11302         FreeBSD 4.0.
11303
11304 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11305
11306         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11307         integer.
11308
11309 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11310
11311         * data.c (Fstring_to_number): Don't recognize floating point if
11312         base is not 10.
11313
11314 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11315
11316         * glyphs-widget.c (tab_control_query_geometry):
11317         (widget_query_geometry):
11318         (button_query_geometry):
11319         * glyphs.c (text_query_geometry):
11320         Enforce type correctness.
11321
11322 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11323
11324         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11325         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11326
11327 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11328
11329         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11330         conflicts with gcc's fixincluded version of FOO.h.
11331
11332         * glyphs.h (image_instance_geometry): Remove trailing `,'
11333
11334 2000-06-08  Mike Alexander  <mta@arbortext.com>
11335
11336         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11337         (shove_thread): Don't write the same output twice
11338         (make_ntpipe_output_stream): Increase priority of shove thread
11339         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11340         chance to run
11341         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11342         it.
11343
11344 2000-06-12  Ben Wing  <ben@xemacs.org>
11345
11346         * s\mingw32.h (sigset):
11347         * s\windowsnt.h (sigset):
11348         rename msw_ to mswindows_ for consistency with general convention.
11349
11350 2000-06-12  Ben Wing  <ben@xemacs.org>
11351
11352         * console-msw.c:
11353         * console-msw.c (mswindows_get_console_hwnd):
11354         * console-msw.c (mswindows_ensure_console_allocated):
11355         * console-msw.c (mswindows_hide_console):
11356         * console-msw.c (mswindows_show_console):
11357         * console-msw.c (mswindows_ensure_console_buffered):
11358         * console-msw.c (mswindows_output_console_string):
11359         * console-msw.c (mswindows_windows9x_p):
11360         * console-msw.h:
11361         * device-msw.c (mswindows_get_workspace_coords):
11362         * device-msw.c (mswindows_device_system_metrics):
11363         * dialog-msw.c (mswindows_popup_dialog_box):
11364         * event-msw.c (mswindows_wnd_proc):
11365         * frame-msw.c (mswindows_size_frame_internal):
11366         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11367         * menubar-msw.c (displayable_menu_item):
11368         * menubar-msw.c (mswindows_char_is_accelerator):
11369         * nt.c:
11370         * nt.c (mswindows_sigset):
11371         * nt.c (mswindows_sigrelse):
11372         * nt.c (mswindows_sigpause):
11373         * nt.c (mswindows_raise):
11374         * nt.c (timer_proc):
11375         * ntproc.c:
11376         * ntproc.c (find_child_console):
11377         * ntproc.c (sys_kill):
11378         * print.c:
11379         * print.c (std_handle_out_external):
11380         * process-nt.c (find_child_console):
11381         * process-nt.c (send_signal_the_95_way):
11382         * process-nt.c (ensure_console_window_exists):
11383         * process-nt.c (nt_create_process):
11384         * syssignal.h:
11385         rename msw_ to mswindows_ for consistency with general convention.
11386
11387         * emacs.c:
11388         * dumper.c:
11389         include nt.h, not syswindows.h.
11390
11391         * nt.c (mswindows_fstat):
11392         * nt.c (mswindows_stat):
11393         prefix mswindows_ instead of attempting to directly override the
11394         library functions.  fix declarations.
11395
11396         * nt.h:
11397         include syswindows.h.  move some sysdep.h stuff here.
11398
11399         * ntheap.h:
11400         include syswindows.h, not <windows.h>.
11401
11402         * ntplay.c:
11403         clean up headers.
11404
11405         * sysdep.c:
11406         clean up headers.
11407
11408         * sysdep.c (sys_fstat):
11409         * sysdep.c (sys_stat):
11410         call mswindows versions when appropriate.
11411
11412         * sysdep.h:
11413         move mswin decls to nt.h.
11414
11415         * syswindows.h:
11416         add long comment describing appropriate use of the various windows
11417         headers.
11418
11419 2000-06-11  Ben Wing  <ben@xemacs.org>
11420
11421         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11422
11423 2000-06-10  Ben Wing  <ben@xemacs.org>
11424
11425         * Makefile.in.in (release):
11426         Correction to make sure xemacs.exe always dumped when correct.
11427
11428         * alloca.c:
11429         * balloon_help.c:
11430         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11431
11432         * buffer.c (set_buffer_internal):
11433         [[[[2]]]]: Remove HAVE_FEP code.
11434
11435         * buffer.c (init_initial_directory):
11436         [3].
11437
11438         * bytecode.c:
11439         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11440         individual files.
11441
11442         * callproc.c:
11443         * callproc.c (call_process_cleanup):
11444         * callproc.c (Fold_call_process_internal):
11445         * callproc.c (child_setup):
11446         * callproc.c (getenv_internal):
11447         * callproc.c (init_callproc):
11448         * callproc.c (vars_of_callproc):
11449         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11450         __CYGWIN32__ -> CYGWIN.
11451         DOS_NT -> WIN32_NATIVE.
11452         Remove MSDOS support/references, converting to WIN32_NATIVE
11453           where correct.
11454         __MINGW32__ -> MINGW.
11455         Fix windows.h includes.
11456         Remove bogus HAVE_NTGUI.
11457
11458         * config.h.in:
11459         [2].
11460
11461         * console-msw.c:
11462         mswindows_message_outputted added for use in allowing startup
11463         errors on the console to be seen.
11464
11465         * console-msw.c (msw_ensure_console_allocated):
11466         * console-msw.c (msw_output_console_string):
11467         * console-msw.c (DHEADER):
11468         * console-msw.c (DOPAQUE_DATA):
11469         * console-msw.c (DEVENT):
11470         * console-msw.c (DCONS):
11471         * console-msw.c (DCONSCDR):
11472         * console-msw.c (DSTRING):
11473         * console-msw.c (DVECTOR):
11474         * console-msw.c (DSYMBOL):
11475         * console-msw.c (DSYMNAME):
11476         Fix warnings.
11477
11478         * console-stream.c (stream_init_console):
11479         Fix text/binary problems.
11480
11481         * device-msw.c:
11482         * device-msw.c (mswindows_finish_init_device):
11483         * device-msw.c (mswindows_delete_device):
11484         [1].
11485
11486         * device.c (handle_asynch_device_change):
11487         [3].
11488
11489         * dgif_lib.c:
11490         * dgif_lib.c (DGifOpenFileName):
11491         * dgif_lib.c (DGifOpenFileHandle):
11492         * dgif_lib.c (DGifGetLine):
11493         * dgif_lib.c (DGifGetPixel):
11494         Added config.h/lisp.h, fix up includes.
11495         [1].
11496
11497         * dired-msw.c:
11498         [4].
11499
11500         * dired.c:
11501         * dired.c (file_name_completion):
11502         * dired.c (Ffile_attributes):
11503         * dired.c (syms_of_dired):
11504         [1].
11505
11506         * dumper.c:
11507         * dumper.c (pdump_file_unmap):
11508         * dumper.c (pdump_load):
11509         [1].
11510
11511         * editfns.c:
11512         * editfns.c (Ftemp_directory):
11513         * editfns.c (user_login_name):
11514         * editfns.c (Fuser_real_login_name):
11515         * editfns.c (get_home_directory):
11516         [1].
11517
11518         * elhash.c (finish_marking_weak_hash_tables):
11519         [[[[5]]]]: Fix GCC warnings.
11520
11521         * emacs.c:
11522         * emacs.c (mswindows_handle_hardware_exceptions):
11523         * emacs.c (make_arg_list_1):
11524         * emacs.c (main_1):
11525         * emacs.c (Fkill_emacs):
11526         * emacs.c (Fdump_emacs):
11527         [1].
11528         Fix problems with nested crashes, add long comment.
11529
11530         * event-Xt.c (init_event_Xt_late):
11531         [1].
11532
11533         * event-msw.c:
11534         * event-msw.c (mswindows_dde_callback):
11535         * event-msw.c (mswindows_handle_sticky_modifiers):
11536         * event-msw.c (mswindows_wnd_proc):
11537         [1].
11538         [5].
11539
11540         * events.c (character_to_event):
11541         [1].
11542
11543         * fileio.c:
11544         * fileio.c (Ffile_name_directory):
11545         * fileio.c (Ffile_name_nondirectory):
11546         * fileio.c (directory_file_name):
11547         * fileio.c (Fexpand_file_name):
11548         * fileio.c (Fsubstitute_in_file_name):
11549         * fileio.c (Ffile_name_absolute_p):
11550         * fileio.c (check_executable):
11551         * fileio.c (Ffile_readable_p):
11552         * fileio.c (Ffile_accessible_directory_p):
11553         * fileio.c (Ffile_modes):
11554         * fileio.c (Funix_sync):
11555         * fileio.c (vars_of_fileio):
11556         [1]. [4].
11557
11558         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11559
11560         Expand getdefdir defn.
11561         Fix bogus rename() comment.
11562
11563         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11564         to use standard XEmacs include files, e.g. sysfile.h, rather
11565         than system-specific includes.
11566
11567         * fns.c:
11568         * fns.c (Fsubseq):
11569         [5]. [6].
11570
11571         * frame.c (vars_of_frame):
11572         [1].
11573
11574         * getloadavg.c:
11575         * getloadavg.c (getloadavg):
11576         [1]. [6].
11577         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11578         (We don't use it elsewhere in the code; just add a comment.)
11579
11580         * gif_io.c:
11581         [6].
11582         Add config.h.
11583
11584         * glyphs-msw.c:
11585         * glyphs-msw.c (mswindows_resource_instantiate):
11586         [1].
11587
11588         * glyphs-x.c (x_native_layout_instantiate):
11589         [5].
11590
11591         * gui-msw.c (Fmswindows_shell_execute):
11592         [1].
11593
11594         * insdel.c:
11595         [4].
11596
11597         * lisp.h:
11598         [4]. [5].
11599
11600         * lread.c (locate_file_in_directory_mapper):
11601         [1].
11602
11603         * lstream.c:
11604         [4].
11605
11606         * mem-limits.h:
11607         * mem-limits.h (get_lim_data):
11608         [1].
11609
11610         * menubar-msw.c:
11611         [4].
11612
11613         * ndir.h:
11614         [1].
11615
11616         * nt.c:
11617         * nt.c (getwd):
11618         * nt.c (closedir):
11619         * nt.c (rva_to_section):
11620         * nt.c (mswindows_executable_type):
11621         [1]. [6].
11622         Fix closedir() defn.
11623
11624         * nt.h:
11625         [[[[8]]]]: *_OK defs moved to sysfile.h.
11626
11627         * ntproc.c:
11628         [6]. [7].
11629
11630         * objects-x.c:
11631         [4].
11632
11633         * print.c:
11634         * print.c (std_handle_out_external):
11635         [1]. [4].
11636
11637         * process-nt.c:
11638         * process-nt.c (nt_create_process):
11639         [6].
11640         try to fix process quoting somewhat.
11641
11642         * process-unix.c (unix_create_process):
11643         [1].
11644
11645         * process.c:
11646         * process.c (vars_of_process):
11647         Add Vnull_device.
11648
11649         * process.h:
11650         [1].
11651
11652         * realpath.c:
11653         * realpath.c (xrealpath):
11654         [1].
11655
11656         * redisplay-tty.c (init_tty_for_redisplay):
11657         [3].
11658
11659         * redisplay.c:
11660         [4]. [6].
11661
11662         * scrollbar-msw.c:
11663         [4].
11664
11665         * sheap.c:
11666         * sheap.c (more_static_core):
11667         * sheap.c (report_sheap_usage):
11668         [5]. [6].
11669
11670         * signal.c:
11671         * signal.c (alarm_signal):
11672         [1]. [6].
11673
11674         * sound.c:
11675         [6].
11676
11677         * strftime.c:
11678         * strftime.c (zone_name):
11679         [1]. [5].
11680
11681         * symsinit.h (init_sunpro):
11682         [1].
11683
11684         * syscommctrl.h:
11685         commctrl.h not in Cygwin b20.1.
11686
11687         * sysdep.c:
11688         * sysdep.c (endif):
11689         * sysdep.c (sys_subshell):
11690         * sysdep.c (init_baud_rate):
11691         * sysdep.c (emacs_get_tty):
11692         * sysdep.c (emacs_set_tty):
11693         * sysdep.c (tty_init_sys_modes_on_device):
11694         * sysdep.c (init_system_name):
11695         * sysdep.c (sys_open):
11696         * sysdep.c (interruptible_open):
11697         * sysdep.c (sys_fopen):
11698         * sysdep.c (sys_mkdir):
11699         * sysdep.c (sys_rename):
11700         * sysdep.c (get_process_times_1):
11701         [1]. [6].
11702
11703         * sysdep.h:
11704         [1].
11705
11706         * sysdir.h:
11707         * sysdir.h (DIRENTRY_NONEMPTY):
11708         [1]. [6].
11709
11710         * sysdll.c (dll_init):
11711         * sysdll.h:
11712         [1].
11713
11714         * sysfile.h:
11715         [1]. [6]. [8].
11716         added text/binary defs.
11717
11718         * sysfloat.h:
11719         [1].
11720
11721         * sysproc.h:
11722         * sysproc.h (EDESTADDRREQ):
11723         * sysproc.h (poll_fds_for_input):
11724         [1]. [6].
11725
11726         * syspwd.h:
11727         [6].
11728
11729         * syssignal.h:
11730         [1].
11731
11732         * systime.h:
11733         [1]. [6].
11734
11735         * systty.h:
11736         [1].
11737
11738         * syswindows.h:
11739         [1].
11740         Always define WIN32_LEAN_AND_MEAN.
11741
11742         * unexcw.c (unexec):
11743         [5].
11744
11745         * unexec.c:
11746         * unexec.c (copy_text_and_data):
11747         * unexec.c (adjust_lnnoptrs):
11748         [1].
11749
11750         * unexnt.c:
11751         * unexnt.c (_start):
11752         [1].
11753
11754 2000-06-07  Ben Wing  <ben@xemacs.org>
11755
11756         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11757         was used only as a model.  We've long since extracted any useful
11758         logic or code out of this. (I just did an exhaustive search.)
11759
11760         * s\msdos.h: Removed.
11761
11762         * s\windows95.h: Removed.
11763
11764 2000-06-10  Ben Wing  <ben@xemacs.org>
11765
11766         * s\cygwin32.h:
11767         [1]. [5].
11768         Don't use extern with fun defs.
11769
11770         * s\mingw32.h:
11771         [1]. [7].
11772         Remove nt\inc include.
11773         Remove getdisk, getdefdir. (The former is unused, the latter
11774         expanded in fileio.h.)
11775
11776         * s\windowsnt.h:
11777         * s\windowsnt.h (WIN32_NATIVE):
11778         * s\windowsnt.h (HAVE_STRCASECMP):
11779         [1]. [7].
11780         Add long comment about preprocessor changes.
11781         Remove getdisk, getdefdir. (The former is unused, the latter
11782         expanded in fileio.h.)
11783
11784 2000-06-10  Ben Wing  <ben@xemacs.org>
11785
11786         * m\arm.h:
11787         * m\delta.h:
11788         * m\intel386.h:
11789         * m\sequent.h:
11790         * m\template.h:
11791         * m\windowsnt.h:
11792         [1].
11793         Remove bogus/unused NO_SOCK_SIGIO.
11794
11795 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11796
11797         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11798         not an Emchar.
11799
11800 2000-06-04  Mike Sperber <mike@xemacs.org>
11801
11802         * casetab.c (set_case_table): For `set-standard-case-table',
11803         actually deposit the new case tables where the rest of XEmacs can
11804         see them.
11805
11806 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11807
11808         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11809
11810 2000-06-05  Ben Wing  <ben@xemacs.org>
11811
11812         * callproc.c (child_setup): Don't do close_load_descs() under
11813         MS Windows.  Put in a comment explaining why.
11814
11815 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11816
11817         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11818         Toolkit shell" which breaks `kill-compilation' on Windows NT
11819         native, retaining STDERR handling improvements.
11820
11821 2000-06-01  Andreas Jaeger  <aj@suse.de>
11822
11823         * s/s390.h: Support for S390, based on a patch by Martin
11824         Schwidefsky <schwidefsky@de.ibm.com>.
11825
11826 2000-05-30  Andy Piper  <andy@xemacs.org>
11827
11828         * window.c (allocate_window):
11829         (make_dummy_parent):
11830         (Fset_window_configuration): use new hashtable type.
11831
11832         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11833         (struct image_instantiator_methods):
11834         (struct Lisp_Image_Instance): make instance geometry signed.
11835
11836         * glyphs.c (instantiate_image_instantiator):
11837         (image_instance_query_geometry):
11838         (image_instance_layout):
11839         (image_instance_layout):
11840         (query_string_geometry):
11841         (text_query_geometry):
11842         (image_instantiate):
11843         (image_instantiate):
11844         (cache_subwindow_instance_in_frame_maybe):
11845         (subwindow_query_geometry): make instance geometry signed.
11846
11847         * glyphs-widget.c (widget_query_geometry):
11848         (widget_layout):
11849         (button_query_geometry):
11850         (tree_view_query_geometry):
11851         (tab_control_query_geometry):
11852         (layout_query_geometry):
11853         (layout_layout):
11854         (native_layout_layout): make instance geometry signed.
11855
11856 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11857
11858         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11859         constant.
11860
11861         * general.c (syms_of_general): Add Qfull_assoc symbol.
11862
11863         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11864         correctly.
11865         (decode_weak_list_type): Decode full-assoc type.
11866         (encode_weak_list_type): Encode full-assoc type.
11867         (Fmake_weak_list): Update doc string.
11868
11869 2000-05-30  Andy Piper  <andy@xemacs.org>
11870
11871         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11872
11873         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11874         (decode_hash_table_weakness): ditto.
11875         (Fhash_table_weakness): ditto.
11876         (Fhash_table_type): ditto.
11877         (finish_marking_weak_hash_tables): ditto.
11878         (hash_table_weakness_validate): ditto.
11879         (syms_of_elhash): ditto.
11880
11881 2000-05-28  Martin Buchholz <martin@xemacs.org>
11882
11883         * XEmacs 21.2.34 is released.
11884
11885 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11886
11887         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11888         start cache.
11889         (updating_line_start_cache): Gone.
11890         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11891         generic code to force a minimum of 1 line laid out in the
11892         CMOTION_DISP case.
11893
11894 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11895
11896         * glyphs.c (instantiate_image_instantiator): Check for initialized
11897         height & width no longer special cases IMAGE_NOTHING.
11898         (nothing_instantiate): Set height and width of instance.
11899
11900 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11901
11902         * unexelf.c (unexec): Search for ".data" section.
11903         Initialize new_data2_offset from old_data_index.
11904         Remove redundant check for ElfW.
11905
11906 2000-05-23  Andy Piper  <andy@xemacs.org>
11907
11908         * glyphs.c (get_image_instantiator_governing_domain): allow more
11909         specific domains as the governing domain rather than expecting an
11910         exact match. This fixes problems with layouts.
11911
11912 2000-05-22  Andy Piper  <andy@xemacs.org>
11913
11914         * redisplay-output.c (compare_runes): check for non-images
11915
11916         * glyphs.c (set_glyph_dirty_p): ditto.
11917         (update_glyph_cachel_data): ditto.
11918
11919         * glyphs-widget.c (layout_post_instantiate): ditto.
11920         (layout_post_instantiate): ditto.
11921
11922         * event-msw.c (mswindows_wnd_proc): warning removal.
11923
11924 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11925
11926         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11927
11928         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11929
11930         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11931
11932         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11933         (mswindows_executable_type): mingw32 now has enough headers for
11934         this to work.
11935
11936 2000-05-20  Andy Piper  <andy@xemacs.org>
11937
11938         * console-msw.c (mswindows_output_last_error): ; -> ,
11939
11940 2000-05-12  Andy Piper  <andy@xemacs.org>
11941
11942         * console-msw.c (FROB): compare ints with ints.
11943
11944 2000-05-11  Andy Piper  <andy@xemacs.org>
11945
11946         * glyphs-x.c (x_finalize_image_instance): make minimal build
11947         happy.
11948
11949 2000-05-20  Ben Wing  <ben@xemacs.org>
11950
11951         * event-Xt.c:
11952         * event-Xt.c (vars_of_event_Xt):
11953         move modifier-keys-are-sticky to event-stream.c.
11954
11955         * event-msw.c:
11956         * event-msw.c (mswindows_enqueue_mouse_button_event):
11957         * event-msw.c (key_needs_default_processing_p):
11958         * event-msw.c (XEMSW_LCONTROL):
11959         * event-msw.c (mswindows_handle_sticky_modifiers):
11960         * event-msw.c (FROB):
11961         * event-msw.c (clear_sticky_modifiers):
11962         * event-msw.c (output_modifier_keyboard_state):
11963         * event-msw.c (output_alt_keyboard_state):
11964         * event-msw.c (mswindows_wnd_proc):
11965         * event-msw.c (mswindows_modifier_state):
11966         * event-msw.c (emacs_mswindows_handle_magic_event):
11967         implement sticky modifiers.
11968
11969         * event-stream.c:
11970         * event-stream.c (vars_of_event_stream):
11971         move modifier-keys-are-sticky here.
11972
11973         * lisp.h:
11974         add CHECK_FUNCTION.
11975
11976         * rangetab.c:
11977         implement map-range-table.
11978
11979
11980 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11981
11982         * redisplay-tty.c (reset_tty_modes):
11983         (tty_redisplay_shutdown): Adjust argument type to
11984         tty_frame_output_end.
11985
11986 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11987
11988         * eval.c (Fbacktrace): Don't output a line with only right
11989         parenthesis.
11990
11991 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11992
11993         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11994         (Fpq_reset_poll): Ditto.
11995
11996 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11997
11998         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11999
12000 2000-05-16  Ben Wing  <ben@xemacs.org>
12001
12002         * buffer.c:
12003         * buffer.c (dfc_convert_to/from_internal_format):
12004         * buffer.c (reinit_vars_of_buffer):
12005         Fix conversion functions to allow reentrancy.
12006
12007         * console-msw.c:
12008         * console-msw.c (mswindows_output_last_error):
12009         New fun, generally useful -- output a human-readable
12010         version of GetLastError() on the console.
12011
12012         * console-msw.h:
12013         * console-msw.h (struct mswindows_frame):
12014         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12015
12016         * console-stream.c (stream_output_begin):
12017         * console-stream.c (stream_output_end):
12018         * console-stream.c (stream_output_vertical_divider):
12019         * console-stream.c (stream_clear_region):
12020         * console-stream.c (stream_flash):
12021         * console-stream.c (console_type_create_stream):
12022         Delete blank stream methods, not needed.
12023
12024         * console.h (struct console_methods):
12025         Split begin/end methods into window and frame.
12026
12027         * event-msw.c:
12028         * event-msw.c (mswindows_handle_paint):
12029         * event-msw.c (output_alt_keyboard_state):
12030         * event-msw.c (mswindows_wnd_proc):
12031         * event-msw.c (vars_of_event_mswindows):
12032         Comment about problems with ignored-expose.
12033         Define mswindows-debug-events; not really implemented.
12034
12035         * frame-msw.c (mswindows_init_frame_1):
12036         random cleanups.
12037
12038         * glyphs-msw.c:
12039         * glyphs-msw.c (begin_defer_window_pos):
12040         * glyphs-msw.c (mswindows_unmap_subwindow):
12041         * glyphs-msw.c (mswindows_map_subwindow):
12042         * glyphs-msw.c (mswindows_resize_subwindow):
12043         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12044
12045         * glyphs.c (make_image_instance_1):
12046         Fix crash.
12047
12048         * gutter.c (Fredisplay_gutter_area):
12049         Use new begin/end methods.
12050
12051         * lisp.h (Dynarr_new2):
12052         New creation fun.
12053
12054         * redisplay-msw.c:
12055         * redisplay-msw.c (mswindows_frame_output_begin):
12056         * redisplay-msw.c (mswindows_frame_output_end):
12057         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12058         New begin/end methods -- handle DeferWindowPos.
12059
12060         * redisplay-output.c (redisplay_move_cursor):
12061         * redisplay-output.c (redraw_cursor_in_window):
12062         * redisplay-output.c (redisplay_update_line):
12063         * redisplay-output.c (redisplay_output_window):
12064         New begin/end methods.
12065
12066         * redisplay-tty.c:
12067         * redisplay-tty.c (tty_frame_output_begin):
12068         * redisplay-tty.c (tty_frame_output_end):
12069         * redisplay-tty.c (console_type_create_redisplay_tty):
12070         New begin/end methods.
12071
12072         * redisplay-x.c:
12073         * redisplay-x.c (x_window_output_begin):
12074         * redisplay-x.c (x_window_output_end):
12075         * redisplay-x.c (console_type_create_redisplay_x):
12076         New begin/end methods.
12077
12078         * redisplay.c (redisplay_frame):
12079         * redisplay.c (Fredisplay_echo_area):
12080         New begin/end methods.
12081         use MAYBE_DEVMETH for clear_frame; it may not exist.
12082
12083         * window.h (WINDOW_XFRAME):
12084         WINDOW_XFOO macros -- get locale and decode struct pointer.
12085
12086
12087 2000-05-12  Ben Wing  <ben@xemacs.org>
12088
12089         * emacs.c:
12090         * emacs.c (ensure_no_quitting_from_now_on):
12091         * emacs.c (fatal_error_signal):
12092         * emacs.c (mswindows_handle_hardware_exceptions):
12093         * emacs.c (main):
12094         * emacs.c (Fkill_emacs):
12095         * emacs.c (shut_down_emacs):
12096         * emacs.c (assert_failed):
12097         various improvements in fatal error handling.
12098
12099         * eval.c:
12100         move preparing_for_armageddon to emacs.c.
12101
12102         * lisp.h:
12103         declare fatal_error_in_progress.
12104
12105         * print.c:
12106         * print.c (std_handle_out_external):
12107         * print.c (std_handle_out_va):
12108         * print.c (stderr_out):
12109         * print.c (stdout_out):
12110         use console under mswin when no standard output.
12111         don't do code conversion during fatal error.
12112
12113         * scrollbar.c (Fscrollbar_page_up):
12114         * scrollbar.c (Fscrollbar_page_down):
12115         fix missing else.  reindent.
12116
12117 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12118
12119         Emergency fix.
12120
12121         * glyphs.h (GLYPH_CACHEL_DESCENT):
12122         (GLYPH_CACHEL_DESCENT):
12123         (GLYPH_CACHEL_DESCENT):
12124         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12125         used in case these are inline functions.
12126         Use more absurd values to error check.
12127
12128         include window.h for error check functions.
12129
12130 2000-05-11  Ben Wing  <ben@xemacs.org>
12131
12132         * cmdloop.c (Freally_early_error_handler):
12133         Display message box under windows; otherwise, message will disappear
12134         before it can be viewed.
12135
12136         * console-msw.c:
12137         * console-msw.c (Fmswindows_message_box):
12138         * console-msw.c (FROB):
12139         * console-msw.c (syms_of_console_mswindows):
12140         Define new fun `mswindows-message-box'.
12141         #### I will merge this into `popup-dialog-box'; just give me
12142         a bit of time.
12143
12144         * general.c:
12145         * general.c (syms_of_general):
12146         Some new symbols used in `mswindows-message-box'.
12147
12148         * glyphs.c:
12149         * glyphs.c (Fset_image_instance_property):
12150         put warning in this fun.
12151
12152         * glyphs.h:
12153         * glyphs.h (GLYPH_CACHEL_WIDTH):
12154         * glyphs.h (GLYPH_CACHEL_ASCENT):
12155         * glyphs.h (GLYPH_CACHEL):
12156         * glyphs.h (GLYPH_CACHEL_GLYPH):
12157         define error-checking versions to try to catch a bug i've seen --
12158         redisplay gets in an infinite loop because the glyph width of the
12159         continuation glyph is 65535.
12160
12161         * lisp.h:
12162         Extern message-box stuff.
12163
12164         * window.c (allocate_window):
12165         * window.c (make_dummy_parent):
12166         * window.c (Fset_window_configuration):
12167         Use EQUAL not EQ for subwindow caches to make them work a bit
12168         better. (Something is still very broken.)
12169
12170
12171 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12172
12173         * glyphs.c (image_instantiate): Suppress gcc warnings.
12174         (Fmake_image_instance): Fix doc string.
12175         * specifier.c (Fmake_specifier): Ditto.
12176
12177 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12178
12179         * paths.h.in (PATH_LOCK): Removed.
12180         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12181         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12182
12183 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12184
12185         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12186         Document (featurep '(and xemacs 21.02)).
12187
12188 2000-05-09  Ben Wing  <ben@xemacs.org>
12189
12190         * buffer.c (complex_vars_of_buffer):
12191         update modeline-format doc.
12192
12193         * device.h:
12194         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12195
12196         * emacs.c:
12197         timeline of all released versions of Emacs, for use in creating
12198         authorship comments and in synching up.
12199
12200         * glyphs-widget.c (image_instantiator_buttons):
12201         * glyphs-widget.c (image_instantiator_edit_fields):
12202         * glyphs-widget.c (image_instantiator_combo_box):
12203         * glyphs-widget.c (image_instantiator_scrollbar):
12204         * glyphs-widget.c (image_instantiator_progress_guage):
12205         * glyphs-widget.c (image_instantiator_tree_view):
12206         * glyphs-widget.c (image_instantiator_tab_control):
12207         * glyphs-widget.c (image_instantiator_labels):
12208         * glyphs-widget.c (image_instantiator_layout):
12209         * glyphs-widget.c (image_instantiator_native_layout):
12210         rename decode_domain method to governing_domain.
12211
12212         * glyphs.c:
12213         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12214         * glyphs.c (add_entry_to_device_ii_format_list):
12215         make sure we don't put an entry more than once into the list.
12216         * glyphs.c (check_instance_cache_mapper):
12217         *************************************************************
12218         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12219         HAVE BEEN GETTING.
12220         *************************************************************
12221         * glyphs.c (get_image_instantiator_governing_domain):
12222         clean up, expand on new concept of governing domain.
12223         * glyphs.c (instantiate_image_instantiator):
12224         * glyphs.c (allocate_image_instance):
12225         use governing_domain instead of cache_domain in naming.
12226         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12227         * glyphs.c (make_image_instance_1):
12228         * glyphs.c (Fmake_image_instance):
12229         allow for any domain (not just device), and process the
12230         governing domain correctly.  very big doc fix.
12231         * glyphs.c (Fimage_instance_domain):
12232         new primitive, to retrieve the governing domain of an image instance.
12233         * glyphs.c (image_instantiate):
12234         use new governing_domain stuff.  this fixes a crash you could get
12235         by instantiating certain widget glyphs in frame locales. (should
12236         signal an error instead of crashing.)
12237         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12238         * glyphs.c (Fglyphp): clean up doc.
12239         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12240         * glyphs.c (syms_of_glyphs):
12241         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12242         * glyphs.c (image_instantiator_format_create): add some comments about
12243         bogus code.
12244         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12245         for current-display-table. (Apparently Hrjove implemented in 1998 a
12246         design I wrote up in 1996, but didn't update the doc string.)
12247
12248         * glyphs.h: clean up a doc string.
12249         * glyphs.h (governing_domain):
12250         * glyphs.h (struct image_instantiator_methods):
12251         changes for governing_domain stuff.
12252
12253         * gutter.c:
12254         * gutter.c (Fgutter_specifier_p):
12255         * gutter.c (Fgutter_size_specifier_p):
12256         * gutter.c (Fgutter_visible_specifier_p):
12257         * objects.c:
12258         * objects.c (Fcolor_specifier_p):
12259         * objects.c (Ffont_specifier_p):
12260         * objects.c (Fface_boolean_specifier_p):
12261         doc strings moved to make-*-specifier.
12262
12263         * redisplay.c (add_disp_table_entry_runes_1):
12264         * redisplay.c (generate_fstring_runes):
12265         * redisplay.c (screen):
12266         add random comments and doc strings.
12267
12268         * specifier.c:
12269         * specifier.c (Fmake_specifier):
12270         major overhaul of this doc string.
12271
12272         * specifier.c (Fvalid_specifier_domain_p):
12273         comment about the bogosity of image instances being domains.
12274         * specifier.c (decode_domain):
12275         now non-static, used in glyphs.c.
12276         * specifier.c (specifier_instance):
12277         comment about the bogosity of image instances being domains.
12278         * specifier.c (Fgeneric_specifier_p):
12279         move doc string to make-generic-specifier.
12280         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12281         rebackslashify.
12282
12283         * specifier.h:
12284         * specifier.h (DOMAIN_FRAME):
12285         * specifier.h (DOMAIN_LIVE_P):
12286         * specifier.h (DOMAIN_XDEVICE):
12287         rebackslashify.
12288         add comments about problems with these macros.
12289         prototype for decode_domain.
12290
12291         * toolbar.c:
12292         * toolbar.c (Ftoolbar_specifier_p):
12293         move doc string to `make-toolbar-specifier'.
12294
12295         * window.c (window_unmap_subwindows_cache_mapper):
12296         *************************************************************
12297         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12298         HAVE BEEN GETTING.
12299         *************************************************************
12300
12301 2000-05-09  Andy Piper  <andy@xemacs.org>
12302
12303         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12304
12305         * window.c (Fset_window_configuration): reset the frame subwindow
12306         cache and re-initialize the window subwindow caches.
12307
12308         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12309
12310 2000-05-09  Ben Wing  <ben@xemacs.org>
12311
12312         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12313         DWORD.
12314
12315 2000-04-26  Mike Woolley  <mike@bulsara.com>
12316
12317         * ntheap.c: Changed recreate_heap to limit the amount reserved
12318         for the heap to that which is actually available. Also now
12319         displays a message box (with some dignostics) in the event that
12320         it still can't start.
12321
12322 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12323
12324         * callproc.c (Fold_call_process_internal): GCPRO path
12325
12326 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12327
12328         Patch by Bill Perry.
12329
12330         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12331         back data instead of #ifdef.
12332         (Fscrollbar_page_down): ditto.
12333
12334 2000-05-07  Ben Wing  <ben@xemacs.org>
12335
12336         * buffer.h:
12337         Kludge for defining Qmswindows_tstr.
12338
12339         * nt.c:
12340         * nt.c (open_input_file):
12341         * nt.c (open_output_file):
12342         * nt.c (rva_to_section):
12343         * nt.c (mswindows_executable_type):
12344         Move all memory-mapped-file routines here (some were in unexnt.c,
12345         which is bad because they are used by process-nt.c, and unexnt
12346         won't be around when portable dumping).  Synched the above routines
12347         with FSF 20.6.
12348
12349         * nt.h:
12350         Removed ifdef'd out bogus code.
12351         Fixed some prototypes.
12352
12353         * nt.h (file_data):
12354         * nt.h (OFFSET_TO_RVA):
12355         * nt.h (RVA_TO_OFFSET):
12356         * nt.h (RVA_TO_PTR):
12357         Moved the memory-mapped-file structures, macros and prototypes
12358         here, to parallel nt.c.  ntheap.h should really be removed
12359         entirely, and it's a non-portable-dumper specific file.
12360
12361         * ntheap.h (round_to_next):
12362         Moved the memory-mapped-file structures, macros and prototypes
12363         to nt.h.
12364
12365         * ntproc.c (compare_env):
12366         Moved rva_to_section and mswindows_executable_type to nt.c.
12367         Moved compare_env to process-nt.c.
12368         ntproc.c will die, one day.
12369
12370         * ntproc.c (sys_spawnve):
12371         Account for win32_ -> mswindows_.
12372
12373         * process-nt.c:
12374         * process-nt.c (struct nt_process_data):
12375         * process-nt.c (ensure_console_window_exists):
12376         * process-nt.c (compare_env):
12377         * process-nt.c (nt_create_process):
12378         * process-nt.c (nt_kill_process_by_pid):
12379         * process-nt.c (syms_of_process_nt):
12380         * process-nt.c (vars_of_process_nt):
12381         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12382         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12383         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12384         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12385         Move compare_env here from ntproc.c.
12386
12387         * process.c (Fprocess_send_region):
12388         Takes an optional fourth argument, BUFFER, which should fix some
12389         problems with call-process.
12390
12391         * syscommctrl.h:
12392         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12393
12394         * syswindows.h:
12395         Move ICC_BAR_CLASSES to syscommctrl.h.
12396         Add preliminary macros for MSWindows/Mule.  More to come.
12397
12398         * unexnt.c:
12399         * unexnt.c (unexec):
12400         open_output_file moved to nt.c.
12401
12402
12403 2000-05-05  Andy Piper  <andy@xemacs.org>
12404
12405         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12406         instance from the frame cache also since GC may catch up too late
12407         to make frame deletion sane.
12408
12409 2000-05-04  Andy Piper  <andy@xemacs.org>
12410
12411         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12412         (x_finalize_image_instance): ungcpro on deletion.
12413
12414         * glyphs.c (image_instantiator_format_create): give pointers a
12415         query geometry method so that the geometry is at least set.
12416
12417         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12418         initialize layouts if using widgets.
12419
12420 2000-05-03  Andy Piper  <andy@xemacs.org>
12421
12422         * nt.c: remove bogus reference to sysmmsystem.h
12423
12424         * gui-x.c (popup_selection_callback): fix no selection abort.
12425
12426 2000-05-02  Andy Piper  <andy@xemacs.org>
12427
12428         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12429         (mswindows_widget_instantiate): ditto.
12430
12431         * glyphs-widget.c (initialize_widget_image_instance): initialize
12432         children correctly.
12433         (widget_instantiate): cope with children and items in the same
12434         instance.
12435
12436         * glyphs.c (mark_image_instance): cope with children as a first
12437         class member.
12438         (image_instance_equal): ditto.
12439         (image_instance_hash): ditto.
12440         (image_instance_changed): ditto.
12441
12442 2000-04-30  Andy Piper  <andy@xemacs.org>
12443
12444         * glyphs.c (subwindow_query_geometry): new function. Return some
12445         defaults.
12446         (subwindow_instantiate): don't assign dimensions if none have been
12447         given.
12448         (image_instantiator_format_create): add subwindow_query_geometry.
12449         (print_image_instance): cope with layouts as widgets.
12450
12451 2000-04-29  Andy Piper  <andy@xemacs.org>
12452
12453         * frame.c (delete_frame_internal): call
12454         free_frame_subwindow_instance_cache so that all subwindows are
12455         finalized before their parent.
12456         (mark_frame): remove subwindow_cachels.
12457         (Fmake_frame): remove subwindow_cachel manipulation.
12458         (allocate_frame_core): subwindow_instance_cache is a weak list.
12459         (delete_frame_internal): set subwindow_instance_cache to nil.
12460
12461         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12462         finalization safe.
12463         (mswindows_finalize_image_instance): use the device
12464         not the domain as the domain may have died already.
12465
12466         * glyphs-x.c (x_finalize_image_instance): ditto.
12467         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12468         HEIGHT.
12469
12470         * redisplay-output.c (redisplay_unmap_subwindows): update for
12471         subwindow instance cache as a weak list.
12472         (redisplay_unmap_subwindows_maybe): ditto.
12473         (redisplay_unmap_subwindows_except_us): ditto.
12474
12475         * glyphs.c (unmap_subwindow): error checking will check the domain
12476         so don't deal with it here. Don't use cachels anymore.
12477         (map_subwindow): ditto.
12478         (update_subwindow_cachel_data): remove old accessor names.
12479         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12480         (Fresize_subwindow): don't update cachel.
12481         (mark_subwindow_cachels):
12482         (update_subwindow_cachel_data):
12483         (add_subwindow_cachel):
12484         (get_subwindow_cachel_index):
12485         (update_subwindow_cachel):
12486         (reset_subwindow_cachels):
12487         (mark_subwindow_cachels_as_not_updated): deleted.
12488         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12489         subwindow instance to the frame cache.
12490         (find_matching_subwindow): update for subwindow instance cache as
12491         a weak list.
12492         (update_widget_instances): ditto.
12493         (image_instance_type_to_mask):inlined.
12494         (free_frame_subwindow_instance_cache): new function. finalize all
12495         subwindows that are instantiated.
12496
12497         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12498         of cachel information.
12499         (IMAGE_INSTANCE_DISPLAY_X):
12500         (IMAGE_INSTANCE_DISPLAY_Y):
12501         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12502         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12503         (XIMAGE_INSTANCE_DISPLAY_X):
12504         (XIMAGE_INSTANCE_DISPLAY_Y):
12505         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12506         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12507         remove subwindow_cachel structure and function references.
12508         (image_instance_type_to_mask): inline from glyphs.c
12509
12510         * redisplay.c (redisplay_frame): remove subwindow_cachel
12511         references.
12512
12513         * frame.h (struct frame): remove subwindow_cachels.
12514         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12515
12516         * frameslots.h: add subwindow_instance_cache.
12517
12518         * window.c (replace_window): check subwindow cache of replacement.
12519         (window_unmap_subwindows_cache_mapper):
12520         (window_unmap_subwindows): new functions. Unmap all subwindows
12521         cached on this window.
12522         (mark_window_as_deleted): unmap all subwindows.
12523
12524 2000-04-27  Andy Piper  <andy@xemacs.org>
12525
12526         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12527
12528         * glyphs-widget.c (widget_layout): return something.
12529         (layout_layout): return something. Fail if not initialized.
12530         (layout_query_geometry): ditto.
12531         (image_instantiator_native_layout): new function. Initialized the
12532         native layout type.
12533         (widget_instantiate): don't do layout stuff here.
12534
12535         * glyphs.c (instantiate_image_instantiator): reorded calling or
12536         instantiate and post_instantiate with layout in between.
12537         (image_instance_layout): be more selective about deciding whether
12538         the layout has been done or not.
12539
12540         * glyphs.h (struct image_instantiator_methods): return a value
12541         from layout_method.
12542
12543 2000-04-26  Andy Piper  <andy@xemacs.org>
12544
12545         * glyphs.c (allocate_image_instance): make initial width and
12546         height unspecified. Set initialized to 0.
12547
12548         * syscommctrl.h new file. Encapsulates commctrl.h.
12549
12550         * syswindows.h new file. Encapsulates windows.h.
12551
12552         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12553         * nt.c: ditto.
12554         * console-msw.h: ditto.
12555
12556         * redisplay-tty.c (tty_output_display_block): remove layout references.
12557
12558         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12559         window handle rather than just the frame.
12560
12561         * glyphs.c (mark_image_instance): remove layout references.
12562         (print_image_instance): ditto.
12563         (image_instance_equal): ditto.
12564         (image_instance_hash): ditto.
12565         (decode_image_instance_type): ditto.
12566         (encode_image_instance_type): ditto.
12567         (image_instantiate): ditto.
12568         (allocate_glyph): ditto.
12569         (Fimage_instance_height): ditto.
12570         (Fimage_instance_width): ditto.
12571         (update_subwindow): ditto.
12572
12573         * redisplay-x.c (x_output_display_block): recode for layouts as
12574         widgets.
12575
12576         * redisplay-output.c (redisplay_output_layout): recode for layouts
12577         as widgets.
12578         (compare_runes): remove layout references.
12579
12580         * redisplay-msw.c (mswindows_output_display_block): recode for
12581         layouts as widgets.
12582
12583         * glyphs-widget.c (image_instantiator_layout): remove
12584         layout_possible_dest_types.
12585         (layout_possible_dest_types): deleted.
12586
12587         * glyphs.h (image_instance_type): remove layout references.
12588         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12589         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12590         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12591
12592 2000-04-25  Andy Piper  <andy@xemacs.org>
12593
12594         * glyphs-widget.c (image_instantiator_buttons):
12595         (image_instantiator_edit_fields):
12596         (image_instantiator_combo_box):
12597         (image_instantiator_scrollbar):
12598         (image_instantiator_progress_guage):
12599         (image_instantiator_tree_view):
12600         (image_instantiator_tab_control):
12601         (image_instantiator_labels):
12602         (image_instantiator_layout): call default post_instantiate method.
12603         (widget_post_instantiate): new function. Simply lays out the
12604         widgets.
12605
12606         * glyphs.h (struct image_instantiator_methods): add
12607         post_instantiate method.
12608
12609         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12610         method calls.
12611
12612 2000-04-23  Andy Piper  <andy@xemacs.org>
12613
12614         * glyphs.h (struct image_instantiator_methods): add
12615         decode_domain_method.
12616         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12617         derived from the domain.
12618         (IMAGE_INSTANCE_FRAME): new accessor.
12619         (XIMAGE_INSTANCE_FRAME): ditto.
12620
12621         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12622         instead of _SUBWINDOW_FRAME.
12623         (finalize_image_instance): ditto.
12624         (Fimage_instance_foreground): ditto.
12625         (Fimage_instance_background): ditto.
12626         (image_instantiate): ditto.
12627         (update_subwindow_cachel): ditto.
12628         (update_subwindow): ditto.
12629         (unmap_subwindow): ditto.
12630         (map_subwindow): ditto
12631         (subwindow_instantiate): ditto.
12632         * glyphs-msw.c (mswindows_update_widget): ditto.
12633         (mswindows_progress_gauge_instantiate): ditto.
12634         (mswindows_tab_control_update): ditto.
12635         * glyphs-x.c (x_update_widget): ditto.
12636         (x_widget_instantiate): ditto.
12637         (x_tab_control_instantiate): ditto.
12638         (x_tab_control_update): ditto.
12639         * event-msw.c (mswindows_wnd_proc): ditto
12640
12641         * glyphs-widget.c (image_instantiator_layout): use
12642         subwindow_decode_domain.
12643         (image_instantiator_buttons): ditto.
12644         (image_instantiator_edit_fields): ditto.
12645         (image_instantiator_combo_box): ditto.
12646         (image_instantiator_scrollbar): ditto.
12647         (image_instantiator_progress_guage): ditto.
12648         (image_instantiator_tree_view): ditto.
12649         (image_instantiator_tab_control): ditto.
12650         (image_instantiator_labels): ditto.
12651         (image_instantiator_layout): ditto.
12652
12653         * glyphs.c: add instance error checking to many functions.
12654         (instantiate_image_instantiator): decode device from cache_domain.
12655         (image_instantiate): partially rewrite by using
12656         decode_image_instantiator_domain to determine what domain the
12657         instance needs to be cached in.
12658         (decode_image_instantiator_domain): new function. Determine what
12659         domain the image needs to be cached in.
12660         (check_window_subwindow_cache): new error checking function.
12661         (check_instance_cache_mapper): ditto.
12662         (check_image_instance_structure): ditto.
12663         (subwindow_decode_domain): new function. Encodes a window as a
12664         subwindow's cache domain.
12665         (image_instantiator_format_create): use it for text and
12666         subwindows.
12667
12668 2000-04-21  Andy Piper  <andy@xemacs.org>
12669
12670         * glyphs.c (image_instance_device): new function.
12671         (image_instance_frame): new function.
12672         (image_instance_window): new function.
12673         (image_instance_live_p): new function.
12674
12675         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12676         cache to nil.
12677
12678         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12679         (IMAGE_INSTANCE_DOMAIN): new accessor.
12680         (XIMAGE_INSTANCE_DOMAIN): ditto.
12681
12682         * glyphs-x.c (x_finalize_image_instance): device->domain.
12683
12684         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12685         (mswindows_finalize_image_instance): ditto.
12686
12687         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12688         (gif_instantiate): ditto.
12689         (png_instantiate): ditto.
12690         (tiff_instantiate): ditto.
12691
12692         * glyphs.c (instantiate_image_instantiator): use domain rather
12693         than device.
12694         (mark_image_instance): device -> domain.
12695         (print_image_instance): ditto.
12696         (finalize_image_instance): ditto.
12697         (image_instance_equal): ditto.
12698         (allocate_image_instance): ditto.
12699         (Fcolorize_image_instance): ditto.
12700         (query_string_geometry): ditto.
12701         (image_instantiate): ditto
12702         (query_string_font): ditto.
12703         (image_instantiate): ditto.
12704         (update_subwindow): ditto.
12705         (unmap_subwindow): ditto.
12706         (map_subwindow): ditto.
12707         (subwindow_instantiate): ditto.
12708
12709         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12710         (DOMAIN_FRAME): ditto.
12711         (DOMAIN_WINDOW): ditto.
12712         (DOMAIN_LIVE_P): ditto.
12713         (XDOMAIN_DEVICE): ditto.
12714         (XDOMAIN_FRAME): ditto.
12715         (XDOMAIN_WINDOW): ditto.
12716
12717         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12718         a valid specifier domain.
12719
12720 2000-04-19  Andy Piper  <andy@xemacs.org>
12721
12722         * glyphs-widget.c (syms_of_glyphs_widget): remove
12723         widget-callback-current-channel.
12724         (vars_of_glyphs_widget): ditto.
12725         * glyphs.h: ditto
12726
12727         * gui.c (get_gui_callback): revert to previous behaviour.
12728
12729 2000-04-18  Andy Piper  <andy@xemacs.org>
12730
12731         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12732         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12733         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12734
12735         * glyphs.c (image_instance_equal): add margin_width.
12736         (image_instance_hash): ditto.
12737
12738         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12739         (layout_query_geometry): ditto.
12740         (layout_layout): ditto.
12741         (syms_of_glyphs_widget): add margin-width.
12742         (image_instantiator_layout): allow margin-width.
12743
12744         * glyphs.c (update_widget_instances): make a normal function.
12745         (syms_of_glyphs): remove Qupdate_widget_instances.
12746         * glyphs.h: ditto.
12747
12748         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12749         so that we don't corrupt ideas about the last event or
12750         command. Remove widget-callback-current-channel fiddling.
12751         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12752
12753 2000-05-01  Martin Buchholz <martin@xemacs.org>
12754
12755         * XEmacs 21.2.33 is released.
12756
12757 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12758
12759         * make-src-depend: Allow dots in header file name.
12760
12761 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12762
12763         * mule-charset.h (struct charset_lookup): Add
12764         next_allocated_1_byte_leading_byte and
12765         next_allocated_2_byte_leading_byte.
12766         * mule-charset.c: Move above two variables so that those values
12767         will be dumped.
12768
12769 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12770
12771         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12772         when string length is zero.
12773         (find_charsets_in_emchar_string): Ditto.
12774
12775 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12776
12777         * lisp.h: extern Qdialog and Qmenubar.
12778
12779         * gui-x.c: added events.h.
12780                 also fixed typo which made the file uncompilable.
12781
12782         * general.c: Added Qmenubar and Qdialog
12783
12784 2000-04-28  Ben Wing  <ben@xemacs.org>
12785
12786         * frame-msw.c (mswindows_init_frame_1):
12787         * frame-msw.c (mswindows_mark_frame):
12788         * event-msw.c (mswindows_enqueue_dispatch_event):
12789         * console-msw.h:
12790         * console-msw.h (struct mswindows_frame):
12791         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12792         there are now three hash tables for callbacks.
12793         mswindows_enqueue_dispatch_event is no longer static.
12794
12795         * dialog-x.c (maybe_run_dbox_text_callback):
12796         * dialog-x.c (dbox_descriptor_to_widget_value):
12797         switch to new cons3 form for callbacks.
12798
12799         * glyphs-msw.c (mswindows_register_gui_item):
12800         * glyphs-msw.c (mswindows_widget_instantiate):
12801         * glyphs-msw.c (add_tree_item):
12802         * glyphs-msw.c (add_tab_item):
12803         new image instance parameter, so it can be passed to callback-ex.
12804         respect :callback-ex as well as :callback.
12805
12806         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12807         add :callback-ex.
12808
12809         * glyphs.c (print_image_instance):
12810         prettify, e.g. now prints widget type.
12811
12812         * gui-x.h:
12813         certain funs have new image instance parameter.
12814
12815         * gui.c:
12816         * gui.c (get_gui_callback):
12817         * gui.c (gui_item_add_keyval_pair):
12818         * gui.c (gui_item_init):
12819         * gui.c (gui_add_item_keywords_to_plist):
12820         * gui.c (mark_gui_item):
12821         * gui.c (gui_item_hash):
12822         * gui.c (gui_item_equal):
12823         * gui.c (copy_gui_item):
12824         * gui.c (syms_of_gui):
12825         recognize callback-ex in a number of places.
12826         also, fix the annoying "can't get out of yes-no dialog" bug.
12827
12828         * gui.h:
12829         * gui.h (struct Lisp_Gui_Item):
12830         recognize callback-ex in a number of places.
12831
12832         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12833         new parameter in button_item_to_widget_value.
12834
12835         * glyphs-x.c (x_update_widget):
12836         * glyphs-x.c (x_button_instantiate):
12837         * glyphs-x.c (x_button_update):
12838         * glyphs-x.c (x_progress_gauge_instantiate):
12839         * glyphs-x.c (x_edit_field_instantiate):
12840         * glyphs-x.c (x_combo_box_instantiate):
12841         * glyphs-x.c (x_tab_control_instantiate):
12842         * glyphs-x.c (x_label_instantiate):
12843         new image instance parameter in various places.
12844
12845         * event-Xt.c:
12846         * event-Xt.c (enqueue_Xt_dispatch_event):
12847         this fun gets exported.
12848
12849         * gui-msw.c:
12850         * gui-msw.c (mswindows_handle_gui_wm_command):
12851         handle both :callback and :callback-ex, and generate our own
12852         event because it's one of the callback-ex arguments.
12853
12854         * gui-x.c:
12855         * gui-x.c (popup_selection_callback):
12856         handle both :callback and :callback-ex, and generate our own
12857         event because it's one of the callback-ex arguments.
12858         * gui-x.c (button_item_to_widget_value):
12859         * gui-x.c (gui_items_to_widget_values_1):
12860         * gui-x.c (gui_item_children_to_widget_values):
12861         * gui-x.c (gui_items_to_widget_values):
12862         new image instance parameter in various places.
12863
12864         * fns.c (Freplace_list):
12865         fix small typo in doc string.
12866
12867         * lisp.h:
12868         declare enqueue_Xt_dispatch_event.
12869
12870 2000-04-28  Ben Wing  <ben@xemacs.org>
12871
12872         * buffer.c:
12873         * buffer.c (Frecord_buffer):
12874         * buffer.c (syms_of_buffer):
12875         delete record-buffer-hook.
12876
12877         * fns.c:
12878         * fns.c (Freplace_list):
12879         * fns.c (syms_of_fns):
12880         new primitive replace-list.
12881
12882         * frameslots.h:
12883         slot for old buffer-alist.
12884
12885         * lisp.h:
12886         exfun replace-list.
12887
12888         * redisplay.c:
12889         * redisplay.c (redisplay_frame):
12890         * redisplay.c (syms_of_redisplay):
12891         * redisplay.c (vars_of_redisplay):
12892         new hook buffer-list-changed-hook.
12893         call it.
12894
12895 2000-04-27  Ben Wing  <ben@xemacs.org>
12896
12897         * extents.h: extern in_modeline_generation.
12898
12899         * redisplay.c (generate_formatted_string_db): set
12900         in_modeline_generation.
12901
12902         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12903         flags if in modeline generation.  otherwise frame-modified-tick
12904         is ticked far too often.
12905         Declare in_modeline_generation.
12906
12907 2000-04-26  Ben Wing  <ben@xemacs.org>
12908
12909         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12910         option.
12911         (vars_of_emacs): add quick-build as an error-checking option.
12912         A bit kludgy, but there doesn't seem much point in creating
12913         a real var for this.
12914
12915         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12916
12917 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12918
12919         * redisplay.h (struct display_line): Add a new variable,
12920         line_continuation.
12921
12922         * redisplay.c (create_text_block): Set dl->line_continuation if
12923         the line continues.
12924         (create_string_text_block): Ditto.
12925         (regenerate_window_incrementally): Use line_continuation instead
12926         of searching continuation glyph.
12927         (add_margin_runes): Call add_glyph_rune.
12928         (add_glyph_rune): Handle margin glyph.
12929
12930 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12931
12932         * filelock.c (fill_in_lock_file_name):
12933         ANSIfy.
12934         Check for IS_ANY_SEP instead of '/'.
12935         (lock_file_1):
12936         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12937         Never check errno without first seeing that system call failed.
12938         (unlock_file): Add GCPRO.
12939         (Flock_buffer): Fix docstring.
12940         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12941
12942 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12943
12944         * sysdep.c (get_pty_max_bytes):
12945         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12946         strings longer than 252 bytes.
12947
12948         * md5.c: Unconditionally include ANSI header <limits.h>
12949
12950         * glyphs-x.c (convert_EImage_to_XImage):
12951         * lisp-union.h (union Lisp_Object):
12952         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12953
12954 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12955
12956         * filelock.c (current_lock_owner): Remove unused variable o, p.
12957
12958 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12959
12960         * callint.c: Remove multiply defined symbol Qlet
12961         (syms_of_callint): ditto.
12962
12963 2000-04-14  Andy Piper  <andy@xemacs.org>
12964
12965         * general.c (syms_of_general): add last-command, this-command, let
12966         and funcall.
12967
12968         * lisp.h: declare various symbols.
12969
12970         * glyphs.h: declare Qwidget_callback_current_channel;
12971
12972         * glyphs-widget.c (syms_of_glyphs_widget): add
12973         Qgui_callback_current_channel.
12974         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12975
12976         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12977         widget-callback-current-channel when invoking the interactive
12978         arg. Also bind last-command and next-command when invoking the
12979         widget updates.
12980         * gui-x.c (popup_selection_callback): ditto.
12981
12982         * gui.c (get_gui_callback): massage args so that we are always
12983         calling eval. This allows us to add our own variable bindings
12984         outside.
12985
12986         * glyphs-x.c (x_button_instantiate): use
12987         gui_items_to_widget_values since this is GC safe.
12988         (x_progress_gauge_instantiate): ditto.
12989         (x_edit_field_instantiate): ditto.
12990         (x_label_instantiate): ditto.
12991
12992         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12993         (emacs_Xt_event_widget_focus_out): new function
12994         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12995         focus.
12996         (emacs_Xt_event_add_widget_actions): new function. add focus
12997         functions as actions.
12998         (init_event_Xt_late): use it.
12999
13000 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13001
13002         * event-stream.c (Fdispatch_event): Doc fix.
13003
13004 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13005
13006         * postgresql.c: Remove all references to PQsetenv*.
13007
13008         * postgresql.h: Remove references to PGsetenvHandler object.
13009         * lrecord.h (lrecord_type): Ditto.
13010
13011 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13012
13013         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13014         real_heigh and real_width members, and accessor macros for these.
13015
13016         * glyphs-msw.c (init_image_instance_geometry): New function.
13017         (init_image_instance_from_dibitmap): Use it.
13018         (mswindows_resource_instantiate): Use it.
13019         (init_image_instance_from_xbm_inline): Use it.
13020         (mswindows_initialize_image_instance_mask): Use real bitmap
13021         geometry.
13022         (mswindows_create_resized_bitmap): Ditto.
13023         (mswindows_create_resized_mask): Ditto.
13024
13025         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13026         and bitmap to their surface size.
13027
13028 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13029
13030         * process-unix.c (unix_send_process): Guard against process MIA
13031         after Faccept_process_output.
13032
13033 2000-04-11  Ben Wing  <ben@xemacs.org>
13034
13035         * eval.c (unbind_to_hairy): fix brokenness introduced by
13036         nanosecond speed improvements.
13037
13038 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13039
13040         * sunplay.c (init_device): To play sounds correctly, the device
13041         apparently needs to be initialized at least once by XEmacs.  Make
13042         it so.
13043
13044 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13045
13046         * redisplay.c (add_margin_runes): Add text image glyph
13047           handling.
13048
13049 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13050
13051         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13052         gcc is newer than 2.5.
13053
13054 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13055
13056         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13057
13058         * fns.c (size_bit_vector):
13059         * alloc.c (size_vector):
13060         (make_vector_internal):
13061         (make_bit_vector_internal):
13062         (sweep_bit_vectors_1):
13063         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13064
13065 2000-04-06  Andy Piper  <andy@xemacs.org>
13066
13067         * gmalloc.c (malloc): undo previous change.
13068         (malloc): ditto.
13069         (free): ditto.
13070         (realloc): ditto.
13071
13072 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13073
13074         * line-number.c (buffer_line_number): Revert to former version.
13075
13076 2000-04-06  Andy Piper  <andy@xemacs.org>
13077
13078         * gmalloc.c (malloc): add error checking.
13079         (malloc): ditto.
13080         (free): ditto.
13081         (realloc): ditto.
13082
13083         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13084         button_item_to_widget_value arg.
13085
13086         * glyphs-x.c (x_button_instantiate): add extra
13087         button_item_to_widget_value arg.
13088         (x_progress_gauge_instantiate): ditto.
13089         (x_edit_field_instantiate): ditto.
13090         (x_label_instantiate): ditto.
13091
13092         * gui-x.c (gui_items_to_widget_values_1): add extra
13093         button_item_to_widget_value arg.
13094         (button_item_to_widget_value): add extra menu_item_p arg.
13095
13096         * gui-x.h: change signature of button_item_to_widget_value.
13097
13098         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13099         button_item_to_widget_value arg.
13100
13101 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13102
13103         * buffer.h (struct buffer): auto_save_modified should be long.
13104
13105 2000-04-05  Andy Piper  <andy@xemacs.org>
13106
13107         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13108         type.
13109         (button_query_geometry): give a little more room so that athena
13110         buttons fit.
13111
13112 2000-04-05  Andy Piper  <andy@xemacs.org>
13113
13114         * faces.c (complex_vars_of_faces): The widget face should inherit
13115         the font of the gui-element face.
13116
13117 2000-04-04  Andy Piper  <andy@xemacs.org>
13118
13119         * glyphs-x.c (x_button_update): new function. unconditionally
13120         update a button's state when the instance is dirty.
13121         (image_instantiator_format_create_glyphs_x): add x_button_update.
13122         (x_widget_instantiate): remove old resize cruft.
13123
13124 2000-04-02  Andy Piper  <andy@xemacs.org>
13125
13126         * frame.c (change_frame_size_1): The introduction of gutters means
13127         that we need to allow 0 as a potential frame dimension.
13128
13129 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13130
13131         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13132         image glyph if allow_cursor.
13133         (add_hscroll_rune): Don't allow cursor to border glyph.
13134         (create_text_block): Ditto.
13135
13136         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13137         text not in buffer.
13138         (redisplay_output_layout): Call ensure_face_cachel_complete for
13139         text image glyph.
13140
13141
13142 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13143
13144         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13145
13146         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13147         not in buffer
13148
13149         * redisplay-tty.c (tty_output_display_block): Delete the routine
13150         for text image glyph
13151         * redisplay-x.c (x_output_display_block): ditto
13152         * redisplay-msw.c (mswindows_output_display_block): ditto
13153
13154 2000-02-02  Mike Alexander  <mta@arbortext.com>
13155
13156         Note: Some of these were committed by accident as part of other
13157         patches.
13158
13159         * regex.c (regex_compile): Avoid compiler warnings.
13160
13161         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13162
13163         * nt.h: Declare term_ntproc correctly.
13164
13165         * nt.c: Remove incorrect declaration of get_home_directory which
13166         is declared correctly in lisp.h.
13167
13168         * keymap.c (get_keyelt): Avoid compiler warnings.
13169         (raw_lookup_key_mapper): Avoid compiler warnings.
13170
13171         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13172
13173         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13174
13175         * filemode.c (mode_string): Avoid compiler warnings.
13176
13177         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13178         avoid warning.
13179
13180         * events-mod.h: Undef some things that winuser.h defines differently.
13181
13182         * data.c (Faset): Avoid compiler warnings.
13183
13184         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13185
13186 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13187
13188         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13189         Fall through to simple beep on error.
13190         Replace "extern" by real header file.
13191
13192         * linuxplay.c: Use nativesound.h
13193         (play_sound_data): Return error code. Be less verbose on error.
13194
13195         * sunplay.c: Use nativesound.h
13196         (play_sound_data): Return error code. Be less verbose on error.
13197
13198         * ntplay.c: Use nativesound.h
13199         (play_sound_data): Return fake error code
13200
13201         * sgiplay.c: Use nativesound.h
13202         (play_sound_data): Return error code
13203
13204         * hpplay.c: Use nativesound.h, partially implement
13205         new error code. Break compilation until finished.
13206         (play_sound_data): error code.
13207
13208         * nativesound.h (play_sound_file):
13209           (play_sound_data): Prototype in new header.
13210
13211 2000-03-31  Andy Piper  <andy@xemacs.org>
13212
13213         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13214         for toggle and radio buttons.
13215         (image_instantiator_buttons): use it.
13216
13217 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13218
13219         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13220         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13221         found. Scrollbar event probably belonged to some old config.
13222
13223 2000-03-31  Andy Piper  <andy@xemacs.org>
13224
13225         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13226         than 1.
13227         (initialize_widget_image_instance): default layout to
13228         LAYOUT_HORIZONTAL rather than 0.
13229         (widget_instantiate): reverse the item list at the end rather than
13230         every iteration.
13231         (layout_layout): re-code for the border text at the front of the
13232         item list rather than at the end.
13233         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13234         provided by the user.
13235         (widget_query_geometry): comment.
13236
13237 2000-03-30  Andy Piper  <andy@xemacs.org>
13238
13239         * glyphs-widget.c (image_instantiator_layout): allow standard
13240         widget keywords in layouts.
13241
13242         * gutter.c (output_gutter): cope with nil gutter contents.
13243
13244         * frame.c (Fset_frame_properties): add gutter docs.
13245
13246 2000-03-29  Andy Piper  <andy@xemacs.org>
13247
13248         * toolbar-msw.c (TBSTYLE_FLAT): add.
13249         (mswindows_output_toolbar): minor fiddling.
13250
13251 2000-03-29  Andy Piper  <andy@xemacs.org>
13252
13253         * gutter.c (output_gutter): force gutter size recalculation if
13254         what we are trying to display won't fit.
13255         (update_gutter_geometry): new function. A per-gutter version of
13256         update_frame_gutter_geometry.
13257         (update_frame_gutter_geometry): use it.
13258         (redraw_exposed_gutter): add extra debugging output.
13259
13260 2000-03-28  Mike Alexander  <mta@arbortext.com>
13261
13262         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13263         (pdump_file_unmap): Implement it on Windows
13264         (pdump_file_get): Save alocated handles for pdump_file_unmap
13265
13266 2000-03-28  Andy Piper  <andy@xemacs.org>
13267
13268         * gui.c (get_gui_callback): treat Quit specially.
13269
13270 2000-03-27  Andy Piper  <andy@xemacs.org>
13271
13272         * glyphs.c (image_instantiate): be careful to check in the same
13273         way we assigned.
13274
13275 2000-03-27  Didier Verna  <didier@xemacs.org>
13276
13277         * config.h.in: define the proper SMART_INCLUDE macro.
13278         handle renaming of `foo_h_path' to `foo_h_file'.
13279
13280         * database.c: ditto.
13281
13282         * emacs.c: ditto.
13283
13284         * linuxplay.c: ditto.
13285
13286         * terminfo.c: ditto.
13287
13288         * tooltalk.h: ditto.
13289
13290 2000-03-27  Andy Piper  <andy@xemacs.org>
13291
13292         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13293         gets updated whenever the face might have changed.
13294
13295 2000-03-26  Mike Alexander  <mta@arbortext.com>
13296
13297         * dumper.c (pdump_resource_free): Fix the comment.
13298
13299 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13300
13301         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13302
13303 2000-03-22  Mike Alexander  <mta@arbortext.com>
13304
13305         * dumper.c: Include Windows headers on Windows
13306         (pdump_resource_free): Add a body to the function
13307         (pdump_load): exe_name -> exe_path and add some comments.
13308
13309 2000-03-25  Mike Alexander  <mta@arbortext.com>
13310
13311         * gui.c (copy_gui_item_tree): Return a value in all cases
13312
13313 2000-03-21  Didier Verna  <didier@xemacs.org>
13314
13315         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13316         lwlib/config.h.in.
13317         (SMART_INCLUDE): new macro.
13318         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13319         the proper location.
13320
13321         * postgresql.c: use it.
13322
13323         * inline.c: ditto.
13324
13325 2000-03-24  Andy Piper  <andy@xemacs.org>
13326
13327         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13328         do this.
13329
13330 2000-03-24  Andy Piper  <andy@xemacs.org>
13331
13332         * redisplay-output.c (compare_runes): use image_instance_changed
13333         to detect changes. Do not depend on glyphs_changed, only depend on
13334         dirtiness.
13335          (redisplay_output_layout): add debug messages.
13336         (compare_runes): ditto.
13337
13338         * glyphs.h: declare new functions.
13339         (struct Lisp_Image_Instance): remove percent and associated
13340         accessors.
13341
13342         * gui.h: declare new copying functions.
13343
13344         * gui.c (copy_gui_item_tree): new function.
13345         (copy_gui_item): new function.
13346         (gui_item_id_hash): revert to standard hash.
13347         (gui_item_hash): ditto.
13348         (gui_item_hash_internal): deleted.
13349         (mark_gui_item): mark value.
13350         (gui_item_add_keyval_pair): add value.
13351         (gui_item_init): ditto.
13352         (gui_add_item_keywords_to_plist): ditto.
13353         (gui_item_equal): ditto.
13354         (syms_of_gui): add Q_value.
13355
13356         * glyphs-x.c (x_progress_gauge_update): use pending items and
13357         value for setting the state.
13358         (x_update_widget): don't set items from pending here.
13359
13360         * glyphs-widget.c (update_widget): update items here.
13361         (progress_gauge_set_property): use items for storing value. Put
13362         new value in pending items.
13363
13364         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13365         items for new value. Convert percent -> value.
13366         (mswindows_tab_control_update): don't update items here.
13367
13368         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13369         (update_subwindow): ditto.
13370         (image_instance_changed): new function. Compare hash values and
13371         past and present widget items.
13372         (image_instantiate): We more careful about where we instantiate
13373         things.
13374         (image_instantiate): add error checking.
13375
13376         * gutter.c (syms_of_gutter): use -hook.
13377
13378 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13379
13380         * console-tty.c (Fset_console_tty_input_coding_system): Use
13381         Qkeyboard.
13382         (Fset_console_tty_output_coding_system): Use Qterminal.
13383         (tty_init_console): Use Qkeyboard and Qterminal.
13384
13385 2000-03-21  Ben Wing  <ben@xemacs.org>
13386
13387         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13388         From Mike Alexander <mta@arbortext.com>.
13389
13390 2000-03-21  Ben Wing  <ben@xemacs.org>
13391
13392         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13393         process brokenness.  Proper implementation to come.
13394         * callproc.c:
13395         Rename call-process-internal to old-call-process-internal.
13396         New impl. in process.el.
13397
13398 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13399
13400         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13401
13402 2000-03-20  Andy Piper  <andy@xemacs.org>
13403
13404         * glyphs.c (full_list_hash): make hashes of the same elements in
13405         different orders return different values.
13406
13407 2000-03-20  Martin Buchholz <martin@xemacs.org>
13408
13409         * XEmacs 21.2.32 is released.
13410
13411 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13412
13413         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13414         (DFC_MALLOC_USE_CONVERTED_DATA):
13415         Add aliasing-safe casts to allow use with char* or unsigned char*
13416         lvalues.
13417
13418         * eldap.c (Fldap_open):
13419         (Fldap_search_basic):
13420         (Fldap_add):
13421         (Fldap_modify):
13422         Make C++-compilable.
13423         Make sure GCPRO'ed variables are initialized.
13424         Use temp variables to avoid repeated calls to Flength.
13425
13426 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13427
13428         * sysfile.h:
13429         Make sure PATH_MAX is always defined.
13430         Include limits.h for PATH_MAX.
13431         Deprecate use of MAXPATHLEN.
13432
13433 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13434
13435         * emacs.c: Add reinit_vars_of_fileio.
13436         * symsinit.h: Add reinit_vars_of_fileio.
13437         * fileio.c (reinit_vars_of_fileio): New.
13438         * fileio.c (Fmake_temp_name):
13439         Initialize temp_name random number from microseconds to make
13440         collisions even less likely.  Initialize always at process startup
13441         time.  (make-temp-name) used to return the same file name twice in
13442         a row when PDUMP.
13443         Random stylistic fiddling.
13444         Comment fixes.
13445
13446 2000-03-20  Andy Piper  <andy@xemacs.org>
13447
13448         * glyphs.c (image_instantiate): allow text glyphs to be
13449         instantiated in the minibuffer window.
13450
13451 2000-03-19  Andy Piper  <andy@xemacs.org>
13452
13453         * glyphs.c (image_instance_hash): be careful about which items we
13454         hash on.
13455
13456         * glyphs-widget.c (tab_control_set_property): record into pending
13457         items rather than the actual items.
13458
13459         * glyphs-x.c (x_update_widget): use pending items to update with.
13460
13461         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13462         to update with.
13463
13464         * glyphs.c (mark_image_instance): mark pending items.
13465
13466         * window.c (Fset_window_configuration): record the buffer.
13467         (Fselect_window): totally revert previous change which breaks many
13468         things.
13469
13470 2000-03-18  Andy Piper  <andy@xemacs.org>
13471
13472         * glyphs-msw.c (mswindows_tab_control_update): force selected
13473         item.
13474
13475         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13476         window domain cache, otherwise we get inconsistencies at
13477         startup. There is something fishy at startup which can lead to the
13478         minibuffer being the selected window when the gutter content is
13479         instantiated.
13480
13481         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13482         gcpros.
13483         (parse_gui_item_tree_children): ditto.
13484         (parse_gui_item_tree_item): ditto.
13485
13486         * glyphs.c (Fupdate_widget_instances): return something.
13487
13488 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13489
13490         * window.c (Fselect_window): Undo 2000-03-17 change.
13491
13492 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13493
13494         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13495         against v7.0 libraries.  Insta-coredump city until the postgres
13496         folks fix it.
13497
13498 2000-03-17  Andy Piper  <andy@xemacs.org>
13499
13500         * faces.c (complex_vars_of_faces): don't give the widget face an
13501         inherited background pixmap.
13502
13503         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13504         selected item.
13505
13506         * event-stream.c (Fdispatch_non_command_events): return something.
13507
13508         * gutter.c (output_gutter): use widget face.
13509         (clear_gutter): ditto.
13510
13511         * NEWS: adjust again.
13512
13513         * window.c (Fselect_window): make sure this runs to completion to
13514         avoid oddities with Fset_window_configuration.
13515         (Fcurrent_window_configuration): in general do not save the
13516         minibuffer as the selected window.
13517
13518         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13519
13520 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13521
13522         * emacs.c (Frunning_temacs_p): Revert previous patch.
13523         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13524
13525 2000-03-16  Andy Piper  <andy@xemacs.org>
13526
13527         * glyphs-x.c (x_tab_control_update): if no widget values then
13528         return.
13529
13530         * NEWS: update for new features.
13531
13532         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13533         synthetic event to the native system.
13534         (reinit_vars_of_event_Xt): set force_event_pending to
13535         emacs_Xt_force_event_pending.
13536
13537         * events.h (struct event_stream): add force_event_pending.
13538
13539         * specifier.c (recompute_one_cached_specifier_in_window): add
13540         comment.
13541
13542         * redisplay.c (redisplay_frame): don't call
13543         update_frame_subwindows. Reset subwindow cachels when
13544         subwindows_changed, removing this was an optimization too far.
13545
13546         * redisplay-output.c (compare_runes): reorganize so that we catch
13547         glyph changes when we want them. Set optimize_output when this
13548         would help layouts.
13549         (redisplay_output_layout): remove frame_really_changed, use
13550         optimize_output instead.
13551
13552         * redisplay-msw.c (mswindows_output_display_block): reset
13553         optimize_output after outputting a glyph.
13554         * redisplay-x.c (x_output_display_block): ditto.
13555         * redisplay-tty.c (tty_output_display_block): ditto.
13556
13557         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13558         functions.
13559         (gutter_specs_changed): do specific gutter positions.
13560         (top_gutter_specs_changed): new function. Only update the
13561         specified gutter specs.
13562         (bottom_gutter_specs_changed): ditto.
13563         (left_gutter_specs_changed): ditto.
13564         (right_gutter_specs_changed): ditto.
13565
13566         * gui.c (gui_item_hash_internal): new function, does a real hash.
13567         (gui_item_id_hash): use it.
13568         (gui_item_hash): hash the eval'ed gui_item.
13569
13570         * gui-x.c (popup_selection_callback): send an eval event to call
13571         Fupdate_widget_instances.
13572
13573         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13574         to call Fupdate_widget_instances.
13575
13576         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13577         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13578
13579         * glyphs.c: (update_frame_subwindows): deleted.
13580         (Fupdate_widget_instances): new function for updating the dirty
13581         state of widgets that might have changed.
13582         (syms_of_glyphs): add Qupdate_widget_instances.
13583         (full_list_hash): hash a list completely.
13584         (image_instance_hash): use it for items and properties.
13585
13586         * frame-msw.c (mswindows_size_frame_internal): remove unused
13587         variable.
13588
13589         * faces.h (struct face_cachel): fix comment.
13590
13591         * event-stream.c (Fdispatch_non_command_events): new
13592         function. Process non-command events, forcing an event cycle
13593         beforehand.
13594         (syms_of_event_stream): declare.
13595         (event_stream_force_event_pending): new function. Force an event
13596         on the native event queue so that an event cycle will occur next
13597         time we check.
13598
13599         * event-msw.c:
13600         (struct ntpipe_shove_stream):
13601         (mswindows_enqueue_dispatch_event):
13602         (mswindows_dequeue_dispatch_event):
13603         (mswindows_cancel_dispatch_event):
13604         (mswindows_pump_outstanding_events):
13605         (mswindows_drain_windows_queue):
13606         (mswindows_handle_paint):
13607         (mswindows_wnd_proc):
13608         (mswindows_key_to_emacs_keysym):
13609         (get_process_input_waitable):
13610         (emacs_mswindows_delete_stream_pair): re-indent file.
13611         (mswindows_need_event): do not process further fds if the windows
13612         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13613         fixes the 100% cpu problem.
13614         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13615
13616 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13617
13618         * alloc.h: New.
13619         * dumper.h: New.
13620         * dumper.c: New.
13621
13622         * emacs.c: Moved dump file searching to dumper.c.
13623         (Frunning_temacs_p): Fixed.
13624
13625         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13626         last_lrecord_type_index_assigned.
13627
13628 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13629
13630         * symsinit.h: Added reinit parameter to init_console_stream
13631         declaration.
13632
13633         * lisp.h: Added file parameter to pdump_load declaration.
13634
13635         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13636         support.  Added dump file searching.
13637
13638         * config.h.in: Added EMACS_PROGNAME.
13639
13640         * console-stream.c (init_console_stream): Fix reinitialisation
13641         when running from temacs.
13642
13643         * alloc.c (pdump): Add id support.
13644         (pdump_load): Add file parameter and signature/id support.
13645
13646         * Makefile.in.in: Add full pdump support.
13647
13648 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13649
13650         * postgresql.c: Update documentation to reflect latest code
13651         status.
13652         (print_result): Show tuple counts in printed representation when
13653         appropriate.
13654         (Fpq_put_nbytes): MULE-ize.
13655         (Fpq_get_line_async): Ditto.
13656
13657 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13658
13659         * postgresql.c (Fpq_lo_import): Fix return value.
13660         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13661
13662 2000-03-13  Ben Wing  <ben@xemacs.org>
13663
13664         * alloc.c (pdump_load):
13665         Fix compile warning under mswin.
13666
13667 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13668
13669         * postgresql.c: Mule-ization, bug fixes.
13670         Use PG_CODING to encapsulate coding system name changes.
13671         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13672         (pg-coding-system): Create.
13673
13674         (Fpq_conn_defaults): Mule-ize.
13675         (Fpq_connectdb): Mule-ize & bug fix.
13676         (Fpq_connect_start): Mule-ize.
13677         (Fpq_set_client_encoding): Mule-ize.
13678         (Fpq_finish): Document `DEAD' connection status.
13679         (Fpq_clear): Ditto.
13680         (Fpq_pgconn): Mule-ize.
13681         (Fpq_exec): Mule-ize & bug fix.
13682         (Fpq_send_query): Ditto.
13683         (Fpq_get_result): Ditto.
13684         (Fpq_res_status): Mule-ize.
13685         (Fpq_result_error_message): Mule-ize.
13686         (Fpq_ntuples): fix comments.
13687         (Fpq_fname): Mule-ize.
13688         (Fpq_fnumber): Mule-ize.
13689         (Fpq_ftype): fix comments.
13690         (Fpq_get_value): Mule-ize.
13691         (Fpq_cmd_status): Ditto.
13692         (Fpq_cmd_tuples): Ditto.
13693         (Fpq_oid_value): Ditto.
13694         (Fpq_notifies): Ditto.
13695         (Fpq_lo_import): Ditto.
13696         (Fpq_lo_export): Ditto.
13697         (Fpq_get_line): Ditto.
13698         (Fpq_put_line): Mule-ize and bug fix.
13699         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13700
13701 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13702
13703         * postgresql.c (vars_of_postgresql): Mule-ize.
13704         (Fpq_conn_defaults): Ditto.
13705
13706 2000-03-12  Ben Wing  <ben@xemacs.org>
13707
13708         * alloc.c (Fmake_byte_code):
13709         * alloc.c (debug_string_purity_print):
13710         * alloc.c (pdump_backtrace):
13711         * alloc.c (pdump_get_indirect_count):
13712         * alloc.c (pdump_register_sub):
13713         * alloc.c (pdump_register_object):
13714         * alloc.c (pdump_register_struct):
13715         * alloc.c (pdump_dump_data):
13716         * alloc.c (pdump_reloc_one):
13717         Minor cleanups.
13718
13719         * console-msw.c:
13720         * console-msw.c (GetConsoleHwnd):
13721         * console-msw.c (msw_hide_console):
13722         * console-msw.c (msw_show_console):
13723         * console-msw.c (msw_ensure_console_buffered):
13724         * console-msw.c (msw_output_console_string):
13725         * console-msw.c (console_type_create_mswindows):
13726
13727         a) Added functions to manipulate the console window for use with
13728         shell support.
13729
13730         b) Added support for writing text to the console, which is now
13731         used under Windows when xemacs is not being run non-interactively,
13732         to write text that would otherwise be destined for stdout because
13733         under these circumstances, text written to stdout tends to
13734         disappear and not be seen.
13735
13736         * console-msw.h:
13737         * event-Xt.c:
13738         * event-Xt.c (x_event_to_emacs_event):
13739         * event-Xt.c (describe_event_window):
13740         * events-mod.h (XEMACS_MOD_CONTROL):
13741         * events.c:
13742         * events.c (Fmake_event):
13743         * events.c (character_to_event):
13744         * events.c (event_to_character):
13745         * events.c (format_event_object):
13746         * events.c (Fevent_modifiers):
13747         * events.h:
13748         * events.h (struct key_data):
13749         * events.h (struct button_data):
13750         * events.h (struct misc_user_data):
13751         * frame-x.c (Fcde_start_drag_internal):
13752         * frame-x.c (Foffix_start_drag_internal):
13753         * gpmevent.c (Freceive_gpm_event):
13754         * keymap.c:
13755         * keymap.c (bucky_sym_to_bucky_bit):
13756         * keymap.c (control_meta_superify):
13757         * keymap.c (make_key_description):
13758         * keymap.c (keymap_lookup_directly):
13759         * keymap.c (create_bucky_submap):
13760         * keymap.c (keymap_store):
13761         * keymap.c (define_key_check_and_coerce_keysym):
13762         * keymap.c (define_key_parser):
13763         * keymap.c (define_key_alternate_name):
13764         * keymap.c (Fdefine_key):
13765         * keymap.c (raw_lookup_key_mapper):
13766         * keymap.c (struct map_keymap_unsorted_closure):
13767         * keymap.c (map_keymap_unsorted_mapper):
13768         * keymap.c (map_keymap_sort_predicate):
13769         * keymap.c (map_keymap_sorted):
13770         * keymap.c (accessible_keymaps_mapper_1):
13771         * keymap.c (where_is_recursive_mapper):
13772         * keymap.c (describe_map_mapper):
13773         * keymap.c (describe_map_sort_predicate):
13774         * keymap.c (describe_map):
13775         * keymap.c (complex_vars_of_keymap):
13776         And a number of other files, the key modifier preprocessor
13777         constants that xemacs uses have names that conflict with constants
13778         defined under MS Windows for other purposes, so they were renamed
13779         to begin with the prefix XEMACS_. The variables that hold such
13780         modifiers were changed to consistently be of type int to fix
13781         various compile warnings.
13782
13783         * console.c (complex_vars_of_console):
13784         * device.c:
13785         * device-msw.c:
13786         * device-msw.c (mswindows_finish_init_device):
13787         * device-msw.c (msw_get_workspace_coords):
13788         * device-msw.c (mswindows_device_system_metrics):
13789         and various other files, added support for a new
13790         device property called offset-workspace which returns the position
13791         of the upper left corner of the workspace area and goes along with
13792         the existing size-workspace property.
13793
13794         * dialog-msw.c:
13795         * dialog-msw.c (push_bufbyte_string_as_unicode):
13796         * dialog-msw.c (mswindows_popup_dialog_box):
13797         Added support for XEmacs-style accelerator specifications in
13798         button text.  Note: I didn't add support for this under X Windows,
13799         and somebody needs to do this.
13800
13801         * dialog.c:
13802         * dialog.c (Fpopup_dialog_box):
13803         Documented the support for accelerators that was just mentioned.
13804
13805         editfns.c (get_home_directory): Changed behavior under Windows
13806         when HOME not defined; former behavior was irretrievably broken.
13807
13808         * emacs.c:
13809         * emacs.c (main_1):
13810         * emacs.c (main):
13811         * minibuf.c (clear_echo_area_internal):
13812         * minibuf.c (echo_area_append):
13813         * print.c:
13814         * print.c (std_handle_out_external):
13815         * print.c (std_handle_out_va):
13816         * print.c (fatal):
13817         * print.c (write_string_to_stdio_stream):
13818         * print.c (output_string):
13819         * print.c (debug_print):
13820         * print.c (debug_backtrace):
13821         * print.c (debug_short_backtrace):
13822         Cleaned up the code that prints text to stdout so that this can be
13823         changed to output into a console window instead under MS Windows,
13824         as described above.
13825
13826         * eval.c:
13827         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13828         * eval.c (internal_catch):
13829         * eval.c (unwind_to_catch):
13830         * eval.c (throw_or_bomb_out):
13831         * eval.c (condition_case_1):
13832         * eval.c (signal_1):
13833         * eval.c (check_error_state_sanity):
13834         * eval.c (call_with_suspended_errors_1):
13835         * eval.c (call_with_suspended_errors):
13836         * eval.c (reinit_vars_of_eval):
13837         Added code to catch throw loops and check for a pesky bug that may
13838         be gone now.
13839
13840         * event-msw.c:
13841         * event-msw.c (key_needs_default_processing_p):
13842         * event-msw.c (mswindows_wnd_proc):
13843         * event-msw.c (mswindows_modifier_state):
13844         * event-msw.c (emacs_mswindows_quit_p):
13845         * event-msw.c (vars_of_event_mswindows):
13846         a) Added support for using the alt key to select menu items as is
13847         standard under MS Windows.  This is controlled using the variable
13848         menu-accelerator-enabled, just like under X Windows.  There is an
13849         option on the options menu to turn this support on.  I really
13850         think that it should be on by default under Windows, but I'm not
13851         going to make this change yet.
13852
13853         b)  Added support for dynamic display size changes under Windows.
13854
13855         * event-stream.c:
13856         * event-stream.c (maybe_echo_keys):
13857         * event-stream.c (Fnext_event):
13858         * event-stream.c (command_builder_find_leaf):
13859         * event-stream.c (lookup_command_event):
13860         * event-stream.c (execute_command_event):
13861         * event-stream.c (pre_command_hook):
13862         * event-stream.c (post_command_hook):
13863         * event-stream.c (syms_of_event_stream):
13864         * event-stream.c (vars_of_event_stream):
13865         * event-stream.c (complex_vars_of_event_stream):
13866         * events.h (struct command_builder):
13867
13868         a) Tried to clean up a little bit the horribly written x-specific
13869         accelerator code that crept into this file.  I moved this code
13870         into menubar-x.c where it belongs. I also needed to move the
13871         command builder structure into the file events.h because it is
13872         accessed directly by this accelerator code.  What I didn't do, but
13873         which should be done at some point, is to properly abstract this
13874         code using device methods instead of the kludgy way that it
13875         currently hooks into the event code.
13876
13877         b) Added the lisp variables this-command-properties and
13878         last-command- properties, which should be used to synchronize two
13879         adjacent commands in preference to playing games with the variable
13880         this-command, which is typically what happens.
13881
13882         c) Added some slightly nasty code to hook into the lisp support
13883         for shifted- motion-key selection.  This is actually necessary for
13884         somewhat complicated reasons, which are described in
13885         simple.el. (NB: I think the proper thing would be to have the code
13886         that calls the pre and post command hooks also call out to generic
13887         lisp functions in simple.el, where all built-in stuff could be
13888         added.  I will think about this more.)
13889
13890         * event-unixoid.c (poll_fds_for_input):
13891         * lread.c (readchar):
13892         * redisplay-tty.c (tty_clear_frame):
13893         * redisplay-x.c (x_get_gc):
13894         * signal.c (interrupt_signal):
13895         And a whole bunch of other files: fixed up places that printed
13896         directly to stderr to instead call the function stderr_out so that
13897         the changes I made under Windows work correctly.
13898
13899         * filemode.c (mode_string):
13900         Warning fixes.
13901
13902         * frame-msw.c:
13903         * frame-msw.c (mswindows_size_frame_internal):
13904         Fixed the computation of frame size and position to keep the frame
13905         within the workspace area, rather than within the physical
13906         dimensions of the screen, so that the frame doesn't overlap window
13907         manager decorations, such as the start menu and toolbar, typically
13908         at the bottom of the screen.
13909
13910         * frame.c (vars_of_frame):
13911         Changed the default frame title format under MS Windows to consist
13912         of buffername-XEmacs, which is standard under MS Windows.  I think
13913         it might be a good idea to change this everywhere because I think
13914         it is superior to the current frame title format, but this is the
13915         kind of change that is likely to cause some people to get annoyed,
13916         so I'm not making it.
13917
13918         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13919
13920         * gui-msw.c (mswindows_handle_gui_wm_command):
13921         Fixed compile warnings.
13922
13923         * gui-x.c:
13924         * gui-x.c (strdup_and_add_accel):
13925         * gui-x.c (button_item_to_widget_value):
13926         * gui-x.h:
13927         Added code to automatically put an accelerator onto the beginning
13928         of menu items that don't have one as is now the standard, and is
13929         described more later.  Also fixed things so that the menu item
13930         name can be an evaluated expression, again a new standard.
13931
13932         * gui.c:
13933         * gui.c (gui_item_add_keyval_pair):
13934         * gui.c (make_gui_item_from_keywords_internal):
13935         * gui.c (gui_add_item_keywords_to_plist):
13936         * gui.c (gui_item_accelerator):
13937         * gui.c (gui_name_accelerator):
13938         * gui.c (gui_item_included_p):
13939         * gui.c (gui_item_display_flush_left):
13940         * gui.c (gui_item_display_flush_right):
13941         * gui.c (parse_gui_item_tree_item):
13942         * gui.c (parse_gui_item_tree_children):
13943         * gui.c (parse_gui_item_tree_list):
13944         Mule-ized.  Cleanup.  GCPRO addition.
13945
13946         * line-number.c (buffer_line_number):
13947         * lisp.h:
13948         * lisp.h (EMACS_INT_MAX):
13949         Added the manifest constant EMACS_INT_MIN corresponding to the
13950         existing constant EMACS_INT_MAX.  This is partially to fix compile
13951         warnings under Windows, and partly for cleanliness.
13952
13953         * menubar-msw.c:
13954         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13955         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13956         * menubar-msw.c (displayable_menu_item):
13957         * menubar-msw.c (populate_menu_add_item):
13958         * menubar-msw.c (populate_or_checksum_helper):
13959         * menubar-msw.c (populate_menu):
13960         * menubar-msw.c (update_frame_menubar_maybe):
13961         * menubar-msw.c (prune_menubar):
13962         * menubar-msw.c (msw_char_is_accelerator):
13963         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13964         * menubar-msw.c (mswindows_handle_wm_command):
13965         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13966         * menubar-msw.c (mswindows_handle_wm_initmenu):
13967         * menubar-msw.c (mswindows_update_frame_menubars):
13968         * menubar-msw.c (mswindows_free_frame_menubars):
13969         * menubar-msw.c (mswindows_popup_menu):
13970         Fixed a bug in handling accelerators where an extra character
13971         would be displayed in the menu item.  Also generalized the
13972         function displayable_menu_item because it is now used by the
13973         dialog box code as well.  And finally, added code in the functions
13974         that create the menubar to extract a list of accelerators for the
13975         top level menubar, which is used in the event code to determine
13976         whether a particular alt-key combination should be used to invoke
13977         a menu item, or should be passed through to access the standard
13978         XEmacs keymap binding for this key combination.
13979
13980         Much needed GCPROing.
13981
13982         * menubar-x.c:
13983         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13984         * menubar-x.c (menu_item_descriptor_to_widget_value):
13985         * menubar-x.c (restore_in_menu_callback):
13986         * menubar-x.c (x_popup_menu):
13987         * menubar-x.c (menu_move_up):
13988         * menubar-x.c (menu_move_down):
13989         * menubar-x.c (menu_move_left):
13990         * menubar-x.c (menu_move_right):
13991         * menubar-x.c (menu_select_item):
13992         * menubar-x.c (command_builder_operate_menu_accelerator):
13993         * menubar-x.c (menu_accelerator_junk_on_error):
13994         * menubar-x.c (command_builder_find_menu_accelerator):
13995         * menubar-x.c (Faccelerate_menu):
13996         * menubar.h:
13997         Moved a whole bunch of code here that was previously in
13998         event-stream.c as described above.  There is also code connected
13999         to the new standard of adding an accelerator to the beginning of
14000         menu items that don't have one as described above and below.
14001
14002         * menubar.c:
14003         * menubar.c (menu_parse_submenu_keywords):
14004         * menubar.c (Fmenu_find_real_submenu):
14005         * menubar.c (Fnormalize_menu_item_name):
14006         * menubar.c (syms_of_menubar):
14007         * menubar.c (vars_of_menubar):
14008         * menubar.c (complex_vars_of_menubar):
14009
14010         a) Cleaned up a bunch of documentation and improved it.
14011
14012         b) XEmacs now automatically adds an accelerator onto the beginning
14013         of any menu items that don't have one.  I did this because there
14014         will inevitably be some menu items on the main menubar that don't
14015         have accelerators on them because the package that adds that
14016         particular menu item hasn't yet been fixed up to have accelerators
14017         in them and it looked rather strange to have some items with and
14018         some items without accelerators, especially since even in items
14019         without accelerators, you can, at least under windows, still
14020         access the item through an accelerator corresponding to the first
14021         character in the item's name.  If people don't like this behavior,
14022         I can add a variable to turn it off optionally, but I'm not sure
14023         this is a good idea because we really do need to have accelerators
14024         on all of the menu items, and if a package doesn't like the
14025         accelerators being put on the first character, then it should put
14026         the accelerators where they belong.
14027
14028         c) I made a behavior change, which is that the descriptor that
14029         specifies the text of the menu item, which formerly was just a
14030         string, can now also be an evaluated expression.  This makes this
14031         descriptor parallel with all of the others, which could also be
14032         evaluated expressions.  This also obviates the need for the
14033         keyword :label, which was previously listed in the documentation
14034         as unimplemented, and which was for the same purpose.
14035
14036         d) GCPROing.
14037
14038         * ntproc.c:
14039         * ntproc.c (new_child):
14040         * ntproc.c (sys_spawnve):
14041         * ntproc.c (find_child_console):
14042         * ntproc.c (sys_kill):
14043         Fixed compile warnings.  By the way, this file should really go
14044         away entirely, and this will happen as soon as Kirill makes his
14045         final round of process cleanups, which affect the function
14046         call-process.
14047
14048         * process-nt.c:
14049         * process-nt.c (struct nt_process_data):
14050         * process-nt.c (find_process_from_pid):
14051         * process-nt.c (send_signal_the_nt_way):
14052         * process-nt.c (enable_child_signals):
14053         * process-nt.c (find_child_console):
14054         * process-nt.c (send_signal_the_95_way):
14055         * process-nt.c (nt_finalize_process_data):
14056         * process-nt.c (ensure_console_window_exists):
14057         * process-nt.c (nt_create_process):
14058         * process-nt.c (nt_kill_child_process):
14059         * process-nt.c (nt_kill_process_by_pid):
14060         * process-nt.c (nt_open_network_stream):
14061         * process-nt.c (vars_of_process_nt):
14062         Copied over code from Emacs 20.5 to correctly send signals to sub-
14063         processes under Windows 95.  Also added code to automatically
14064         create and hide console window when a sub-process is created under
14065         Windows 95, which obviates the need for the separate runemacs.exe
14066         executable, and finally implemented some variables that were
14067         implemented in Emacs 20.5, but previously not in XEmacs.  These
14068         include mswindows- start-process-share-console and
14069         mswindows-start-process-inherit-error-mode. (Both of these only
14070         apply to Windows 95.)
14071
14072         * regex.c (regex_compile): Fixed a compile warning.
14073
14074         * select-msw.c:
14075         * select-msw.c (mswindows_own_selection):
14076         * select-msw.c (mswindows_get_foreign_selection):
14077         * select-msw.c (mswindows_disown_selection):
14078         * select-msw.c (console_type_create_select_mswindows):
14079         * select-msw.c (syms_of_select_mswindows):
14080         Cleaned up the file and implemented the device method
14081         selection_exists_p, which had accidentally been left out.  Also
14082         removed four lisp functions that were remnants from before the
14083         time when the selection code was properly device abstracted.
14084         These functions are no longer needed because there are generic
14085         equivalents, and because they were added recently and don't exist
14086         in FSF Emacs, I don't think there's any problem with just deleting
14087         them.
14088
14089         * sysdep.c:
14090         * sysdep.c (sys_subshell):
14091         Fixed a compile warning, although in this case there's probably
14092         something wrong with this code, and it ought to be looked into
14093         more thoroughly by somebody who understands it.
14094
14095         * window.c:
14096         * window.c (Fwindow_text_area_height):
14097         * window.c (Fwindow_width):
14098         * window.c (Fwindow_full_width):
14099         * window.c (Fwindow_pixel_width):
14100         * window.c (debug_print_window):
14101         * window.c (syms_of_window):
14102         Added functions window-text-area-height and window-full-width,
14103         which are functions for returning various width and height
14104         characteristics of a window. (One of these functions is necessary
14105         for making the file dialog box work correctly, and the other one
14106         was added for completeness.)  Also added a table to the
14107         documentation for window-height which describes the entire scheme
14108         for accessing width and height characteristics of a window.
14109
14110 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14111
14112         * nt.c (fstat): Added a comment for another problem with
14113         non-encapsulated [f]stat(), reported by Adrian Aichner
14114         <aichner@ecf.teradyne.com>.
14115
14116 2000-03-11  Andy Piper  <andy@xemacs.org>
14117
14118         * window.c (make_dummy_parent): initialize subwindow instance
14119         cache.
14120         (Fset_window_configuration): zero extent_modiff.
14121
14122 2000-03-10  Andy Piper  <andy@xemacs.org>
14123
14124         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14125         more changes can be triggered.
14126         (Fredisplay_frame): ditto.
14127         (Fredraw_device): ditto.
14128         (Fredisplay_device): ditto.
14129         (redisplay_frame): make non-static.
14130         (redisplay_frame): call update_frame_gutter_geometry outside of
14131         display proper.
14132
14133         * gutter.h: declare update_frame_gutter_geometry.
14134
14135         * redisplay.h: declare redisplay_frame.
14136
14137         * gutter.c (update_frame_gutter_geometry): move geometry changes
14138         in update_frame_gutters here. Geometry changes can only occur
14139         outside of redisplay.
14140         (update_frame_gutters): remove geometry change code.
14141         (Fredisplay_gutter_area): make sure that we are in display when we
14142         update and that we have flushed any size changes.
14143
14144 2000-03-11  Andy Piper  <andy@xemacs.org>
14145
14146         * alloc.c (pdump_dump_data): remove i & count shadows.
14147
14148 2000-02-27  Mike Alexander  <mta@arbortext.com>
14149
14150         * sysdep.h: Declare pdump_read_file
14151
14152         * sysdep.c (pdump_read_file): New function
14153
14154         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14155         dump data
14156
14157 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14158
14159         * lrecord.h: add `lrecord_type_pgsetenv'.
14160
14161 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14162
14163         * symsinit.h: declare (vars|syms)_of* functions.
14164         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14165
14166 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14167
14168         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14169
14170         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14171         GCCs.
14172
14173         * emacs.c (main_1): Call postgres initialization code.
14174
14175         * postgresql.h: New file.  PostgreSQL RDBMS support.
14176         * postgresql.c: New file.
14177
14178 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14179
14180         * redisplay-output.c (redisplay_output_display_block): Disable
14181         redundant code.
14182
14183 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14184
14185         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14186         (Fcanna_henkan_next): Ditto.
14187         (Fcanna_bunsetu_henkou): Ditto.
14188         (Fcanna_henkan_kakutei): Ditto.
14189         (Fcanna_henkan_end): Ditto.
14190         (Fcanna_henkan_quit): Ditto.
14191         (Fcanna_henkan_next): Set retun value correctly.
14192         (c2mu): Use unsigned char instead of signed char.
14193
14194 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14195
14196         * emacs.c (main_1): Always call syms_of_gui.
14197         * inline.c: include gui.h
14198
14199 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14200
14201         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14202         converted to Lisp_Object.
14203         (Qtop_bottom): New variable.
14204         (syms_of_redisplay): Initialize it.
14205         * redisplay.h (Vvisible_bell): Ditto.
14206         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14207         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14208         only flash top and bottom.
14209
14210 2000-03-08  Andy Piper  <andy@xemacs.org>
14211
14212         * buffer.c (Frename_buffer): record new buffer name the right way.
14213
14214 2000-03-08  Andy Piper  <andy@xemacs.org>
14215
14216         * glyphs.c (update_subwindow): increase hash depth so that widget
14217         items get picked up properly.
14218
14219         * redisplay-output.c (compare_runes): increase hash depth so that
14220         widget items get picked up properly.
14221
14222 2000-03-08  Andy Piper  <andy@xemacs.org>
14223
14224         * gutter.c (output_gutter): add some debug.
14225
14226         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14227         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14228         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14229
14230         * redisplay-output.c (compare_runes): use display_hash to
14231         determine if glyphs really are not the same.
14232
14233         * glyphs.c (update_subwindow): check display_hash to see if
14234         anything really needs to be updated. If not then do
14235         nothing. Record the display_hash after updating.
14236         (image_instance_equal): compare the image_instance face also.
14237
14238 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14239
14240         * redisplay.h: Fix comment style.
14241
14242 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14243
14244         * consle-msw.h (struct mswindows_frame):
14245         Added new member paint_pending to indicate whether a WM_PAINT
14246         magic event has been queued for this frame.
14247
14248         * event-msw.c (mswindows_drain_windows_queue):
14249         Don't queue a WM_PAINT magic event if one is already queued.
14250         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14251
14252         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14253
14254 2000-03-07  Didier Verna  <didier@xemacs.org>
14255
14256         * dired.c: #include `regex.h' after `sysfile.h'.
14257
14258 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14259
14260         * sound.c (init_nas_sound): Fix compiler warning.
14261
14262         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14263         (FREE_STRUCT_P):
14264         (MARK_STRUCT_AS_FREE):
14265         (MARK_STRUCT_AS_NOT_FREE):
14266         Make `gcc -fstrict-aliasing' work properly.
14267
14268 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14269
14270         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14271         (mswindows_delete_device): Call CoUnnitialize().
14272
14273         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14274
14275 2000-02-25    <CraigL@DyCon.com>
14276
14277         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14278         <errno.h>.
14279
14280         * sysdep.c: This extern declaration for environ prevents MinGW
14281         from finding the variable in CRTDLL.DLL.
14282
14283         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14284         windows headers.
14285         (SHGFI_EXETYPE): ..
14286         (WM_MOUSEWHEEL): ..
14287         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14288         definitions.
14289         (MMRESULT): Removed, now defined in cygwin's windows headers.
14290         (TIMECAPS): ..
14291         (uid_t,gid_t,pid_t,ssize_t): ..
14292         (_timeb): Removed, MinGW defines both _timeb and timeb.
14293         (HAVE_H_ERRNO): Added.
14294         (HAVE_TZNAME): Added, configure is not detecting this.
14295
14296 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14297
14298         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14299         * syntax.c (syntax_match): Use it.
14300
14301         * cmds.c: Import auto-fill-chars from FSF Emacs.
14302         (Vauto_fill_chars): New variables.
14303         (internal_self_insert): Check Vauto_fill_chars.
14304         (vars_of_cmds):
14305         Declare auto-fill-chars as a Lisp variable and initialize it.
14306
14307 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14308
14309         * fileio.c (Fmake_symbolic_link):
14310         (Ffile_symlink_p):
14311         Run handlers even if local machine doesn't have symlinks.
14312
14313 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14314
14315         * event-msw.c (mswindows_drain_windows_queue):
14316         Don't generate paint magic events for non-XEmacs frames.
14317
14318 2000-03-05  Andy Piper  <andy@xemacs.org>
14319
14320         * redisplay.c (redisplay_frame): generate_displayable_area and
14321         friends assumes that we are not in GC, we therefore have to make
14322         sure that this doesn't happen.
14323
14324         * gutter.c (calculate_gutter_size): generate_displayable_area
14325         assumes that we are not in GC, we therefore have to make sure that
14326         this doesn't happen.
14327
14328 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14329
14330         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14331
14332 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14333
14334         * redisplay.c (regenerate_window): Make sure we set a sane value
14335         for end_pos even if we jump out of the loop.
14336         (regenerate_window): Answer Ben's question :-).
14337         (start_end_of_last_line): Add may_error argument.
14338         (start_of_last_line):
14339         (end_of_last_line): Pass may_error = 0.
14340         (end_of_last_line_may_error): New function.
14341         (pixel_to_glyph_translation): Use it, so we don't crash in
14342         event_to_glyph.
14343
14344 2000-03-04  Andy Piper  <andy@xemacs.org>
14345
14346         * window.h (struct window): add gutter_extent_modiff.
14347
14348         * window.c (allocate_window): zero out gutter_extent_modiff.
14349
14350         * redisplay.h: declare sync_display_line_structs.
14351
14352         * redisplay.c (add_glyph_rune): add a better comment.
14353
14354         * redisplay-output.c (sync_display_line_structs): made non-static.
14355         (compare_runes): remove unneccesary glyph cachel access.
14356
14357         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14358
14359         * gutter.c (output_gutter): don't output the gutter if extent
14360         changes only involve extents in buffers. use 4 sets of display
14361         lines.
14362         (gutter_extent_signal_changed_region_maybe): new function. Mark
14363         extents in gutters as changed.
14364         (update_frame_gutters): use 4 sets of display lines.
14365         (reset_gutter_display_lines): ditto.
14366         (free_frame_gutters): ditto.
14367         (redraw_exposed_gutter): force output of gutters.
14368
14369         * frame.h (struct frame): add 4 sets of gutter display lines.
14370
14371         * extents.c: (extent_changed_for_redisplay): signal changes to
14372         extents in strings in the gutter as well as extents in buffers.
14373
14374 2000-03-02  Andy Piper  <andy@xemacs.org>
14375
14376         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14377
14378         * frame.c (Fmake_frame): make sure the gutters get initialized
14379         after the frame is visible.
14380         (set_frame_selected_window): re-arrange compilation macros a
14381         little.
14382         (change_frame_size_1): mark gutters changed.
14383
14384         * device.c (Fset_device_class): mark gutters changed.
14385
14386 2000-03-01  Andy Piper  <andy@xemacs.org>
14387
14388         * window.c (window_top_frame_gutter_height): deleted.
14389         (window_bottom_frame_gutter_height): ditto.
14390         (window_left_frame_gutter_height): ditto.
14391         (window_right_frame_gutter_height): ditto.
14392         (window_top_gutter_height): don't use them.
14393         (window_bottom_gutter_height): ditto.
14394         (window_left_gutter_width): ditto.
14395         (window_right_gutter_width): ditto.
14396         (Fsplit_window): ditto.
14397         (Fwindow_pixel_edges): don't use border dimensions here.
14398
14399         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14400         (update_scrollbar_instance): ditto.
14401
14402         * redisplay.c (generate_modeline): don't take gutters into account.
14403         (generate_modeline): ditto.
14404         (redisplay_frame): small gutter display optimization.
14405
14406         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14407
14408         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14409         gutters into account.
14410
14411         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14412         for window position and type.
14413
14414         * gutter.c (get_gutter_coords): fix for frame gutters.
14415         (update_frame_gutters): update frame geometry if the gutters have
14416         changed.
14417         (init_frame_gutters): record current gutter geometries.
14418
14419         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14420         var.
14421         (mswindows_widget_instantiate): ditto.
14422
14423         * frame.h (struct frame): add current_gutter_bounds.
14424
14425         * frame.c (change_frame_size_1): position window and minibuffer
14426         appropriately taking into account the frame gutters.
14427
14428         * frame-x.c: (x_initialize_frame_size): take into account the
14429         frame gutters.
14430
14431 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14432
14433         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14434
14435 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14436
14437         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14438
14439 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14440
14441         * file-coding.c (reset_decoding_stream): Clear previous
14442         detection state when autodetect.
14443
14444 2000-02-29  Didier Verna  <didier@xemacs.org>
14445
14446         * extents.c (set_extent_glyph_1): don't require extents to be
14447         attached.
14448
14449 2000-02-27  Andy Piper  <andy@xemacs.org>
14450
14451         * gutter.c (Fset_default_gutter_position): don't default left and
14452         right gutter visibility to t.
14453         (Fset_default_gutter_position): run
14454         default-gutter-position-changed-hook.
14455         (syms_of_gutter): add default-gutter-position-changed-hook.
14456
14457 2000-02-26  Andy Piper  <andy@xemacs.org>
14458
14459         * specifier.c (Fmake_specifier): add gutter references.
14460
14461         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14462
14463         * lisp.h: declare Fvalid_plist_p.
14464
14465         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14466         as changed.
14467         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14468         well as its visibility so that it gets reconstructed.
14469         (construct_window_gutter_spec): new function. Construct a string
14470         to be displayed in the gutter from a plist of strings. Take care
14471         to only use elements that are declared as visible.
14472         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14473         WINDOW_GUTTER.
14474         (gutter_validate): allow plists of strings in the specifier.
14475         (gutter_specs_changed): construct the real_gutter from the gutter
14476         specs using construct_window_gutter_spec.
14477         (gutter_visible_validate): gutter-visible is a new specifier type.
14478         (Fgutter_visible_specifier_p): new function for the new specifier.
14479         (syms_of_gutter): declare gutter-visible and
14480         Fgutter_visible_specifier_p.
14481         (specifier_type_create_gutter): intitalize new gutter-visible
14482         specifier.
14483         (reinit_specifier_type_create_gutter): ditto.
14484         (specifier_vars_of_gutter): use new specifier type for gutter
14485         visibility.
14486         (init_frame_gutters): construct real_gutter correctly.
14487         (Fgutter_specifier_p): beef up documentation.
14488         (Fgutter_size_specifier_p): ditto.
14489
14490         * winslots.h: add real_gutter slots.
14491
14492 2000-02-25  Andy Piper  <andy@xemacs.org>
14493
14494         * device-msw.c: Be kind to older cygwin versions. From Raymond
14495         Toy <toy@rtp.ericsson.se>.
14496
14497         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14498         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14499
14500 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14501
14502         * elhash.c (MARK_OBJ): Practice macro hygiene.
14503
14504 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14505
14506         * miscplay.c: s/__inline__/inline/g;
14507         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14508         (get_device_compdc): INLINE ==> static inline
14509         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14510         find -name '*.h' | \
14511         xargs global-replace \
14512         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14513
14514 2000-02-25  Andy Piper  <andy@xemacs.org>
14515
14516         * window.c (window_top_frame_gutter_height): new function.
14517         (window_top_window_gutter_height): ditto.
14518         (window_top_gutter_height): use them.
14519         (window_bottom_frame_gutter_height): new function.
14520         (window_bottom_window_gutter_height): ditto.
14521         (window_bottom_gutter_height): use them.
14522         (window_left_window_gutter_width): new function.
14523         (window_left_frame_gutter_width): ditto.
14524         (window_left_gutter_width): use them.
14525         (window_right_window_gutter_width): new function.
14526         (window_right_frame_gutter_width): ditto.
14527         (window_right_gutter_width): use them.
14528         (window_pixel_height): new function. calulate window pixel height
14529         with frame gutter involvement.
14530         (Fsplit_window): calculate new sizes taking frame gutters into
14531         account.
14532         (window_char_height_to_pixel_height): don't include frame gutters.
14533         (window_char_height): use window_pixel_height.
14534         (window_pixheight): rename from window_pixel_height.
14535         (change_window_height): use it.
14536         (window_pixel_height_to_char_height): don't include frame gutters.
14537         (window_char_width_to_pixel_width): ditto.
14538
14539 2000-02-25  Andy Piper  <andy@xemacs.org>
14540
14541         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14542         if it is.
14543
14544 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14545
14546         * alloc.c (staticpro):
14547         (staticpro_nodump):
14548         (dumpstruct):
14549         (dumpopaque):
14550         (pdump_wire):
14551         (pdump_wire_list):
14552         (compact_string_chars):
14553         (pdump_dump_wired):
14554         Convert:  if (foo) abort();  ==>  assert (! foo);
14555
14556         * eldap.c (Fldap_search_basic):
14557         (Fldap_add):
14558         (Fldap_modify):
14559         (Fldap_delete):
14560         Fix compiler warnings, and possible crashes if (random) return
14561         value were to be used.
14562
14563 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14564
14565         * device-msw.c: Workaround ResetDC failure.
14566
14567         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14568         applying a devmode.
14569
14570         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14571         (mswindows_text_width): Do not start printer page.
14572
14573         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14574
14575         * glyphs-msw.c: Added image methods to msprinter console and
14576         msprinter-specific image instantiation.
14577
14578 2000-02-20  Mike Alexander  <mta@arbortext.com>
14579
14580         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14581         to avoid crashes when selection-sets-clipboard is on
14582         (mswindows_own_selection): ditto
14583
14584 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14585
14586         * glyphs-msw.c:
14587         * redisplay-msw.c (get_frame_dc):
14588         (get_frame_compdc):
14589         * console-msw.h:
14590         * device-msw.c (mswindows_init_device):
14591         (mswindows_delete_device):
14592         (msprinter_init_device):
14593         (msprinter_delete_device):
14594         * frame-msw.c (mswindows_init_frame_1):
14595         (mswindows_delete_frame):
14596         (msprinter_init_frame_3):
14597         (msprinter_delete_frame): Move compatible DC to device object from
14598         frame object, for both mswindows and msprinter. Only one at a time
14599         is needed, it is a real waste to have one per frame!
14600
14601 2000-02-23  Andy Piper  <andy@xemacs.org>
14602
14603         * glyphs.c: add dynamic width and height elements.
14604         (image_instance_equal): ditto.
14605
14606         * glyphs-widget.c (widget_query_geometry): calculate width and
14607         height dynamically if required.
14608         (initialize_widget_image_instance): initialize dynamic dimensions.
14609         (widget_instantiate): pick-up dynamic dimensions.
14610
14611         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14612         dynamic determination. Add appropriate macros.
14613
14614         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14615         dimensions safe.
14616         (WINDOW_GUTTER_SIZE): ditto.
14617         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14618
14619         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14620         inline.
14621         (get_frame_dc): ditto.
14622
14623         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14624         here.
14625
14626 2000-02-23  Martin Buchholz <martin@xemacs.org>
14627
14628         * XEmacs 21.2.31 is released.
14629
14630 2000-02-22  Ben Wing <ben@xemacs.org>
14631
14632         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14633
14634 2000-02-22  Andy Piper  <andy@xemacs.org>
14635
14636         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14637
14638 2000-02-21  Mike Sperber <mike@xemacs.org>
14639
14640         * .dbxrc:
14641         * .gdbinit:
14642         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14643         variables.
14644
14645 2000-02-21  Mike Sperber <mike@xemacs.org>
14646
14647         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14648
14649 2000-02-21  Martin Buchholz <martin@xemacs.org>
14650
14651         * XEmacs 21.2.30 is released.
14652
14653 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14654
14655         Performance hacking.
14656         * *.c (syms_of_*):
14657         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14658         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14659         * emacs.c (main_1):
14660         * lisp.h (DEFUN):
14661         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14662         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14663         * symeval.h (DEFVAR_SYMVAL_FWD):
14664         * symbols.c (guts_of_unbound_marker):
14665         Make all c_readonly objects also lisp_readonly and marked for life.
14666         * lrecord.h (struct lrecord_implementation):
14667         Document flags better.
14668         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14669         * lrecord.h (DECLARE_LRECORD):
14670         * lrecord.h (XSETRECORD):
14671         * lrecord.h (RECORDP):
14672         * lrecord.h (RECORD_TYPEP):
14673         * lrecord.h (RECORD_MARKER): New.
14674         * lrecord.h (error_check_*):
14675         * lrecord.h (CONCHECK_NONRECORD):
14676         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14677         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14678         * lrecord.h (set_lheader_implementation):
14679         * lrecord.h (enum lrecord_type): New.
14680         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14681         * alloc.c (disksave_object_finalization_1):
14682         * alloc.c (mark_object):
14683         * alloc.c (lrecord_type_index):
14684         * alloc.c (tick_lcrecord_stats):
14685         * alloc.c (Fgarbage_collect):
14686         * alloc.c (init_alloc_once_early):
14687         * alloc.c (pdump_load):
14688         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14689         * alloc.c (lrecord_type_index): Delete.
14690         Make lisp object type indexes be constant.
14691           Makes (byte-compile) 5% faster.
14692         Put all marker functions into their own array.
14693           Makes (garbage-collect) 5% faster.
14694         Optimize SYMBOL_VALUE_MAGIC_P.
14695           Makes (byte-compile) 2-3% faster.
14696         * config.h.in (gc_checking_assert): New.
14697         * alloc.c: Use gc_checking_assert().
14698         * .dbxrc: Make compatible with new object type implementation.
14699         * .gdbinit: Make compatible with new object type implementation.
14700         * alloc.c: Delete all symbols defined only for debugging, such as
14701         Lisp_Type_Vector and lrecord_charset.
14702
14703 2000-02-21  Andy Piper  <andy@xemacs.org>
14704
14705         * gui-msw.c (Fmswindows_shell_execute): fix file location
14706         problems.
14707
14708         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14709         unshowing so that set_window_buffer doesn't undo
14710         kill_buffer_hook's hard work.
14711
14712         * glyphs-widget.c (tab_control_query_geometry): don't count the
14713         first item when calculating geometry.
14714
14715         * glyphs.c (map_subwindow): remove redundant code.
14716         (update_frame_subwindows): be more circumspect about when to
14717         update subwindows.
14718
14719         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14720         when items haven't changed. Update faces if faces have changed as
14721         well as just the widget face.
14722         (x_tab_control_update): Update faces if faces have changed as well
14723         as just the widget face.
14724
14725 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14726
14727         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14728         registration.
14729         (build_syscolor_string): Use mswindows_color_to_string to try to
14730         get a named color.
14731         (mswindows_device_system_metrics): Reverse the foreground and
14732         background colors so that they match the documentation.
14733
14734         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14735         they match the default Windows palette.
14736         (mswindows_color_to_string): New function.
14737
14738 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14739
14740         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14741
14742 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14743
14744         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14745         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14746
14747         * symbols.c (init_symbols_once_early): Removed obsolete
14748         DATA_SEG_BITS related kludge.
14749         (defvar_magic): Ditto.
14750
14751         * malloc.c: Removed obsolete DATA_SEG_BITS
14752         * ralloc.c: Ditto.
14753         * mem-limits.h: Ditto.
14754
14755         * Makefile.in.in: Removed obsolete HAVE_SHM
14756         * emacs.c: Ditto.
14757
14758 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14759
14760         *  device-msw.c (mswindows_delete_device): Free DDE string
14761         handles.
14762
14763 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14764
14765         * keymap.c (get_keyelt):
14766         * unexnt.c (unexec):
14767         * vm-limit.c (memory_warnings):
14768         * ntheap.c (recreate_heap):
14769         * ntheap.h (UNINIT_PTR):
14770         * select-msw.c (Fmswindows_get_clipboard):
14771         (Fmswindows_set_clipboard):
14772         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14773         * objects-msw.c:
14774         * menubar-msw.c (displayable_menu_item):
14775         * glyphs-msw.c:
14776         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14777         * sysdep.c (sys_subshell):
14778         * process-nt.c (nt_create_process):
14779         * nt.c (normalize_filename):
14780         (dostounix_filename):
14781         (unixtodos_filename):
14782         * ntproc.c (win32_executable_type):
14783         * ntplay.c (play_sound_data_1):
14784         (play_sound_file):
14785         * editfns.c (get_home_directory):
14786         * event-msw.c (struct winsock_stream):
14787         (mswindows_dde_callback):
14788         * device-msw.c (msprinter_init_device):
14789         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14790
14791         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14792         mswindows_clear_toolbar were swapped!
14793
14794         * objects-msw.c:(colormap_t):
14795         (fontmap_t):
14796         * emacs.c (struct standard_args): Fixed const jumble.
14797
14798         * glyphs-widget.c (update_widget): Fixed comparison notation.
14799
14800         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14801
14802         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14803         __declspec(noreturn) syntax.
14804
14805 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14806
14807         * eldap.c (Fldap_open):
14808         (Fldap_search_basic):
14809         (Fldap_add):
14810         (Fldap_modify):
14811         Use new coding system conversion macros.
14812
14813 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14814
14815         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14816
14817 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14818
14819         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14820         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14821
14822         * eldap.c (Qadd, Qreplace): New constant symbols
14823         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14824         interruptions by XEmacs signals
14825         Remove unnecessary calls to slow_down_interrupts and
14826         speed_up_interrupts
14827         (Fldap_search_basic): Renamed from Fldap_search_internal
14828         Added new optional parameter VERBOSE that triggers the
14829         display of progress messages
14830         Remove unnecessary calls to slow_down_interrupts and
14831         speed_up_interrupts
14832         LDAP result code analysis rewritten
14833         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14834         (syms_of_eldap): Define the new symbols and functions
14835
14836
14837 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14838
14839         * realpath.c: Determine PATH_MAX maximally portably.
14840
14841         * insdel.c (bytecount_to_charcount): Optimize.
14842         The function used to be optimized for entirely ASCII sequences.
14843         Now it is optimized for successive characters from the same
14844         charset.  This also wins big for _mostly_ ASCII sequences.
14845
14846         * fileio.c (Ffile_truename): convert return from realpath() using
14847         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14848         - Rewrite GCPROing slightly.
14849
14850         * sysdep.c (sys_open): Do filename conversion, like all other
14851         sys_* functions.  Fixes bug:
14852         (let ((file-name-coding-system 'iso-8859-2))
14853            (write-region x y latin2-name))
14854         ==> writes filename using internal encoding.
14855
14856 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14857
14858         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14859         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14860         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14861         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14862         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14863         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14864         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14865         (CONST_IF_NOT_DEBUG): Delete.
14866         * alloc.c (this_one_is_unmarkable): Delete.
14867         (mark_object): Don't check for this_one_is_unmarkable. Use the
14868         c_readonly flag instead.
14869         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14870
14871 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14872
14873         * event-msw.c (mswindows_drain_windows_queue):
14874         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14875         away redundant repaint events.
14876
14877 2000-02-17  Andy Piper  <andy@xemacs.org>
14878
14879         * redisplay.h: declare mark_redisplay_structs.
14880
14881         * redisplay.c (redisplay_window):
14882         (redisplay_frame): don't check subwindows_state_changed.
14883         (mark_redisplay): mark gutters here.
14884
14885         * glyphs.c: (instantiate_image_instantiator): always layout if we
14886         haven't done so already.
14887         (allocate_image_instance): don't mark as dirty.
14888         (update_subwindow): bind inhibit_quit.
14889
14890         * gutter.c (mark_gutters): new function.
14891
14892         * glyphs-x.c (x_update_widget): Always resize to get round a
14893         widget bug.
14894
14895         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14896         breaking absolutely everything.
14897
14898         * gutter.h: declare mark_gutters.
14899
14900 2000-02-16  Martin Buchholz <martin@xemacs.org>
14901
14902         * XEmacs 21.2.29 is released.
14903
14904 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14905
14906         * fns.c (size_bit_vector): Fix computation of the size.
14907
14908 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14909
14910         * *.[ch]: Change CONST to const globally.
14911         find -name '*.[ch]' | \
14912         xargs global-replace \
14913         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14914         - Remove vestigial references to CONST_IS_LOSING
14915
14916 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14917
14918         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14919         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14920         events instead of dispatching them directly.
14921         (mswindows_handle_paint): New function to do repainting.
14922         (mswindows_wnd_proc):
14923         (emacs_mswindows_handle_magic_event): Call above function.
14924
14925 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14926
14927         * objects-msw.c (mswindows_create_font_variant): Return the new
14928         font handle.
14929         (initialize_font_instance): Get font metrics from the underlined
14930         variant of the font to cope with the case where the underlined
14931         font has a bigger descent.
14932
14933 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14934
14935         * gui.c (gui_item_accelerator): Return the first underlined
14936         character in item name.
14937
14938 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14939
14940         * lisp.h: Added Qprinter.
14941
14942         * general.c (syms_of_general): Initialized it.
14943
14944         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14945         (get_frame_dc):
14946         (get_frame_compdc): Made inline.
14947
14948         * console.h (struct console_methods): Added eject_page method.
14949
14950         * frame.h: Added FRAME_DISPLAY_P and friends.
14951         Aligned backslahes in many macros in more readable fashion.
14952         Added page_number to struct frame, and an accessor macro
14953         for it.
14954
14955         * defice.h: Added DEVICE_DISPLAY_P and friends.
14956
14957         * device.c (Fdevice_printer_p): Used these.
14958
14959         * frame.c (allocate_frame_core): Initialize page number.
14960         (Fprint_job_page_number):
14961         (Fprint_job_eject_page): Implemented.
14962
14963         * frame-msw.c (msprinter_eject_page): Added method.
14964         (msprinter_start_page): Added.
14965
14966         * window.c (Fwindow_truncated_p): Fixed docstring.
14967         (Fwindow_last_line_visible_height): Implemented.
14968
14969 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14970
14971         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14972
14973 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14974
14975         * syntax.c (scan_words): Always advance at least one character.
14976
14977 2000-02-13  Andy Piper  <andy@xemacs.org>
14978
14979         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14980         to make sure the glyph is in the cachels.
14981
14982         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14983         global image instance flag.
14984         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14985         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14986
14987         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14988         (Fset_image_instance_property): mark layout as changed.
14989         (invalidate_glyph_geometry_maybe): mark layout as changed.
14990         (glyph_width): use new NEEDS_LAYOUT macro.
14991         (glyph_ascent): ditto.
14992         (glyph_descent): ditto.
14993         (glyph_height): ditto.
14994         (image_instance_layout): mark layout as clean after laying out.
14995         (update_subwindow): don't mark layout as clean here.
14996
14997         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14998         should no longer be needed.
14999
15000         * glyphs-x.c (x_update_widget): sanitize asserts.
15001         (x_finalize_image_instance): sanitize assignment to widgets.
15002
15003         * glyphs-widget.c (widget_instantiate): don't need to clear the
15004         layout flag here.
15005
15006 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15007
15008         * sysdep.c (getcwd): Use standard prototype.
15009         * sysdep.h (getcwd): Use standard prototype.
15010
15011         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15012         (sequence, start, end).
15013         Remove redundant type checking.
15014         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15015         view of `caller-protects') to avoid a crash where the real fix was
15016         found elsewhere.
15017
15018 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15019
15020         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15021
15022         * s/sol2.h: Remove feature macro initialization.
15023
15024         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15025         (vector_hash): New.  Code from internal_hash.
15026         * lrecord.h:
15027         Fix up allocation subsystem comments.
15028
15029         * config.h.in: Add __EXTENSIONS__ for Solaris.
15030
15031         * systime.h (EMACS_GETTIMEOFDAY): New.
15032         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15033         Remove Solaris-specific code.
15034         Use void* for the (ignored) second arg for gettimeofday().
15035
15036         * elhash.c (hash_table_hash): Implement it, finally.
15037         * elhash.c:  Use hashcode_t.
15038
15039         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15040         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15041
15042         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15043         * fns.c (size_bit_vector):
15044         * alloc.c (size_vector):
15045         (make_vector_internal):
15046         (make_bit_vector_internal):
15047         (sweep_bit_vectors_1):
15048         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15049
15050 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15051
15052         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15053         Include strings.h to avoid warnings for bzero and strcasecmp.
15054
15055 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15056
15057         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15058         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15059
15060         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15061         sequence.
15062
15063 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15064
15065         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15066         use a value field instead.
15067         (symbol_value_forward_forward): Use value field.
15068         (DEFVAR_SYMVAL_FWD): Use value field.
15069         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15070         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15071         (DEFVAR_CONST_INT): Ditto.
15072         (DEFVAR_BOOL): Ditto.
15073         (DEFVAR_CONST_BOOL): Ditto.
15074         (DEFVAR_INT_MAGIC): Ditto.
15075         (DEFVAR_BOOL_MAGIC): Ditto.
15076
15077         * symbols.c (guts_of_unbound_marker): Use value field.
15078         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15079         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15080
15081         * lisp.h: Declare dumpopaque and noninteractive1.
15082
15083         * alloc.c (dumpopaque): Added.
15084         (pdump_dump_opaquevec): Added.
15085         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15086         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15087         noninteractive.
15088
15089 2000-02-10  Andy Piper  <andy@xemacs.org>
15090
15091         * glyphs.c (image_instance_layout): if the size changes, mark it
15092         as such.
15093
15094         * redisplay-output.c (redisplay_output_layout): Update the
15095         subwindow here.
15096         (redisplay_output_subwindow): ditto.
15097
15098         * glyphs.c (update_subwindow): make sure we reset flags for
15099         layouts as well as everything else.
15100
15101         * glyphs-widget.c (layout_layout): don't need to set the instances
15102         dimensions here.
15103
15104 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15105
15106         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15107         not HAVE_DLOPEN, which is a lower-level thing.
15108
15109         * .cvsignore: Ignore gmon.out
15110
15111 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15112
15113         * .cvsignore: Ignore portable dumper xemacs.dmp file
15114
15115 2000-02-09  Andy Piper  <andy@xemacs.org>
15116
15117         * redisplay-output.c (redisplay_output_layout): be more clever
15118         about when we output based on the changed flags.
15119
15120         * glyphs.h (struct image_instantiator_methods): add update_method.
15121         (struct Lisp_Image_Instance): add changed flags. Declare new
15122         macros for manipulating them.
15123
15124         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15125         (image_instance_parent_glyph): find an image_instance's parent
15126         glyph or image_instance.
15127         (image_instance_layout): mark the size as changed.
15128         (set_image_instance_dirty_p): new function. mark an image
15129         instance, plus all of its parents, as dirty.
15130         (Fset_image_instance_property): use it.
15131         (Fglyph_animated_timeout_handler): use it.
15132         (update_subwindow): call update_widget and device methods for
15133         update_subwindow. Mark all changed flags as clean.
15134         (Fresize_subwindow): mark size as changed.
15135
15136         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15137         failures.
15138         (x_update_subwindow): only resize subwindows here.
15139         (x_update_widget): new function. Update all changed properties of
15140         a widget.
15141         (x_resize_subwindow): deleted.
15142         (x_widget_set_property): deleted.
15143         (x_progress_gauge_set_property): deleted.
15144         (x_progress_gauge_update): new function. Implement recorded
15145         changes.
15146         (x_tab_control_update): ditto.
15147         (x_tab_control_set_property): deleted.
15148         (console_type_create_glyphs_x): declare new functions.
15149         (image_instantiator_format_create_glyphs_x): ditto.
15150
15151         * glyphs-widget.c (widget_set_property): mark text changed.
15152         (update_widget): new function. Update properties of a widget.
15153         (widget_instantiate): for layouts make sure we set their
15154         children's parent correctly.
15155         (tab_control_set_property): new function. Record changes that will
15156         take place under redisplay's control.
15157         (progress_gauge_set_property): ditto.
15158         (image_instantiator_progress_guage): declare new functions.
15159         (image_instantiator_tab_control): ditto.
15160
15161         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15162         now.
15163         (mswindows_update_widget): new function. Update all properties on
15164         a widget that have changed.
15165         (mswindows_button_update): new function. Update a button's set
15166         state.
15167         (mswindows_tab_control_update): new function. Update the items in
15168         a tab.
15169         (mswindows_tab_control_set_property): deleted.
15170         (mswindows_progress_gauge_update): new function. Update the
15171         progress gauge's progress.
15172         (mswindows_widget_set_property): deleted. This is all done
15173         asynchronously now.
15174         (mswindows_progress_gauge_set_property): ditto.
15175         (console_type_create_glyphs_mswindows): declare new methods.
15176         (image_instantiator_format_create_glyphs_mswindows): ditto.
15177
15178         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15179         (msprinter_set_frame_properties): ditto.
15180
15181         * console.h (struct console_methods): Add update_widget_method.
15182
15183 2000-02-09  Andy Piper  <andy@xemacs.org>
15184
15185         * gui-msw.c (Fmswindows_shell_execute): Make
15186         mswindows-shell-execute industrial strength.
15187
15188 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15189
15190         * lrecord.h: Make macro argument `props' match member function `plist'.
15191         * fns.c (Fget):
15192         * fns.c (Fput):
15193         * fns.c (Fremprop):
15194         * fns.c (Fobject_plist):
15195         * alloc.c:
15196         * symbols.c:
15197         Object property list frobbing cleanup.
15198         - Allow any lisp object (compared with `eq'), not just symbols, as
15199           keys in object plists.
15200         - Move symbol plist frobbing into symbols.c, where it belongs.
15201         - Move string plist frobbing into alloc.c, where it belongs.
15202         - Everything's an lrecord now, so no need to test for symbolp, etc.
15203         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15204
15205         * extents.c: Reorder code to remove declarations.
15206
15207         * frame.h (store_in_alist): Remove useless declaration.
15208
15209 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15210
15211         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15212         * config.h.in: Add HAVE_XCONVERTCASE.
15213
15214 2000-02-07  Andy Piper  <andy@xemacs.org>
15215
15216         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15217         it breaks many things.
15218
15219 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15220
15221         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15222         actually can start a common comment type.
15223         * src/syntax.h (SYNTAX_END_P): ditto for end.
15224
15225 2000-02-07  Martin Buchholz <martin@xemacs.org>
15226
15227         * XEmacs 21.2.28 is released.
15228
15229 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15230
15231         * event-Xt.c (x_keysym_to_character): New.
15232         (maybe_define_x_key_as_self_inserting_character): New.
15233         (x_has_keysym): New.
15234         Auto-define all keys on the keyboard as self-insert-key.
15235
15236 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15237
15238         * menubar.c (vars_of_menubar): A small code simplification.
15239
15240         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15241
15242         * ExternalShell.c:
15243         * ExternalClient.c:
15244         * EmacsShell-sub.c:
15245         * EmacsManager.c:
15246         * EmacsFrame.c:
15247         Use consistent style for specifying X resources.
15248
15249         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15250         This makes (dontusethis-set-symbol-value-handler) actually usable.
15251
15252         * lrecord.h (lrecord_decription_type):
15253         * alloc.c (pdump_register_sub):
15254         (pdump_dump_data):
15255         (pdump_reloc_one):
15256         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15257         Comply with XEmacs coding style.
15258         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15259         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15260
15261         * keymap.c (Faccessible_keymaps):
15262         Make (accessible-keymaps map "\C-h") do the Right Thing.
15263         Make (accessible-keymaps map []) do the Right Thing.
15264         Make (accessible-keymaps map "") do the Right Thing.
15265         (check_keymap_definition_loop): New function.
15266         (keymap_store_internal): Keep luser from shooting self in foot,
15267           via (define-key ctl-x-4-map "p" global-map).
15268         Remove fullness slot from struct Lisp_Keymap, since hash tables
15269         are now reliable.
15270         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15271
15272 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15273
15274         * redisplay.c (init_redisplay): Fix small memory leak.
15275         * elhash.h:
15276         * elhash.c (pdump_reorganize_hash_table):
15277         Rename from reorganize_hash_table. Change prototype.
15278         Reuse the original memory for hentries.  Save 100k.
15279         * alloc.c (PDUMP_READ): new macro.
15280         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15281         * alloc.c: No need to #ifndef before #undef.
15282
15283         * print.c: Allow debug_print() to print readably by modifying
15284         debug_print_readably.  Use consistent variable names.
15285
15286         * .dbxrc: Try to get things to work even if stopped in a function
15287         without source available by explicitly specifying source files.
15288 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15289
15290         * unexnt.c (_start): Removed bogus code which caused loading heap
15291         from differrent executable file.
15292         Removed bogus assignment to _fmode, which caused inconsistencies.
15293
15294 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15295
15296         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15297         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15298         Do not preliminary `#define signal sigset'.
15299
15300         * systime.h: Do not prototype environ on windows nt and cygwin,
15301         this conflicts with system header.
15302
15303         * syssignal.h: Use correct define for WINDOWSNT
15304
15305         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15306         with system header.
15307
15308         * sysdep.c (near start of file): Fixed commentary and rearranged
15309         ifdefs in readable order.
15310         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15311         (start_of_text):
15312         (end_of_text):
15313         (end_of_data): Do not compile in if using PDUMP.
15314
15315         * symsinit.h: Prototyped vars_of_nt().
15316
15317         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15318         (find_child_console): Use it.
15319         (sys_kill): Use it.
15320
15321         * ntheap.h: Do not extern os_subtype.
15322
15323         * ntheap.c (cache_system_info): Do not cache unneeded:
15324         nt_major_version, nt_minor_version and os_subtype.
15325         (recreate_heap): Do not compile in when PDUMPing.
15326
15327         * nt.c (geteuid and friends): Use the new varibale
15328         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15329         (init_user_info): Removed the above mentioned hackery.
15330         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15331         stat has been fixed in the C runtime.
15332         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15333
15334         * file-coding.c (struct file_coding_dump): Do not define
15335         ucs_to_mule_table in the struct if not MULE.
15336         (struct struct lrecord_description fcd_description_1): Do not dump
15337         the above.
15338
15339         * emacs.c (main_1): Call vars_of_nt().
15340         (right before Fdump_emacs_data): Don't need lastfile if using both
15341         portabe dumper and system malloc.
15342
15343         * alloc.c (Fmemory_limit): Conditionalized out.
15344         (pdump): Use OPEN_BINARY for the portable dump file.
15345         (pdump_load): Ditto.
15346
15347 2000-02-02  Mike Alexander  <mta@arbortext.com>
15348
15349         * nt.c (convert_time): Set tm_isdst before calling mktime and
15350         avoid calling it at all if the compiler supports 64 bit integers.
15351         Also initialize utc_base_ft before using it.
15352
15353 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15354
15355         * frame.c (change_frame_size_1): Take f->internal_border_width
15356         into consideration when calculating the width of the frame.
15357
15358 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15359
15360         * window.c (frame_min_height):
15361         (frame_size_valid_p):
15362         (frame_pixsize_valid_p): Added.
15363         (check_frame_size): Generalized.
15364
15365         * window.h: Prototyped the above.
15366
15367         * lisp.h:
15368         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15369         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15370         Deleted Vwin32_* and Vbinary_process_* unused variables.
15371
15372         * device-msw.c (msprinter_init_device): Do not get printer font
15373         list; Added DEVMODE functions.
15374
15375         * frame-msw.c: Added lots of printer code.
15376
15377         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15378         general.c.
15379
15380         * console-msw.h: Added more msprinter device private slots.
15381
15382 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15383
15384         * event-msw.c (key_needs_default_processing_p): Added.
15385         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15386
15387 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15388
15389         * glyphs.c (image_instance_layout): Mark image instance as clean
15390         after layout.
15391         (glyph_dirty_p): Removed redundant function.
15392         (invalidate_glyph_geometry_maybe): Added.
15393         (update_glyph_cachel_data): Call it.
15394
15395         * glyphs.h: Prototyped it.
15396
15397         * redisplay.c (add_glyph_rune): Call it.
15398         (redisplay_window): Reset glyphs cachels when frame faces have
15399         changed, thus forcing recomputation of built-in border glyphs.
15400
15401 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15402
15403         * Makefile.in.in: Make portable dumper and purify play well together.
15404         Add imperfect, but better than nothing, support for pdump.
15405         Remove xemacs.dmp when temacs is re-generated.
15406         Don't ignore errors when dumping xemacs.
15407
15408         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15409
15410 2000-01-28  Andy Piper  <andy@xemacs.org>
15411
15412         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15413         (setup_normal_frame): ditto.
15414         (setup_frame_without_minibuffer): ditto.
15415         (setup_minibuffer_frame): ditto.
15416         (delete_frame_internal): ditto.
15417         (Fmake_frame_invisible): ditto.
15418         (Ficonify_frame): ditto.
15419
15420         * window.h: change Fset_window_buffer signature.
15421
15422         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15423         (Fset_window_buffer): allow recording of buffer if the window is
15424         the selected window.
15425         (window_loop): Use new Fset_window signature.
15426
15427 2000-01-23  Daniel Pittman  <daniel@danann.net>
15428
15429         * config.h.in: Added template for `HAVE_ATHENA_3D'
15430
15431 2000-01-29  Andy Piper  <andy@xemacs.org>
15432
15433         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15434
15435         * gutter.c (output_gutter): Don't output if the window isn't live.
15436
15437 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15438
15439         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15440         of 01/12/00: Moved SetFocus back here where it belongs.
15441
15442 2000-01-23  Andy Piper  <andy@xemacs.org>
15443
15444         * s/cygwin32.h: declare printer things.
15445
15446 2000-01-26  Andy Piper  <andy@xemacs.org>
15447
15448         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15449         Alexander.
15450
15451 2000-01-24  Andy Piper  <andy@xemacs.org>
15452
15453         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15454         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15455
15456         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15457
15458         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15459
15460         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15461
15462         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15463         (mswindows_output_display_block): Avoid local shadows.
15464
15465         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15466         (mswindows_enqueue_mouse_button_event): ditto.
15467         (mswindows_handle_gui_wm_command): remove declaration.
15468
15469         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15470         warnings.
15471
15472         * console-msw.h: Avoid shadows.
15473         (mswindows_get_toolbar_button_text):
15474         (emacs_mswindows_create_stream_pair):
15475         (emacs_mswindows_delete_stream_pair):
15476         (mswindows_handle_toolbar_wm_command): declare.
15477
15478         * device-msw.c (build_syscolor_string): Avoid shadows.
15479
15480 2000-01-23  Andy Piper  <andy@xemacs.org>
15481
15482         * glyphs-widget.c (widget_instantiate): reverse the items for
15483         layouts so that children are in the expected order.
15484
15485 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15486
15487         * ralloc.c: safe_bcopy ==> memmove
15488         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15489         * s/msdos.h: Remove BCOPY macros.
15490         * insdel.c (gap_right): Remove BCOPY conditional code.
15491         * insdel.c (gap_left): Remove BCOPY conditional code.
15492         XEmacs demands a working ANSI C compiler - hence memmove.
15493
15494         * regex.c (regex_compile): Remove accidental use of trigraphs.
15495
15496 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15497
15498         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15499         event timestamp.
15500
15501 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15502
15503         * event-msw.c (mswindows_drain_windows_queue): Added the
15504         parameter.
15505         (mswindows_need_event): Commented the call to
15506         mswindows_drain_windows_queue().
15507         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15508         only.
15509
15510         * console-msw.h: Moved a few function prototypes here from
15511         event-msw.c.
15512
15513         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15514         parameter from unsigned short to unsigned long.
15515         (Fmswindows_shell_execute): Added return value.
15516
15517 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15518
15519         * sysdep.c (init_system_name):
15520           process-unix.c (unix_canonicalized_host_name):
15521         Don't call freeaddrinfo() if getaddrinfo() fails.
15522
15523         * process-unix.c (unix_open_unix_network_stream):
15524         Moved the code to get a port # into address loop.
15525
15526 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15527
15528         * buffer.c (reinit_vars_of_buffer):
15529         The right place to initialize conversion_in_dynarr and
15530         conversion_out_dynarr.
15531
15532         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15533
15534         * process-unix.c (unix_canonicalize_host_name): Muleize.
15535         (unix_open_network_stream): Muleize.
15536
15537         * buffer.h: Fix up prototypes for ralloc.c functions.
15538
15539 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15540         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15541         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15542                 instead of gethostbyname()
15543         * process-unix.c: In unix_canonicalize_host_name() and
15544                 unix_open_network_stream(), add code to use getaddrinfo()
15545                 instead of gethostbyname().
15546
15547 2000-01-27  Daniel Pittman <daniel@danann.net>
15548
15549         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15550         libs when built with flat Athena.
15551
15552 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15553
15554         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15555         Use coding standards for function prototypes.
15556
15557 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15558
15559         * dialog-msw.c (push_lisp_string_as_unicode):
15560         * doc.c (unparesseuxify_doc_string):
15561         * dired.c (Fuser_name_completion_1):
15562         * dired.c (Fuser_name_all_completions):
15563         * dired.c (free_user_cache):
15564         * dired.c (user_name_completion):
15565         * console-x.c (get_display_arg_connection):
15566         * minibuf.c (clear_echo_area_internal):
15567         * minibuf.c (echo_area_append):
15568         * eldap.c (Fldap_open):
15569         * eldap.c (Fldap_search_internal):
15570         * frame-x.c (x_set_frame_text_value):
15571         * frame-x.c (x_set_frame_properties):
15572         * frame-x.c (x_create_widgets):
15573         * redisplay-tty.c (term_get_fkeys_1):
15574         * objects-x.c (x_parse_nearest_color):
15575         * objects-x.c (x_valid_color_name_p):
15576         * objects-x.c (x_initialize_font_instance):
15577         * objects-x.c (x_list_fonts):
15578         * objects-x.c (x_find_charset_font):
15579         * tooltalk.c (Fadd_tooltalk_message_arg):
15580         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15581         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15582         * process-unix.c (unix_create_process):
15583         * ntproc.c (sys_spawnve):
15584         * sound.c (Fplay_sound_file):
15585         * sound.c (Fplay_sound):
15586         * buffer.c (init_initial_directory):
15587         * buffer.c (init_buffer):
15588         * editfns.c (init_editfns):
15589         * editfns.c (Ftemp_directory):
15590         * editfns.c (Fuser_full_name):
15591         * editfns.c (uncache_home_directory):
15592         * editfns.c (get_home_directory):
15593         * editfns.c (Fuser_home_directory):
15594         * editfns.c (Fformat_time_string):
15595         * editfns.c (Fcurrent_time_string):
15596         * gui-x.c (button_item_to_widget_value):
15597         * database.c (Fopen_database):
15598         * event-Xt.c (x_to_emacs_keysym):
15599         * event-Xt.c (x_event_to_emacs_event):
15600         * event-Xt.c (describe_event_window):
15601         * event-msw.c (mswindows_wnd_proc):
15602         * glyphs-eimage.c (jpeg_instantiate):
15603         * glyphs-eimage.c (gif_instantiate):
15604         * glyphs-eimage.c (png_instantiate):
15605         * glyphs-eimage.c (tiff_instantiate):
15606         * glyphs-x.c (xbm_instantiate_1):
15607         * glyphs-x.c (x_xbm_instantiate):
15608         * glyphs-x.c (x_xface_instantiate):
15609         * glyphs-x.c (autodetect_instantiate):
15610         * glyphs-x.c (cursor_font_instantiate):
15611         * glyphs-x.c (x_widget_instantiate):
15612         * glyphs-x.c (x_widget_set_property):
15613         * glyphs-x.c (x_widget_property):
15614         * glyphs-x.c (BUILD_GLYPH_INST):
15615         * print.c (write_string_to_stdio_stream):
15616         * print.c (output_string):
15617         * print.c (Falternate_debugging_output):
15618         * print.c (Fexternal_debugging_output):
15619         * glyphs-msw.c (extract_xpm_color_names):
15620         * glyphs-msw.c (mswindows_xpm_instantiate):
15621         * glyphs-msw.c (bmp_instantiate):
15622         * glyphs-msw.c (resource_name_to_resource):
15623         * glyphs-msw.c (mswindows_resource_instantiate):
15624         * glyphs-msw.c (xbm_instantiate_1):
15625         * glyphs-msw.c (mswindows_xbm_instantiate):
15626         * glyphs-msw.c (mswindows_xface_instantiate):
15627         * glyphs-msw.c (mswindows_widget_instantiate):
15628         * glyphs-msw.c (add_tree_item):
15629         * glyphs-msw.c (add_tab_item):
15630         * glyphs-msw.c (mswindows_combo_box_instantiate):
15631         * glyphs-msw.c (mswindows_widget_property):
15632         * glyphs-msw.c (mswindows_combo_box_property):
15633         * glyphs-msw.c (mswindows_widget_set_property):
15634         * console.c (stuff_buffered_input):
15635         * objects-msw.c (mswindows_initialize_color_instance):
15636         * objects-msw.c (mswindows_valid_color_name_p):
15637         * objects-msw.c (mswindows_list_fonts):
15638         * objects-msw.c (mswindows_font_instance_truename):
15639         * bytecode.c (optimize_compiled_function):
15640         * select-x.c (symbol_to_x_atom):
15641         * select-x.c (x_atom_to_symbol):
15642         * select-x.c (hack_motif_clipboard_selection):
15643         * select-x.c (selection_data_to_lisp_data):
15644         * select-x.c (lisp_data_to_selection_data):
15645         * select-x.c (Fx_get_cutbuffer_internal):
15646         * select-x.c (Fx_store_cutbuffer_internal):
15647         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15648         * buffer.h (TO_INTERNAL_FORMAT): New function.
15649         * emacs.c (make_arg_list_1):
15650         * emacs.c (make_argc_argv):
15651         * emacs.c (main_1):
15652         * emacs.c (Fdump_emacs):
15653         * emacs.c (split_string_by_emchar_1):
15654         * file-coding.h:
15655         * lisp.h:
15656         * lstream.h:
15657         * symsinit.h:
15658         * device-x.c (x_init_device):
15659         * device-x.c (Fx_valid_keysym_name_p):
15660         * device-x.c (Fx_get_font_path):
15661         * device-x.c (Fx_set_font_path):
15662         * glyphs.c (bitmap_to_lisp_data):
15663         * glyphs.c (pixmap_to_lisp_data):
15664         * alloc.c (make_ext_string): Use coding system arguments.  Update
15665         all callers.
15666         * alloc.c (build_string):
15667         * callproc.c (child_setup):
15668         * callproc.c (init_callproc):
15669         * fileio.c (lisp_strerror):
15670         * fileio.c (directory_file_name):
15671         * fileio.c (Fexpand_file_name):
15672         * fileio.c (Ffile_truename):
15673         * fileio.c (Fsysnetunam):
15674         * fileio.c (Fdo_auto_save):
15675         * sysdep.c (sys_readdir):
15676         * tests.c: New file.  Allow adding C tests.
15677         Replace GET_* macros with a more comprehensible and flexible
15678         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15679         Modify all calls.
15680         Any coding system can be used to do format conversion.
15681         Eliminate enum external_data_format.
15682         Eliminate convert_to_external_format.
15683         Eliminate convert_to_internal_format.
15684         Make sure file-name, keyboard, terminal, and ctext are always
15685         defined as coding systems or aliases.  Make
15686         file-name-coding-system, terminal-coding-system, and
15687         keyboard-coding-system magical variables that are equivalent to
15688         defining the corresponding coding system aliases.
15689
15690         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15691         * file-coding.c (Fcoding_system_alias_p): New function.
15692         * file-coding.c (Fcoding_system_aliasee): New function.
15693         * file-coding.c (append_suffix_to_symbol): New function.
15694         * file-coding.c (dangling_coding_system_alias_p): New function.
15695         * file-coding.c (Ffind_coding_system):
15696         * file-coding.c (Fcopy_coding_system):
15697         * file-coding.c (encode_coding_no_conversion):
15698         * file-coding.c (syms_of_file_coding):
15699         * file-coding.c (vars_of_file_coding):
15700         Rewrite coding system alias code.
15701         Allow nested aliases, like symbolic links.
15702         Allow redefinition of coding system aliases.
15703         Prevent existence of dangling coding system aliases.
15704
15705         * dired.c (Fuser_name_completion_1):
15706         * dired.c (Fuser_name_all_completions):
15707         A crash would happen if user did QUIT in the middle of building
15708         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15709
15710         * lisp.h:
15711         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15712
15713         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15714         an unsigned char *.  Update all callers.
15715
15716 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15717
15718         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15719
15720 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15721
15722         * elhash.c (hentry_description): Use more portable definition.
15723         (resize_hash_table): Initialize new hentries using
15724         xnew_array_and_zero, thereby simplifying the code.
15725
15726         * mule-charset.c (make_charset): Make sure entire object is
15727         initialized, to avoid Purify warnings.
15728
15729         * alloc.c (resize_string): Fix unlikely crash with big strings.
15730
15731 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15732
15733         * realpath.c (xrealpath):
15734         Don't call getwd().
15735
15736 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15737
15738         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15739
15740 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15741
15742         * unexelfsgi.c (unexec): Change the way we decide which segment
15743         should be extended.
15744
15745         Assumption that .bss section should be outside the PT_LOADable
15746         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15747         it's present) is inside the 'data' segment. This would fail the
15748         test which was used to find a segment to grow and cover new
15749         heap. Instead of this assumption, I created another one - on IRIX
15750         the segment to grow should start below .bss and it's address
15751         should extent above the end of .bss. Once this segment is
15752         identified, it's grown to accommodate the new heap and new
15753         zero-length .bss section is added at the end of .data2.
15754
15755 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15756
15757         * eval.c (Feval): Wrong number of arguments should use original
15758         function, not the indirect_function version of it.
15759
15760 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15761
15762         * glyphs-x.c (x_button_instantiate): Don't add image if
15763         it is not a pixmap.
15764         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15765         is relative.
15766
15767 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15768
15769         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15770         declaration.
15771         (DEFVAR_INT_MAGIC): Ditto.
15772         (DEFVAR_BOOL_MAGIC): Ditto.
15773         * glyphs.h: Reindent backslash.
15774
15775 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15776
15777         * glyphs-widget.c (layout_query_geometry):
15778         (layout_layout): Use correct types for gheight, gwidth.
15779
15780 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15781
15782         * EmacsManager.c (QueryGeometry): Purified.
15783
15784 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15785
15786         * alloc.c (make_float): Make sure entire object is initialized, to
15787         avoid Purify warnings.
15788         (pdump_register_sub): Remove useless assignment.
15789         (pdump): Use xmalloc, not malloc.
15790         (pdump_load): Use xmalloc, not malloc.
15791
15792 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15793
15794         * callproc.c:
15795         * dired-msw.c:
15796         * fileio.c:
15797         * process-nt.c:
15798         * redisplay-msw.c:
15799         * sysdep.c: Removed redundant #include <windows.h>
15800
15801 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15802
15803         * frame.c (delete_frame_internal): Do not delete device when its
15804         implementation so declares.
15805         (delete_frame_internal): Set device selected frame to nil when
15806         last frame goes away.
15807
15808         * device-msw.c (msprinter_device_system_metrics): Implemented.
15809         (mswindows_device_system_metrics): Added 'device-dpi property.
15810
15811         * device.c: (Fdevice_printer_p): Added.
15812         Added 'offset-workspace device metric.
15813
15814         * console.h (device_metrics): Declared DM_offset_workspace.
15815
15816 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15817
15818         * fileio.c (Ffile_truename): Remove pointless and confusing
15819         initialization of elen.
15820
15821         * glyphs-widget.c: Compiler warning fixes.
15822
15823 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15824
15825         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15826         instead of a Lisp_Object as argument to make it consistent with
15827         the other LIVE_P macros.
15828         (CHECK_LIVE_PROCESS): New macro.
15829
15830         * process.c: Declare Qprocess_live_p.
15831         (Fprocess_live_p): New function.
15832         (create_process): Use PROCESS_LIVE_P.
15833         (read_process_output): Ditto.
15834         (set_process_filter): Ditto.
15835         (Fdelete_process): Ditto.
15836         (kill_buffer_processes): Ditto
15837         (process_send_signal): Use CHECK_LIVE_PROCESS.
15838         (Fprocess_input_coding_system): Check whether process is still
15839         alive (fix PR#1061).
15840         (Fprocess_output_coding_system): Ditto.
15841         (Fprocess_coding_system): Ditto.
15842         (Fset_process_input_coding_system): Ditto.
15843         (Fset_process_output_coding_system): Ditto.
15844
15845 2000-01-23  Andy Piper  <andy@xemacs.org>
15846
15847         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15848         layout and widget.
15849
15850         * glyphs.c (mark_image_instance): take into account changed
15851         image_instance format.
15852         (image_instance_equal): ditto.
15853         (image_instance_hash): ditto.
15854
15855         * glyphs-widget.c (widget_instantiate): Incorporate layout
15856         instantiation here. Delay layout of the layout until later.
15857         (layout_instantiate): deleted.
15858         (layout_query_geometry): new function. get the geometry of a
15859         layout.
15860         (layout_layout): layout a layout dynamically.
15861         (image_instantiator_widget): New function - splitting up
15862         image_instantiator_format_create_glyphs_widget for netwinder
15863         compilation.
15864         (image_instantiator_buttons):
15865         (image_instantiator_edit_fields):
15866         (image_instantiator_combo_box):
15867         (image_instantiator_scrollbar):
15868         (image_instantiator_progress_guage):
15869         (image_instantiator_tree_view):
15870         (image_instantiator_tab_control):
15871         (image_instantiator_labels):
15872         (image_instantiator_layout): ditto.
15873         (image_instantiator_format_create_glyphs_widget): Call preceding
15874         functions.
15875
15876 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15877
15878         * process.c (Fset_process_coding_system):
15879         * device-x.c (Fx_keysym_hash_table):
15880         Docstring fixes.
15881
15882         * lstream.c (Lstream_write): Return documented value, not 0.
15883
15884         * fileio.c (directory_file_name):
15885         (Fsubstitute_in_file_name):
15886         (Fsubstitute_insert_file_contents_internal):
15887         (Fwrite_region_internal):
15888         * emacs.c:
15889         * sysdep.c:
15890         * getloadavg.c:
15891         * systty.h:
15892         Remove vestigial APOLLO-conditional code.
15893
15894 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15895
15896         * getpagesize.h: Add guard macros.
15897         * libsst.h: Add guard macros.
15898         * libst.h: Add guard macros.
15899         * line-number.h: Add guard macros.
15900         * ndir.h: Add guard macros.
15901         * sysfloat.h: Add guard macros.
15902         * sysfile.h: Add guard macros.
15903         * sysproc.h: Add guard macros.
15904         * syswait.h: Add guard macros.
15905         * xintrinsic.h: Add guard macros.
15906         * xintrinsicp.h: Add guard macros.
15907         * xmmanager.h: Add guard macros.
15908         * xmmanagerp.h: Add guard macros.
15909         * xmprimitive.h: Add guard macros.
15910         * xmu.h: Add guard macros.
15911         * gpmevent.h: Add copyright statement. Add guard macros.
15912         * miscplay.h: Add guard macros.
15913         * *.h: Use consistent C-standards-approved guard macro names.
15914
15915         * opaque.c (make_opaque): Switch parameter order.
15916         * opaque.h (make_opaque): Switch parameter order.
15917         Update all callers.
15918         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15919
15920         * config.h.in (type_checking_assert): Added.
15921         (bufpos_checking_assert): Added.
15922
15923 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15924
15925         * alloc.c: Harmless pdump changes.
15926         - Use countof().
15927         - spell alignment correctly.
15928         * sysdep.c: Use countof()
15929
15930 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15931
15932         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15933         initially_selected_for_input() console method, default to 0.
15934         (semi_canonicalize_console_connection): Try to delegate to
15935         canonicalize_console_connection if no such console method.
15936         (canonicalize_console_connection): Vice versa.
15937         (print_console): Do not print nil connection.
15938
15939         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15940         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15941         (XDEVIMPF_FRAMELESS_OK): Added.
15942         (CONSOLE_INHERITS_METHOD): Added.
15943
15944         * console-msw.c (mswindows_canonicalize_console_connection):
15945         Added.
15946         (mswindows_canonicalize_device_connection): Added.
15947
15948         * console-msw.h (struct msprinter_device): Added this struct and
15949         accessor macros.
15950         (mswindows_device): Made fontlist a lisp object.
15951
15952         * device.c (semi_canonicalize_device_connection):  Try to delegate
15953         to canonicalize_device_connection if no such console method.
15954         (canonicalize_device_connection): Vice versa.
15955         (print_device): Do not print nil connection.
15956
15957         * device-msw.c (mswindows_init_device): Call InitCommonControls
15958         when have widgets.
15959         (mswindows_delete_device): Removed fontlist deallocation.
15960         (mswindows_mark_device): Added.
15961
15962         * events.c (event_equal): Added abort() at unreached code.
15963         (event_hash): Ditto.
15964
15965         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15966         fallback tags of Windows devices.
15967
15968         * general.c (syms_of_general): Initialized Qmsprinter.
15969
15970         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15971         of fallback tags of Windows devices.
15972
15973         * lisp.h: Declared Qmsprinter.
15974
15975         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15976         of strings.
15977         (mswindows_list_fonts): Ditto.
15978         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15979         that it can be used by both mswindows and msprinter devices.
15980         (initialize_font_instance): Added.
15981         (mswindows_initialize_font_instance): Use it.
15982         (msprinter_initialize_font_instance): Added.
15983
15984         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15985         and implementation flags check.
15986         (redisplay_without_hooks): Changed the call to the above.
15987         (Fredraw_device): Ditto.
15988         (Fredisplay_device): Ditto.
15989
15990         * redisplay-msw.c (get_frame_dc): Implemented.
15991         (get_frame_compdc): Implemented.
15992         (many functions): Use the two functions above to get device
15993         contexts, ether for a window or a printer.
15994
15995 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15996
15997         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15998         initialization here.
15999         (init_symbols_once_early): Call it.
16000         * emacs.c (main_1): Call it.
16001         * symsinit.h: Declare it.
16002
16003 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16004
16005         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16006         Lisp_Object.
16007         (pdump_backtrace): Ditto.
16008         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16009         (pdump_get_entry): Abort if trying to register a null pointer.
16010         (pdump_dump_data): Cleanup types when relocating.
16011         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16012         (pdump_dump_rtables): Remove bad casts.
16013         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16014         Lisp_Object instead of a EMACS_INT for the hashtable
16015         reorganization.
16016
16017 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16018
16019         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16020
16021         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16022
16023         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16024
16025         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16026
16027 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16028
16029         * faces.h (FACE_STRIKETHRU_P): Added.
16030
16031         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16032         of font variants.
16033
16034         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16035         (mswindows_set_dc_font): New function, aware of font variants,
16036         separated from mswindows_update_dc.
16037
16038         * objects-msw.h (struct mswindows_font_instance_data): Added
16039         definition.
16040
16041         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16042         cached fonts and the data structure.
16043         (mswindows_initialize_font_instance): Added creation of font data
16044         structure.
16045         (mswindows_print_font_instance): Print at least something.
16046         (mswindows_create_font_variant): Implemented.
16047         (mswindows_get_hfont): Implemented.
16048
16049 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16050
16051         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16052         prototyping problem with msvc.
16053
16054         * emacs.c (main_1): added syms_of_gui_mswindows() call
16055
16056         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16057         syms_of_gui_mswindows() function
16058
16059         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16060
16061 2000-01-18  Martin Buchholz <martin@xemacs.org>
16062
16063         * XEmacs 21.2.27 is released.
16064
16065 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16066
16067         * glyphs-eimage.c (struct tiff_error_struct):
16068         (tiff_error_func):
16069         (tiff_warning_func):
16070         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16071
16072         * unexmips.c:
16073         * unexhp9k3.c:
16074         * unexfreebsd.c:
16075         * unexec.c: Remove vestigial Lucid C code.
16076         * unexalpha.c:
16077         * unexaix.c:
16078         * termcap.c:
16079         * libsst.c: Ansify.
16080         Remove declarations of errno and strerror().
16081
16082         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16083
16084         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16085
16086 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16087
16088         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16089         Optimize.
16090
16091 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16092
16093         * md5.c:
16094         * file-coding.c:
16095         * file-coding.h:
16096         Change enum eol_type to eol_type_t.
16097
16098 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16099
16100         * gui.c (get_gui_callback): Check cons before accessing car.
16101
16102 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16103
16104         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16105         (XSETSPECIFIER_TYPE): Ditto.
16106
16107 2000-01-17  Didier Verna  <didier@xemacs.org>
16108
16109         * redisplay.c (generate_fstring_runes): compute string size in
16110         characters, not bytes.
16111
16112 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16113
16114         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16115
16116 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16117
16118         * print.c (print_error_message): Call print_prepare().
16119
16120 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16121
16122         * .dbxrc: Renamed from dbxrc.
16123
16124         * events.c (event_to_character):
16125         Use `assert (foo)' instead of `if (!foo) abort()'
16126
16127         * .gdbinit (xtype): Add documentation.
16128         * .gdbinit (check-temacs): New function.
16129         * .gdbinit (check-xemacs): New function.
16130         * dbxrc (check-xemacs): New function.
16131         * dbxrc (check-xemacs): New function.
16132
16133 2000-01-14  Andy Piper  <andy@xemacs.org>
16134
16135         * glyphs-widget.c (widget_query_geometry): Make sure that we
16136         calculate default dimensions correctly.
16137
16138 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16139
16140         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16141
16142         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16143         pdump_wire'd variable.
16144
16145         * emacs.c: (main_1): Conditionalized calls to
16146         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16147
16148 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16149
16150         * window.c (Fset_window_configuration):
16151         * sysdep.c (_start):
16152         * input-method-motif.c (res):
16153         * event-Xt.c (Xt_process_to_emacs_event):
16154         Simple compiler warning fixes.
16155
16156         * bytecode.c (funcall_compiled_function): Use the original
16157         function symbol on the backtrace list in preference to the
16158         compiled_function object in error messages.
16159
16160 2000-01-13  Andy Piper  <andy@xemacs.org>
16161
16162         * glyphs-x.c (update_widget_face): Make sure we update the widget
16163         background as well as foreground.
16164
16165 2000-01-13  Andy Piper  <andy@xemacs.org>
16166
16167         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16168         fields to subwindow.
16169         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16170         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16171         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16172         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16173
16174         * glyphs-widget.c (check_valid_tab_orientation): new function.
16175         (initialize_widget_image_instance): zero orientation and
16176         justification.
16177         (widget_instantiate): pick up orientation.
16178         (tab_control_query_geometry): return appropriate values for
16179         vertical tabs.
16180
16181         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16182         appropriate creation flags for left, right and bottom tabs.
16183
16184         * s/cygwin32.h: add tab definitions.
16185
16186 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16187
16188         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16189         frame upon hiding a subwindow.
16190         (mswindows_button_instantiate): Changed the push button style to
16191         BS_PUSHBUTTON.
16192         (mswindows_button_instantiate): Removed button BS_NOTIFY
16193         style.
16194         (mswindows_button_instantiate): Removed redundant check for
16195         a disabled gui item.
16196         (mswindows_button_instantiate): Made use of WS_TABSTOP
16197         consistent: "operable" controls (edit, button, tree, scroll) have
16198         this style, "display-only" ones (static, progress gauge) do
16199         not. This style is currently ignored by XEmacs though. Also,
16200         removed the WS_EX_CONTROLPARENT style - it is not for children,
16201         it is for their parents!
16202         (mswindows_edit_field_instantiate): Ditto.
16203         (mswindows_progress_gauge_instantiate): Ditto.
16204         (mswindows_tree_view_instantiate): Ditto.
16205         (mswindows_tab_control_instantiate): Ditto.
16206         (mswindows_scrollbar_instantiate): Ditto.
16207         (mswindows_combo_box_instantiate): Ditto.
16208         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16209         style to the "clip" window.
16210         (mswindows_button_instantiate): Removed compilation warning by
16211         equally typing terms of the ?: operator.
16212
16213 2000-01-12  Didier Verna  <didier@xemacs.org>
16214
16215         * redisplay.c (generate_fstring_runes): new parameter holding the
16216         last modeline-format extent.
16217         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16218         extent, fill the glyph block with it.
16219         (generate_fstring_runes): handle these parameters.
16220         (generate_formatted_string_db): ditto.
16221
16222         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16223         glyphs'extents in the modeline.
16224
16225 1999-01-11  Mike Woolley  <mike@bulsara.com>
16226
16227         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16228         256Mb, as a workaround for the non-starting problem many people
16229         have experienced.
16230
16231 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16232
16233         * console-tty.c (Fset_console_tty_output_coding_system):
16234         Force redrawing tty frame.
16235
16236 2000-01-10  Didier Verna  <didier@xemacs.org>
16237
16238         * redisplay.c (generate_fstring_runes): fix size computation bug.
16239
16240 2000-01-09  William M. Perry <wmperry@aventail.com>
16241
16242         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16243
16244 2000-01-09  Andy Piper  <andy@xemacs.org>
16245
16246         * glyphs-msw.c: index -> i to avoid shadows.
16247         (xbm_create_bitmap_from_data): make static.
16248         (check_valid_string_or_int): deleted.
16249         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16250
16251         * glyphs-x.c (x_update_subwindow): remove unused args.
16252
16253         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16254         back pointer - this is done in allocate_image_instance.
16255         (query_string_font): return Qnil to make the compiler happy.
16256         (unmap_subwindow): set to ~0 to make the compiler happy.
16257         (glyph_query_geometry): comment out until used.
16258         (glyph_layout): ditto.
16259
16260 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16261
16262         * insdel.c (signal_after_change): Remove extraneous unbind_to().