f2da010b1767c465631e1f4d61b2ed0ae0a7a84a
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
4         CHISE.
5         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
6         CHISE.
7         (complex_vars_of_mule_charset): Add new coded-charset
8         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
9         builtin characters over 0xEFFFF.
10
11         * chartab.c (syms_of_chartab): Don't define symbol
12         `system-char-id' in every case.
13
14         * char-ucs.h (Qsystem_char_id): New extern variable.
15         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
16
17 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
18
19         * text-coding.c (char_encode_utf8): Try to use entity-references
20         for U-000F0000 ...  U-0010FFFF.
21
22 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
23
24         * text-coding.c (ER_BUF_SIZE): New macro.
25         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
26         `er_buf'.
27         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
28         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
29
30 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
31
32         * chartab.c (find_char_feature_in_family): New function.
33         (Fchar_feature): Use `find_char_feature_in_family' with
34         `->identical', `<-subsumptive' and `<-denotational'.
35
36 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
37
38         * text-coding.c (char_encode_as_entity_reference): Allow prefix
39         within 8 characters; fix infinite loop.
40
41 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
42
43         * chartab.c (Q_same): New variable.
44         (Q_same_of): New variable.
45         (Fput_char_attribute): Convert char-refs in value of `{->|<-}same'
46         to characters and put reverse links.
47         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
48         for `{->|<-}same'.
49         (syms_of_chartab): Add new symbols `{->|<-}same'.
50
51 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * chartab.c (Q_component): New variable.
54         (Q_component_of): Likewise.
55         (Fput_char_attribute): Convert char-refs in value of
56         `{->|<-}ideographic-component-forms' to characters and put reverse
57         links.
58         (syms_of_chartab): Add new symbols
59         `{->|<-}ideographic-component-forms'.
60
61 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
62
63         * chartab.c (Q_identical): New variable.
64         (Q_identical_from): New variable.
65         (Fchar_feature): Regard `->identical' as a feature to find
66         ancestors.
67         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
68         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
69         for `{->|<-}identical'.
70         (syms_of_chartab): Add new symbols `{->|<-}identical'.
71
72 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
73
74         * char-ucs.h (encode_char_2): New inline function.
75         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
76
77 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
78
79         * chartab.c (Fput_char_attribute): Convert char-specs to
80         characters in value of `ideographic-structure'.
81         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
82         for `{<-|->}simplified(@...)'.
83         (Fdefine_char): bTry to use predefined character's id.
84
85 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
86
87         * fns.c (simplify_char_spec): Try to convert builtin chars to
88         defined chars.
89
90 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
91
92         * chartab.c (Fput_char_attribute): Convert char-refs in value of
93         `<-simplified[^*]*' to characters and put reverse links.
94
95 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
96
97         * chartab.c (Q_subsumptive): Renamed from Q_unified.
98         (Q_subsumptive_from): Renamed from Q_unified_from.
99         (Fchar_feature): Use `Q_subsumptive_from' instead of
100         `Q_unified_from'.
101         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
102         `Q_unified'.
103         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
104         `<-unified' to `<-subsumptive'.
105
106 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
107
108         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
109         inheritance itself; fix typo; stop recursive search if cyclic
110         inheritance is found.
111
112 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
113
114         * chartab.c (Q_denotational): New variable.
115         (Q_denotational_from): New variable.
116         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
117         (put_char_attribute): New function.
118         (Fput_char_attribute): Use `put_char_attribute'; regard
119         `->denotational' and `<-denotational' as same as `->unified' and
120         `<-unified'.
121         (syms_of_chartab): Add new symbols `->denotational' and
122         `<-denotational'.
123
124 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
127         `Fget_char_attribute'.
128         (Fchar_variants): Likewise.
129         (get_char_table): Likewise.
130         (Fchar_feature): New function.
131         (put_char_composition): Use `Fchar_feature' instead of
132         `Fget_char_attribute'.
133         (Fput_char_attribute): Likewise; don't put the target character
134         into its `->unified' value.
135         (syms_of_chartab): Add new builtin function `char-feature'.
136
137 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
138
139         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
140         `Fget_char_attribute'.
141         (char_encode_utf8): Likewise.
142
143         * chartab.h: Add an EXFUN for `Fchar_feature'.
144
145 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
146
147         * chartab.c (Vnext_defined_char_id): New variable.
148         (Fput_char_attribute): Accept characters in `->unified'.
149         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
150         new characters which are not related with builtin char-id ranges.
151         (vars_of_chartab): Add new variable `next-defined-char-id'.
152
153 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
154
155         * chartab.c (Q_unified): New variable.
156         (Q_unified_from): New variable.
157         (Fput_char_attribute): Add code for `->unified'.
158         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
159         XEmacs CHISE.
160
161 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
162
163         * mule-charset.c (decode_ccs_conversion): New function.
164         (decode_defined_char): Use `decode_ccs_conversion'.
165         (decode_builtin_char): Likewise.
166
167 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
168
169         * char-ucs.h: Change some charset-ids of private coded-charsets.
170
171 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
172
173         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
174         (char_encode_as_entity_reference): Likewise.
175         (decode_coding_big5): Modify for `decode_defined_char' and
176         `DECODE_CHAR'.
177         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
178         avoid compiler warning.
179         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
180
181         * mule-charset.c (decode_defined_char): Add new argument
182         `without_inheritance'.
183         (Fdecode_char): Add new optional argument `without_inheritance'.
184         (Fdecode_builtin_char): Modify for `Fdecode_char'.
185
186         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
187         (simplify_char_spec): Likewise.
188
189         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
190         setting.
191
192         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
193         (map_char_table): Likewise.
194         (Fdefine_char): Use `Fdecode_char' without inheritance.
195         (Ffind_char): Modify for `Fdecode_char'.
196
197         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
198
199         * char-ucs.h (decode_defined_char): Add new argument
200         `without_inheritance'.
201         (DECODE_CHAR): Likewise.
202         (MAKE_CHAR): Modify for `DECODE_CHAR'.
203
204 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
205
206         * chartab.c (Vchise_system_db_directory): New variable.
207         (vars_of_chartab): Add new variable `chise-system-db-directory'.
208
209 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
210
211         * chartab.c: EXFUN `Fmount_char_attribute_table'.
212         (print_chartab_range): Don't define when `UTF2000' is defined.
213         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
214         `CHISE_DS_open'.
215
216 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
217
218         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
219         and optional argument `rehash' is specified, call
220         `open_chise_data_source_maybe' before
221         `chise_ds_foreach_char_feature_name' is called.
222
223 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
224
225         * chartab.c (char_attribute_list_reset_map_func): New function
226         when HAVE_LIBCHISE is defined.
227         (Fchar_attribute_list): Add new optional argument `rehash' when
228         HAVE_LIBCHISE is defined.
229         (open_chise_data_source_maybe): Use "chise-db" instead of
230         "char-db".
231         (char_attribute_system_db_file): Likewise.
232         (Fload_char_attribute_table): Use
233         `chise_feature_foreach_char_with_value' instead of
234         `chise_char_feature_value_iterate'.
235
236 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
237
238         * chartab.c (Vchise_db_directory): New variable.
239         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
240
241 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
242
243         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
244         instead of HAVE_CHISE to specify using with libchise.
245
246         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
247
248         * chartab.h: Don't use HAVE_CHISE_CLIENT.
249
250         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
251         defined or HAVE_LIBCHISE_LIBCHISE is defined.
252         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
253         is defined.
254         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
255         HAVE_CHISE to specify using with libchise.
256         (syms_of_chartab): Don't define symbol `system-char-id' when
257         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
258
259 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
260
261         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
262         specify CHISE DB support.
263         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
264         of `char_attribute_system_db_file' to check feature DB file.
265
266         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
267         HAVE_CHISE_CLIENT to specify CHISE DB support.
268
269         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
270         specify CHISE DB support.
271         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
272         not defined.
273         (Freset_char_attribute_table): Use `chise_feature_setup_db'
274         instead of `char_attribute_system_db_file' to check feature DB
275         file.
276
277 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
278
279         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
280         `HAVE_CHISE_CLIENT'.
281
282 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
283
284         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
285         (Fsave_charset_mapping_table): Don't use
286         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
287
288         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
289         (HAVE_LIBCHISE): New macro.
290
291         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
292
293         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
294         (Fsave_char_attribute_table): Don't use
295         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
296
297 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
298
299         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
300         defined.
301         (save_uint16_byte_table): Likewise.
302         (save_byte_table): Likewise.
303         (char_table_get_db): Use `chise_ds_load_char_feature_value'
304         instead of `chise_char_load_feature_value'.
305         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
306
307 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
308
309         * chartab.h (struct Lisp_Char_Table): Delete member
310         `feature_table' if CHISE is defined.
311
312         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
313         (Fcopy_char_table): Likewise.
314         (char_table_open_db_maybe): Likewise.
315         (char_table_close_db_maybe): Likewise.
316         (char_table_get_db): Likewise.
317         (Fmount_char_attribute_table): Likewise.
318         (Fload_char_attribute_table): Likewise.
319
320 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
321
322         * mule-charset.c (load_char_decoding_entry_maybe): Use
323         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
324         `chise_ccs_decode'.
325
326 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
327
328         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
329         instead of `chise_open_data_source'.
330         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
331         `chise_ds_close'.
332
333 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
334
335         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
336         instead of `chise_ds_open_feature_table'.
337         (char_table_close_db_maybe): Don't use `chise_ft_close'.
338
339 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
340
341         * mule-charset.c (Fsave_charset_mapping_table): Use
342         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
343         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
344         `chise_ccs_sync' instead of `chise_ccst_close'.
345         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
346
347         * chartab.c (open_chise_data_source_maybe): Modify for
348         `chise_open_data_source'.
349         (char_table_open_db_maybe): Modify for
350         `chise_ds_open_feature_table'.
351
352 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
353
354         * mule-charset.c (load_char_decoding_entry_maybe): Use
355         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
356         `chise_ccst_close'.
357
358 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
359
360         * mule-charset.c (Fsave_charset_mapping_table): Use
361         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
362         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
363         `chise_dt_put_char' and `chise_dt_close'.
364         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
365         `chise_ccs_decode' and `chise_ccst_close' instead of
366         `chise_ds_open_decoding_table', `chise_dt_get_char' and
367         `chise_dt_close'.
368
369         * chartab.c (char_table_get_db): Use
370         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
371         (load_char_attribute_table_map_func): Modify for
372         `chise_char_feature_value_iterate'.
373         (Fload_char_attribute_table): Use
374         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
375
376 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
377
378         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
379
380 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
381
382         * chartab.c (put_char_table): Modify for inherited coded-charsets
383         in XEmacs CHISE.
384
385 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
386
387         * chartab.c (Fput_char_table_map_function): Fixed.
388         (word_boundary_p): Don't check charset in XEmacs CHISE.
389
390 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
391
392         * mule-charset.c (Fsave_charset_mapping_table): Use
393         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
394         instead of `chise_open_decoding_table'; refer
395         `default_chise_data_source'; use `chise_dt_close' instead of
396         `chise_close_decoding_table'.
397         (load_char_decoding_entry_maybe): Likewise.
398
399         * chartab.c (default_chise_data_source): New variable when `CHISE'
400         is defined.
401         (Fcopy_char_table): `ct->ds' is deleted.
402         (open_chise_data_source_maybe): New function.
403         (Fclose_char_data_source): New function.
404         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
405         use `chise_ds_open_feature_table' instead of
406         `chise_open_feature_table'.
407         (char_table_close_db_maybe): Use `chise_ft_close' instead of
408         `chise_close_feature_table'; `cit->ds' is deleted.
409         (syms_of_chartab): Add new builtin function
410         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
411
412         * chartab.h (default_chise_data_source): New extern variable.
413         (open_chise_data_source_maybe): New prototype.
414         (struct Lisp_Char_Table): Delete `ds'.
415
416 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
417
418         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
419         `CHISE' is defined.
420
421 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
422
423         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
424         not defined; add code for non-libchise setting.
425         (char_table_close_db_maybe): Likewise.
426         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
427         defined.
428         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
429         even if `CHISE' is not defined.
430         (Freset_char_attribute_table): Likewise.
431         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
432         `char_table_close_db_maybe' even if `CHISE' is not defined; use
433         `char_table_get_db'.
434         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
435         `char_table_close_db_maybe' even if `CHISE' is not defined.
436
437 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
438
439         * chartab.c (char_table_open_db_maybe): New function.
440         (char_table_close_db_maybe): New function.
441         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
442         (Freset_char_attribute_table): Likewise.
443         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
444         `char_table_close_db_maybe'.
445         (Fload_char_attribute_table): Likewise.
446
447 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
448
449         * chartab.c: Don't include <chise.h> because it is included in
450         chartab.h.
451         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
452         defined.
453         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
454         `CHISE' is defined.
455         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
456         `CHISE' is defined.
457         (Fclose_char_attribute_table): Close `ct->feature_table' and
458         `ct->ds' when `CHISE' is defined.
459         (Freset_char_attribute_table): Likewise.
460         (load_char_attribute_maybe): Use `cit->ds' and
461         `cit->feature_table' when `CHISE' is defined.
462         (Fload_char_attribute_table): Likewise.
463
464         * chartab.h: Include <chise.h> when `CHISE' is defined.
465         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
466         when `CHISE' is defined.
467
468 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
469
470         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
471         is defined.
472         (char_table_description): Likewise.
473         (Fmake_char_table): Likewise.
474         (Fcopy_char_table): Likewise.
475         (Fmount_char_attribute_table): Likewise.
476         (Fclose_char_attribute_table): Likewise.
477         (Freset_char_attribute_table): Likewise.
478         (load_char_attribute_maybe): Likewise.
479         (Fload_char_attribute_table): Likewise.
480
481         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
482         defined.
483
484 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
485
486         * chartab.c (load_char_attribute_table_map_func): New function
487         when CHISE is defined.
488         (Qload_char_attribute_table_map_function): Don't define when CHISE
489         is defined.
490         (Fload_char_attribute_table_map_function): Likewise.
491         (Fload_char_attribute_table): Use libchise when `CHISE' is
492         defined.
493         (syms_of_chartab): Don't define
494         `load-char-attribute-table-map-function' when CHISE is defined.
495
496 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
497
498         * chartab.c: Include <chise.h> when `CHISE' is defined.
499         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
500
501 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
502
503         * mule-charset.c (charset_code_point): Fix problem when searching
504         in mother CCS fails with `defined_only' mode.
505
506 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
507
508         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
509         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
510         (put_char_composition): Likewise.
511         (Fput_char_attribute): Likewise.
512         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
513
514 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
515
516         * chartab.c (Q_ucs): Deleted.
517         (Fput_char_attribute): Don't refer `->ucs'.
518         (Fdefine_char): Likewise.
519         (Ffind_char): Likewise.
520         (syms_of_chartab): Delete `->ucs'.
521
522 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
523
524         * mule-charset.c (Qmap_cns11643_2): Renamed from
525         `Qchinese_cns11643_2'.
526         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
527         `chinese-cns11643-2'.
528         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
529         `=cns11643-2'.
530
531 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
532
533         * mule-charset.c (Qmap_cns11643_1): Renamed from
534         `Qchinese_cns11643_1'.
535         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
536         `chinese-cns11643-1'.
537         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
538         `=cns11643-1'.
539
540 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
541
542         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
543         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
544         `chinese-gb12345'.
545         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
546         `=gb12345'.
547
548 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
549
550         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
551         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
552         `chinese-gb2312'.
553         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
554         `=gb2312'.
555
556 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
557
558         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
559         (syms_of_mule_charset): Add new symbol `=big5' instead of
560         `chinese-big5'.
561         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
562
563 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
564
565         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
566         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
567         `korean-ksc5601'.
568         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
569         `=ks-x1001'.
570
571 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
572
573         * mule-charset.c (Qmap_jis_x0212): Renamed from
574         `Qjapanese_jisx0212'.
575         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
576         `japanese-jisx0212'.
577         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
578         `=jis-x0212'.
579
580 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
581
582         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
583         `Qjapanese_jisx0208'.
584         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
585         of `japanese-jisx0208'.
586         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
587         `=jis-x0208-1983'.
588
589 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
590
591         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
592         `Qjapanese_jisx0208_1978'.
593         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
594         of `japanese-jisx0208-1978'.
595         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
596         `=jis-x0208-1978'.
597
598 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
599
600         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
601         only for XEmacs CHISE.
602
603 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
604
605         * char-ucs.h: Compact non-ISO-IR charset-ids.
606         (LEADING_BYTE_UCS): Changed to -177.
607         (LEADING_BYTE_CONTROL_1): Changed to -77.
608         (LEADING_BYTE_UCS_BMP): Changed to -176.
609         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
610
611 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
612
613         * mule-charset.c (Qiso_ir): New variable.
614         (Fmake_charset): Recognise new property `iso-ir'.
615         (syms_of_mule_charset): Add new symbol `iso-ir'.
616
617 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
618
619         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
620         n to -n; charset-id of non ISO-IR sets are changed to positive
621         numbers.
622
623 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
624
625         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
626         for &MCS-XXXXXXXX; values.
627
628 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
629
630         * mule.c (Vxemacs_chise_version): Renamed from
631         `Vutf_2000_version'.
632         (vars_of_mule): Add new variable `xemacs-chise-version'; define
633         `utf-2000-version' as an alias for `xemacs-chise-version'.
634
635 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
636
637         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
638         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
639         defined.
640
641         * config.h.in (CHISE): New macro.
642
643 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
644
645         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
646         of `ucs'.
647         (Qmap_ucs): New variable.
648         (syms_of_mule_charset): Add new symbol `=ucs'.
649         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
650
651         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
652         (simplify_char_spec): Likewise.
653
654         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
655
656         * char-ucs.h (Qmap_ucs): New extern variable.
657
658 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
659
660         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
661         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
662         don't define it when UTF2000 is not defined.
663         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
664         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
665         when UTF2000 is not defined.
666         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
667         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
668
669 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
670
671         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
672
673         * mule-charset.c (Vcharset_ucs_gb): Deleted.
674         (Qucs_gb): Deleted.
675         (syms_of_mule_charset): Delete `ucs-gb'.
676         (complex_vars_of_mule_charset): Likewise.
677
678 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
679
680         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
681
682         * mule-charset.c (Vcharset_ucs_cns): Deleted.
683         (Qucs_cns): Deleted.
684         (syms_of_mule_charset): Delete `ucs-cns'.
685         (complex_vars_of_mule_charset): Likewise.
686
687 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
688
689         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
690
691         * mule-charset.c (Vcharset_ucs_jis): Deleted.
692         (Qucs_jis): Deleted.
693         (syms_of_mule_charset): Delete `ucs-jis'.
694         (complex_vars_of_mule_charset): Likewise.
695
696 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
697
698         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
699
700         * mule-charset.c (Vcharset_ucs_ks): Deleted.
701         (Qucs_ks): Deleted.
702         (syms_of_mule_charset): Delete `ucs-ks'.
703         (complex_vars_of_mule_charset): Likewise.
704
705 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
706
707         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
708         (Qideograph_daikanwa_2): Deleted.
709         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
710         (complex_vars_of_mule_charset): Likewise.
711
712         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
713         (LEADING_BYTE_DAIKANWA_1): Deleted.
714         (LEADING_BYTE_DAIKANWA_2): Deleted.
715         (MIN_CHAR_DAIKANWA): Deleted.
716         (MAX_CHAR_DAIKANWA): Deleted.
717
718 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
719
720         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
721         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
722         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
723
724         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
725         (Vcharset_ideograph_daikanwa): Deleted.
726         (Qideograph_hanziku_{1..12}): Deleted.
727         (Qideograph_daikanwa): Deleted.
728         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
729         Vcharset_ideograph_daikanwa.
730         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
731         `ideograph-hanziku-{1..12}'.
732         (complex_vars_of_mule_charset): Likewise.
733
734 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
735
736         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
737
738         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
739         (Qideograph_gt_pj_{1..11}): Deleted.
740         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
741         (complex_vars_of_mule_charset): Likewise.
742
743 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
744
745         * mule-charset.c (Vcharset_ucs_big5): Deleted.
746         (Vcharset_ideograph_gt): Deleted.
747         (Qucs_big5): Deleted.
748         (Qideograph_gt): Deleted.
749         (syms_of_mule_charset): Delete symbol `ucs-big5' and
750         `ideograph-gt'.
751         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
752         and `ideograph-gt'.
753
754         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
755         (LEADING_BYTE_GT): Deleted.
756         (MIN_CHAR_GT): Deleted.
757         (MAX_CHAR_GT): Deleted.
758
759 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
760
761         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
762
763 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
764
765         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
766         (save_uint16_byte_table): Likewise.
767         (save_byte_table): Likewise; convert values by it.
768         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
769         for `ideographic-structure'.
770         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
771         as the filter for `ideographic-structure'.
772
773 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
774
775         * chartab.c (put_char_composition): New function.
776         (Fput_char_attribute): Use `put_char_composition'; use
777         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
778
779         * fns.c (simplify_char_spec): New function.
780         (char_ref_simplify_spec): New function.
781         (Fchar_refs_simplify_char_specs): New function.
782         (syms_of_fns): Add new builtin function
783         `char-refs-simplify-char-specs'.
784
785 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
786
787         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
788         (Qideograph_cbeta): Deleted.
789         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
790         (complex_vars_of_mule_charset): Likewise.
791
792         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
793         (MIN_CHAR_CBETA): Comment out.
794         (MAX_CHAR_CBETA): Likewise.
795
796 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
797
798         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
799         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
800         CHISE client feature.
801
802 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
803
804         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
805
806 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
807
808         * mule-charset.c (charset_lookup_description_1): Use
809         `NUM_LEADING_BYTES' in UTF-2000.
810
811 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
812
813         * char-ucs.h (GC_CHARSETP): Deleted.
814
815 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
816
817         * char-ucs.h (MAX_CHAR_GT): Updated.
818
819 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
820
821         * text-coding.c: Sync with XEmacs 21.4.10.
822
823 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
824
825         * mule-charset.c (Vcharset_china3_jef): Deleted.
826         (Qchina3_jef): Deleted.
827         (syms_of_mule_charset): Don't define `china3-jef'.
828         (complex_vars_of_mule_charset): Likewise.
829
830         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
831         (MIN_CHAR_CHINA3_JEF): Comment out.
832         (MAX_CHAR_CHINA3_JEF): Comment out.
833
834 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
835
836         * mule-charset.c (Vcharset_ucs_gb): New variable.
837         (Qucs_gb): New variable.
838         (syms_of_mule_charset): Add new symbol `ucs-gb'.
839         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
840
841         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
842
843 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
844
845         * mule-charset.c (charset_code_point): if a coded-charset has a
846         final-byte, don't inherit the builtin range of the mother CCS.
847
848 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
849
850         * mule-charset.c (charset_code_point): Fix problem about
851         inheritance.
852
853 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
854
855         * mule-charset.c (decode_builtin_char): Reorganized.
856
857 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
858
859         * text-coding.c (char_encode_as_entity_reference): Modify for
860         `charset_code_point'.
861         (char_encode_shift_jis): Likewise.
862         (char_encode_big5): Likewise.
863         (char_encode_utf8): Likewise.
864         (char_encode_iso2022): Likewise.
865
866         * mule-charset.c (charset_code_point): Add new argument
867         `defined_only'.
868         (Fencode_char): Add new optional argument `defined_only'.
869
870         * chartab.c (put_char_table): Modify for `charset_code_point'.
871
872         * char-ucs.h (charset_code_point): Add new argument
873         `defined_only'.
874         (encode_char_1): Modify for `charset_code_point'.
875
876 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
877
878         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
879         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
880
881 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
882
883         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
884         (Qjis_x0208): Likewise.
885         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
886         XCHARSET_FINAL(charset).
887         (charset_code_point): Modify condition for final-byte based
888         builtin-chars.
889         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
890         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
891         in UTF-2000; specify `=jis-x0208' as the mother of
892         `japanese-jisx0208-1978', `japanese-jisx0208' and
893         `japanese-jisx0208-1990' in UTF-2000.
894
895 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
896
897         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
898
899 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
900
901         * text-coding.c (decode_coding_utf16): Support UTF-16.
902         (char_encode_utf16): Fixed.
903
904 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
905
906         * text-coding.c (Qutf16): New variable in MULE.
907         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
908         (Fcoding_system_type): Add `utf-16' in MULE.
909         (struct detection_state): Add a structure for utf16 in MULE.
910         (detect_coding_type): Setup st->utf16.mask in MULE.
911         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
912         MULE.
913         (reset_encoding_stream): Use `char_encode_utf16' and
914         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
915         (detect_coding_utf16): New function [incomplete].
916         (decode_coding_utf16): New function [support only UCS-2].
917         (char_encode_utf16): New function.
918         (char_finish_utf16): New function.
919         (syms_of_file_coding): Add new symbol `utf-16'; setup
920         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
921
922         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
923         UTF-2000.
924         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
925         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
926
927 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
928
929         * chartab.c (put_char_table): When a charset is specified as a
930         range in UTF-2000, don't support builtin characters.
931
932 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
933
934         * mule-charset.c (decode_defined_char): Don't refer external
935         database if Qunbound or Qnil are found.
936         (Fsave_charset_mapping_table): Don't define it if
937         HAVE_CHISE_CLIENT is not defined.
938         (Freset_charset_mapping_table): New function.
939         (load_char_decoding_entry_maybe): Store Qnil if a character is not
940         found in external database.
941         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
942         if HAVE_CHISE_CLIENT is not defined; add new builtin function
943         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
944
945 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
946
947         * text-coding.c (decode_coding_utf8): Check CCS is specified or
948         not.
949
950 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
951
952         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
953         Q_lowercase, Q_uppercase in UTF-2000.
954
955         * chartab.c (get_char_table): Add special code for the standard
956         case table to use character attribute `->downcase' and
957         `->uppercase' for case operations in UTF-2000.
958
959         * casetab.c (Qflippedcase): New variable in UTF-2000.
960         (Q_lowercase): Likewise.
961         (Q_uppercase): Likewise.
962         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
963         and `->uppercase' in UTF-2000.
964         (complex_vars_of_casetab): Assign attribute name `downcase' to
965         downcase and CANON table of Vstandard_case_table in UTF-2000;
966         assign attribute name `flippedcase' to upcase and EQV table of
967         Vstandard_case_table in UTF-2000.
968
969 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
970
971         * text-coding.c (decode_add_er_char): Support isolated-chars.
972         (char_encode_as_entity_reference): Likewise.
973
974 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
975
976         * emacs.c (Vutf_2000_lisp_directory): New variable.
977         (Vconfigure_utf_2000_lisp_directory): Likewise.
978         (complex_vars_of_emacs): Add new variable
979         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
980
981 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
982
983         * char-ucs.h (DECODE_CHAR): Delete special code for
984         `chinese-big5-1' and `chinese-big5-2'.
985
986         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
987         (Qbig5_2): Likewise.
988         (decode_defined_char): Support CONVERSION_BIG5_1 and
989         CONVERSION_BIG5_2.
990         (decode_builtin_char): Likewise.
991         (charset_code_point): Likewise.
992         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
993         'conversion in UTF-2000.
994         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
995         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
996         `chinese-big5-2' as children of `chinese-big5'.
997
998         * char-ucs.h (CONVERSION_BIG5_1): New macro.
999         (CONVERSION_BIG5_2): New macro.
1000
1001 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1002
1003         * text-coding.c (char_encode_big5): Support entity-reference.
1004
1005 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1006
1007         * text-coding.c (char_encode_as_entity_reference): New function.
1008         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1009
1010 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1011
1012         * text-coding.c (decode_coding_big5): Support entity-reference
1013         decoding feature.
1014
1015 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1016
1017         * text-coding.c (allocate_coding_system): Initialize initial
1018         charsets for CODESYS_UTF8.
1019         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1020         charset-g2 for CODESYS_UTF8.
1021         (decode_coding_utf8): Use charset-g0.
1022         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1023         to force variants to map to UCS.
1024
1025 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1026
1027         * text-coding.c (Qutf_8_mcs): New variable.
1028         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1029         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1030         instead of `utf-8' in UTF-2000.
1031
1032 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1033
1034         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1035         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1036         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1037         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1038         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1039         CONVERSION_96x96x96x96 are introduced.
1040         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1041         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1042         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1043
1044         * char-ucs.h (CONVERSION_94): New macro.
1045         (CONVERSION_96): New macro.
1046         (CONVERSION_94x94): New macro.
1047         (CONVERSION_96x96): New macro.
1048         (CONVERSION_94x94x94): New macro.
1049         (CONVERSION_96x96x96): New macro.
1050         (CONVERSION_94x94x94x60): New macro.
1051         (CONVERSION_94x94x94x94): New macro.
1052         (CONVERSION_96x96x96x96): New macro.
1053
1054 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1055
1056         * chartab.c (Vcharacter_variant_table): Deleted.
1057         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1058         of `Vcharacter_variant_table'.
1059         (Fput_char_attribute): Likewise.
1060         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1061         (complex_vars_of_chartab): Likewise.
1062
1063 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1064
1065         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1066
1067         * fns.c (Qideographic_structure): New variable.
1068         (Qkeyword_char): New variable.
1069         (ids_format_unit): New function.
1070         (Fideographic_structure_to_ids): New function.
1071         (syms_of_fns): Add new symbols `ideographic-structure' and
1072         `:char'; add new builtin function `ideographic-structure-to-ids'.
1073
1074         * data.c (Fchar_ref_p): New function.
1075         (syms_of_data): Add new builtin function `char-ref-p'.
1076
1077         * chartab.h: Add an EXFUN for `Ffind_char'.
1078
1079 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1080
1081         * text-coding.c (Vcharacter_composition_table): Deleted.
1082         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1083         in every UTF-2000.
1084
1085         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1086         UTF-2000.
1087         (Vcharacter_composition_table): Deleted.
1088         (Fget_composite_char): Use the implementation for external-DB
1089         support in every UTF-2000.
1090         (Fput_char_attribute): Likewise.
1091         (char_attribute_system_db_file): Don't define if external-DB
1092         feature is not available.
1093         (Fsave_char_attribute_table): Likewise.
1094         (Fmount_char_attribute_table): Likewise.
1095         (Fclose_char_attribute_table): Likewise.
1096         (Freset_char_attribute_table): Likewise.
1097         (Fload_char_attribute_table): Likewise.
1098         (syms_of_chartab): Don't define `save-char-attribute-table',
1099         `mount-char-attribute-table', `reset-char-attribute-table',
1100         `close-char-attribute-table' and `load-char-attribute-table' if
1101         external-DB feature is not available.
1102         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1103
1104 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1105
1106         * text-coding.c (Qcomposition): Add extern if external-DB feature
1107         is supported.
1108         (Vcharacter_composition_table): Don't add extern if external-DB
1109         feature is supported.
1110         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1111         character composition rule if external-DB feature is supported.
1112
1113         * chartab.c (Vcharacter_composition_table): Don't define if
1114         external-DB feature is supported.
1115         (Qcomposition): New variable.
1116         (Fget_composite_char): New implementation for external-DB support.
1117         (Fput_char_attribute): Use `composition' property of each
1118         character instead of `Vcharacter_composition_table' to store
1119         character-composition rules if external-DB feature is supported.
1120         (syms_of_chartab): Add new symbol `composition'.
1121         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1122         external-DB feature is supported.
1123
1124 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1125
1126         * chartab.c (Vchar_db_stingy_mode): New variable.
1127         (load_char_attribute_maybe): Close database if
1128         Vchar_db_stingy_mode is not NIL.
1129         (Fload_char_attribute_table_map_function): Use
1130         `get_char_id_table_0' instead of `get_char_id_table'.
1131         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1132
1133         * chartab.h (get_char_id_table_0): New inline function.
1134         (get_char_id_table): Use `get_char_id_table_0'.
1135
1136 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1137
1138         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1139         and `COMPOSE_ADD_CHAR'.
1140         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1141
1142 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1143
1144         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1145         instead of `DECODE_ADD_UCS_CHAR'.
1146         (COMPOSE_ADD_CHAR): Likewise.
1147
1148 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1149
1150         * text-coding.c (decode_flush_er_chars): New inline function.
1151         (decode_add_er_char): New function.
1152         (decode_coding_utf8): Use `decode_flush_er_chars' and
1153         `decode_add_er_char'.
1154
1155 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1156
1157         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1158         done before `decode_output_utf8_partial_char'.
1159
1160         * mule-charset.c (complex_vars_of_mule_charset): Specify
1161         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1162         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1163
1164 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1165
1166         * mule-charset.c (decode_defined_char): New function; search
1167         mother.
1168         (decode_builtin_char): Don't search mother if
1169         XCHARSET_MAX_CODE(charset) == 0.
1170         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1171         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1172         (Fdecode_char): Use `decode_defined_char' instead of
1173         `DECODE_DEFINED_CHAR'.
1174         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1175         mother of `Vcharset_ucs_jis'.
1176
1177         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1178         instead of `DECODE_DEFINED_CHAR'.
1179
1180         * char-ucs.h (decode_defined_char): Renamed from
1181         `DECODE_DEFINED_CHAR'; changed to normal function.
1182         (DECODE_CHAR): Use `decode_defined_char' instead of
1183         `DECODE_DEFINED_CHAR'.
1184
1185         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1186
1187 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1188
1189         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1190
1191         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1192         variable.
1193         (Quse_entity_reference): New variable.
1194         (Qd): New variable.
1195         (Qx): New variable.
1196         (QX): New variable.
1197         (coding_system_description): Add description for
1198         `ccs_priority_list'.
1199         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1200         (allocate_coding_system): Initialize `ccs_priority_list' in
1201         UTF-2000.
1202         (Fmake_coding_system): Add description about
1203         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1204         (codesys).
1205         (Fcoding_system_property): Accept `disable-composition' and
1206         `use-entity-reference' in UTF-2000.
1207         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1208         in UTF-2000.
1209         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1210         (decode_coding_utf8): Decode entity-reference if
1211         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1212         (char_encode_utf8): Encode non-Unicode characters as
1213         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1214         (str->codesys).
1215         (syms_of_file_coding): Add new symbols `use-entity-reference',
1216         `d', `x', `X'.
1217         (vars_of_file_coding): Add new variable
1218         `coded-charset-entity-reference-alist'.
1219         (complex_vars_of_file_coding): Declare `disable-composition' and
1220         `use-entity-reference' to be coding-system-properties in UTF-2000.
1221
1222         * file-coding.h (struct Lisp_Coding_System): Add new member
1223         `use_entity_reference' and `ccs_priority_list'.
1224         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1225         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1226         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1227
1228 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1229
1230         * chartab.c (save_uint8_byte_table): Don't clear the table.
1231         (save_uint16_byte_table): Likewise.
1232         (save_byte_table): Likewise.
1233         (Fmount_char_attribute_table): New function.
1234         (syms_of_chartab): Add new builtin function
1235         `mount-char-attribute-table'.
1236
1237 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1238
1239         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1240         "w+" mode.
1241         (load_char_decoding_entry_maybe): Open database as read-only mode.
1242
1243         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1244         open database as "w+" mode.
1245         (load_char_attribute_maybe): Open database as read-only mode.
1246         (Fload_char_attribute_table): Likewise.
1247
1248 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1249
1250         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1251         (char_table_description): Delete member `db_file'.
1252         (Fmake_char_table): Don't refer `ct->db_file'.
1253         (Fcopy_char_table): Likewise.
1254         (Fsave_char_attribute_table): Likewise.
1255         (Fclose_char_attribute_table): Likewise.
1256         (Freset_char_attribute_table): Likewise.
1257         (load_char_attribute_maybe): Likewise.
1258         (Fload_char_attribute_table): Likewise.
1259
1260         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1261
1262 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1263
1264         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1265         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1266         `ct->db' is living.
1267         (load_char_attribute_maybe): Likewise.
1268         (Fload_char_attribute_table): Likewise.
1269
1270 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1271
1272         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1273         `ct->db_file' unconditionally.
1274
1275 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1276
1277         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1278         UTF-2000.
1279         (char_table_description): Add description for `db_file' and `db'
1280         in UTF-2000.
1281         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1282         UTF-2000.
1283         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1284         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1285         (Fclose_char_attribute_table): New function.
1286         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1287         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1288         and `cit->db'.
1289         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1290         (syms_of_chartab): Add new builtin function
1291         `Fclose_char_attribute_table'.
1292
1293 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1294
1295         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1296         `db' in UTF-2000.
1297         (load_char_attribute_maybe): Change interface.
1298         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1299
1300 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1301
1302         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1303
1304 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1305
1306         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1307         instead of `DECODE_CHAR' for mother; don't use special code for
1308         chinese-big5 to use code space of chinese-big5-1 and
1309         chinese-big5-2.
1310         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1311         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1312
1313         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1314         (MAX_CHAR_BIG5_CDP): Revival.
1315
1316 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1317
1318         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1319         the XLFD registry-encoding name of `chinese-big5'.
1320
1321 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1322
1323         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1324         (Qchinese_big5_cdp): Deleted.
1325         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1326         (complex_vars_of_mule_charset): Delete coded-charset
1327         `chinese-big5-cdp'.
1328
1329         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1330         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1331         `CHARSET_ID_OFFSET - n' for private CCS.
1332         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1333         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1334         of `MIN_LEADING_BYTE'.
1335         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1336         `(CHARSET_ID_OFFSET - 97)'.
1337         (MIN_CHAR_BIG5_CDP): Deleted.
1338         (MAX_CHAR_BIG5_CDP): Deleted.
1339
1340 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1341
1342         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1343
1344 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1345
1346         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1347         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1348         chartab.c].
1349
1350         * chartab.c (Vutf_2000_version): Moved to mule.c.
1351         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1352
1353 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1354
1355         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1356         when HAVE_CHISE_CLIENT is not defined.
1357
1358         * mule.c (vars_of_mule): Provide feature `chise' when
1359         HAVE_CHISE_CLIENT is defined.
1360
1361 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1362
1363         * config.h.in (UTF2000): Add comment.
1364         (HAVE_CHISE_CLIENT): New macro.
1365
1366 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1367
1368         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1369         CONSP.
1370         (Fput_char_attribute): Likewise.
1371         (char_attribute_system_db_file): Encode file-name of attribute.
1372         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1373         the initial value.
1374
1375 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1376
1377         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1378         (Fsave_charset_mapping_table): Use
1379         `char_attribute_system_db_file'.
1380         (load_char_decoding_entry_maybe): Likewise.
1381
1382         * chartab.h (Qsystem_char_id): New external variable.
1383         (char_attribute_system_db_file): New prototype.
1384
1385         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1386         (char_attribute_system_db_file): New function.
1387         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1388         (Freset_char_attribute_table): Likewise.
1389         (load_char_attribute_maybe): Likewise.
1390         (Fload_char_attribute_table): Likewise.
1391         (syms_of_chartab): Add new symbol `system-char-id'.
1392
1393 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1394
1395         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1396         `XCHARSET_GRAPHIC(ccs)'.
1397
1398 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1399
1400         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1401
1402 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1403
1404         * chartab.c (Q_ucs_variants): New variable.
1405         (syms_of_chartab): Add new symbol `->ucs-variants'.
1406         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1407         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1408         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1409
1410         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1411
1412         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1413         `HAVE_DATABASE' is defined.
1414         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1415         `HAVE_DATABASE' is defined.
1416
1417 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1418
1419         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1420         attribute-table.
1421         (Freset_char_attribute_table): New function.
1422         (syms_of_chartab): Add new builtin function
1423         `reset-char-attribute-table'.
1424
1425 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1426
1427         * chartab.c (load_char_attribute_maybe): Don't make directories.
1428
1429 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1430
1431         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1432
1433         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1434         for decoding-table.
1435
1436 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1437
1438         * mule-charset.c (Fsave_charset_mapping_table): Use
1439         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1440
1441         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1442         instead of `XCHARSET_CHARS'.
1443
1444 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1445
1446         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1447         (XCHARSET_BYTE_SIZE): Likewise.
1448
1449         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1450         mule-charset.c].
1451         (XCHARSET_BYTE_SIZE): Likewise.
1452
1453 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1454
1455         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1456         data-directory to store database.
1457         (Fsave_char_attribute_table): Likewise.
1458         (load_char_attribute_maybe): Likewise.
1459         (Fload_char_attribute_table): Likewise.
1460
1461 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1462
1463         * mule-charset.c (Fsave_charset_mapping_table): New function.
1464         (syms_of_mule_charset): Add new builtin function
1465         `save-charset-mapping-table'.
1466
1467 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1468
1469         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1470         (get_ccs_octet_table): New inline function.
1471         (put_ccs_octet_table): Likewise.
1472         (decoding_table_put_char): Use `get_ccs_octet_table' and
1473         `put_ccs_octet_table'.
1474         (decoding_table_remove_char): Use `decoding_table_put_char'.
1475         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1476
1477         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1478         into encoding_table.
1479         (make_charset): Use Qunbound instead Qnil as initial value of
1480         decoding_table.
1481
1482 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1483
1484         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1485         element is Qunloaded.
1486         (map_over_uint16_byte_table): Likewise.
1487         (map_over_byte_table): Likewise.
1488         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1489         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1490         database support, load encoding-table of the specified
1491         coded-charset if it is not loaded yet.
1492         (save_uint8_byte_table): New function of UTF-2000 with external
1493         database support.
1494         (save_uint16_byte_table): Likewise.
1495         (save_byte_table): Likewise.
1496         (Fput_char_attribute): Don't store value into external database
1497         even if the external database feature is supported in UTF-2000;
1498         set `attribute' as name of char-table if the external database
1499         feature is supported.
1500         (Fsave_char_attribute_table): New function in UTF-2000.
1501         (syms_of_chartab): Add new builtin function
1502         `save-char-attribute-table' in UTF-2000.
1503
1504 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1505
1506         * chartab.c (char_attribute_table_to_put): New variable in
1507         UTF-2000.
1508         (Qput_char_table_map_function): Likewise.
1509         (value_to_put): Likewise.
1510         (Fput_char_table_map_function): New function in UTF-2000.
1511         (put_char_table): Use `Fmap_char_attribute' for
1512         CHARTAB_RANGE_CHARSET in UTF-2000.
1513         (Fput_char_attribute): Store symbol instead of string in
1514         `XCHAR_TABLE_NAME (table)'.
1515         (load_char_attribute_maybe): Likewise.
1516         (syms_of_chartab): Add new symbol/function
1517         `put-char-table-map-function'.
1518
1519 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1520
1521         * database.h: Add new EXFUN for `Fmap_database'.
1522
1523         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1524         (syms_of_database): Likewise.
1525
1526         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1527         UTF-2000.
1528         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1529         (XCHAR_TABLE_UNLOADED): Likewise.
1530
1531         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1532         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1533         HAVE_DATABASE is defined.
1534         (char_attribute_table_to_load): New variable of UTF-2000 with
1535         external database support.
1536         (Qload_char_attribute_table_map_function): Likewise.
1537         (Fload_char_attribute_table_map_function): New function of
1538         UTF-2000 with external database support.
1539         (Fload_char_attribute_table): New function of UTF-2000.
1540         (Fmap_char_attribute): Call Fload_char_attribute_table if
1541         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1542         (syms_of_chartab): Add new symbol and function
1543         `load-char-attribute-table-map-function' in UTF-2000 with external
1544         database support; add new function `load-char-attribute-table' in
1545         UTF-2000.
1546
1547 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1548
1549         * chartab.h (load_char_attribute_maybe): New prototype for
1550         UTF-2000 with DATABASE support.
1551         (get_char_id_table): Use `load_char_attribute_maybe' if
1552         HAVE_DATABASE is defined.
1553
1554         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1555         with DATABASE support.
1556
1557 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1558
1559         * chartab.c (Fput_char_attribute): Use S-expression as key of
1560         external database.
1561
1562         * chartab.h (get_char_id_table): Use S-expression as key of
1563         external database.
1564
1565 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1566
1567         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1568         if an element is not loaded, load the corresponding attributes
1569         from an external database.
1570         (map_over_uint16_byte_table): Likewise.
1571         (map_over_byte_table): Likewise.
1572         (map_char_table): Modify for `map_over_uint8_byte_table',
1573         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1574         element is not loaded, load the corresponding attributes from an
1575         external database.
1576         (Fput_char_attribute): Change initial values to Qunloaded.
1577
1578         * chartab.h (get_char_id_table): If a character attribute is not
1579         loaded and the attribute value is not found in an external
1580         database, store Qunbound as the attribute value.
1581
1582 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1583
1584         * chartab.c (BT_UINT8_unloaded): New macro.
1585         (UINT8_VALUE_P): Accept Qunloaded.
1586         (UINT8_ENCODE): Likewise.
1587         (UINT8_DECODE): Likewise.
1588         (BT_UINT16_unloaded): New macro.
1589         (UINT16_VALUE_P): Accept Qunloaded.
1590         (UINT16_ENCODE): Likewise.
1591         (UINT16_DECODE): Likewise.
1592         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1593         BT_UINT16_unloaded.
1594         (mark_char_table): Mark `ct->name' in UTF-2000.
1595         (char_table_description): Add `name' in UTF-2000.
1596         (Fmake_char_table): Initialize `ct->name'.
1597         (Fcopy_char_table): Copy `ct->name'.
1598         (Fput_char_attribute): Store value into an external database if
1599         HAVE_DATABASE is defined.
1600
1601         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1602         UTF-2000.
1603         (CHAR_TABLE_NAME): New macro in UTF-2000.
1604         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1605         (get_char_id_table): Try to read an external database if Qunloaded
1606         is stored in a table.
1607
1608         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1609         Qunloaded.
1610
1611 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1612
1613         * database.h: Add EXFUN definitions for Fopen_database,
1614         Fput_database, Fget_database and Fclose_database.
1615
1616         * data.c (Qunloaded): New variable in UTF-2000.
1617
1618         * lisp.h (Qunloaded): New variable in UTF-2000.
1619
1620 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1621
1622         * mule-charset.c (put_char_ccs_code_point): Modify for
1623         `decoding_table_remove_char' and `decoding_table_put_char'.
1624         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1625
1626         * char-ucs.h (decoding_table_remove_char): Change arguments to
1627         hide decoding_table vector.
1628         (decoding_table_put_char): Likewise.
1629
1630 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1631
1632         * mule-charset.c (decoding_table_remove_char): Moved to
1633         char-ucs.h.
1634         (decoding_table_put_char): Likewise.
1635
1636         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1637         from mule-charset.c].
1638         (decoding_table_remove_char): New inline function [moved from
1639         mule-charset.c].
1640         (decoding_table_put_char): Likewise.
1641
1642 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1643
1644         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1645         extension.
1646
1647 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1648
1649         * mule-charset.c (decode_builtin_char): Support mother charsets.
1650
1651 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1652
1653         * mule-charset.c (Q94x94x60): New variable.
1654         (charset_code_point): Support conversion `94x94x60'.
1655         (Fmake_charset): Likewise.
1656         (syms_of_mule_charset): Add new symbol `94x94x60'.
1657
1658         * char-ucs.h (CONVERSION_94x94x60): New macro.
1659
1660 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1661
1662         * mule-charset.c (charset_code_point): Unify code about
1663         `code-offset'.
1664
1665 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1666
1667         * mule-charset.c (charset_code_point): Merge code about builtin
1668         characters into code about mother charsets; don't use
1669         `range_charset_code_point'.
1670         (range_charset_code_point): Deleted.
1671
1672 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1673
1674         * mule-charset.c (Qcode_offset): New variable.
1675         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1676         `max-code'; accept new property `code-offset'.
1677         (syms_of_mule_charset): Add new symbol `code-offset'.
1678
1679 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1680
1681         * mule-charset.c (range_charset_code_point): Fixed.
1682
1683 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1684
1685         * mule-charset.c (decode_builtin_char): Change semantics of
1686         code-offset of coded-charset.
1687         (charset_code_point): Likewise.
1688         (range_charset_code_point): Likewise.
1689         (complex_vars_of_mule_charset): Modify for the change.
1690
1691 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1692
1693         * mule-charset.c (Fencode_char): Reverse arguments.
1694
1695         * mule-charset.c (charset_code_point): Fixed.
1696
1697 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1698
1699         * mule-charset.c (Vcharset_mojikyo): Deleted.
1700         (Vcharset_mojikyo_2022_1): Deleted.
1701         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1702         (Qmin_code): New variable in UTF-2000.
1703         (Qmax_code): Likewise.
1704         (Qmother): Likewise.
1705         (Qconversion): Likewise.
1706         (Q94x60): Likewise.
1707         (Qmojikyo): Deleted.
1708         (Qmojikyo_2022_1): Deleted.
1709         (Qmojikyo_pj_{1..22}): Deleted.
1710         (mark_charset): Mark `cs->mother'.
1711         (charset_description): Add description for `mother'.
1712         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1713         new arguments `mother' and `conversion'; use
1714         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1715         (charset_code_point): Moved from char-ucs.h; support `mother'
1716         charset feature.
1717         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1718         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1719         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1720         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1721         allow 2 as the value of `graphic' in UTF-2000; add new properties
1722         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1723         require `final' in UTF-2000; modify for `make_charset'.
1724         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1725         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1726         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1727         (Fencode_char): New function.
1728         (syms_of_mule_charset): Add new builtin function `encode-char' in
1729         UTF-2000; add new symbols `min-code', `max-code', `mother',
1730         `conversion' and `94x60'; delete symbols `mojikyo',
1731         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1732         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1733         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1734         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1735
1736         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1737         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1738
1739         * char-ucs.h (Vcharset_mojikyo): Deleted.
1740         (Vcharset_mojikyo_2022_1): Deleted.
1741         (LEADING_BYTE_MOJIKYO): Deleted.
1742         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1743         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1744         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1745         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1746         add new member `mother'; add new member `conversion'.
1747         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1748         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1749         (CHARSET_MOTHER): New macro.
1750         (CHARSET_CONVERSION): New macro.
1751         (CONVERSION_IDENTICAL): New macro.
1752         (CONVERSION_94x60): New macro.
1753         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1754         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1755         (XCHARSET_MOTHER): New macro.
1756         (XCHARSET_CONVERSION): New macro.
1757         (MIN_CHAR_MOJIKYO): Deleted.
1758         (MAX_CHAR_MOJIKYO): Deleted.
1759         (DECODE_MOJIKYO_2022): Deleted.
1760         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1761         (charset_code_point): Changed to non-inline function.
1762         (encode_char_1): Use `charset_code_point'.
1763         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1764
1765 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1766
1767         * lread.c (read_compiled_function): Fix prototype.
1768         (read_vector): Likewise.
1769
1770 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1771
1772         * lrecord.h (struct lrecord_header): Delete `older'.
1773         (set_lheader_implementation): Delete code for `older'.
1774         (set_lheader_older_implementation): Deleted.
1775         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1776         (OLDER_RECORD_P): Deleted.
1777         (OLDER_RECORD_HEADER_P): Deleted.
1778         (alloc_older_lcrecord): Deleted.
1779         (alloc_older_lcrecord_type): Deleted.
1780
1781         * alloc.c (all_older_lcrecords): Deleted.
1782         (alloc_older_lcrecord): Deleted.
1783         (disksave_object_finalization_1): Delete code for older objects.
1784         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1785         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1786
1787 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1788
1789         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1790         instead of `make_older_vector'.
1791         (put_char_ccs_code_point): Likewise.
1792         (mark_charset): Mark `cs->decoding_table'.
1793         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1794
1795         * lisp.h (make_older_vector): Deleted.
1796         (make_vector_newer): Deleted.
1797
1798         * config.h.in (HAVE_GGC): Deleted.
1799
1800         * alloc.c (make_older_vector): Deleted.
1801         (make_vector_newer_1): Deleted.
1802         (make_vector_newer): Deleted.
1803
1804 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1805
1806         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1807         (Qideograph_daikanwa_2): New variable.
1808         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1809         (complex_vars_of_mule_charset): Add new coded-charset
1810         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1811         `LEADING_BYTE_DAIKANWA'.
1812
1813         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1814         (LEADING_BYTE_DAIKANWA_1): New macro.
1815         (LEADING_BYTE_DAIKANWA_2): New macro.
1816         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1817
1818 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1819
1820         * mule-charset.c (complex_vars_of_mule_charset): Change
1821         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1822         the second revised version.
1823
1824 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1825
1826         * mule-charset.c (Vcharset_ucs_smp): New variable.
1827         (Vcharset_ucs_sip): New variable.
1828         (Qucs_smp): New variable.
1829         (Qucs_sip): New variable.
1830         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1831         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1832         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1833         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1834         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1835         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1836
1837         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1838         (LEADING_BYTE_UCS_SIP): New macro.
1839         (MIN_CHAR_SMP): New macro.
1840         (MAX_CHAR_SMP): New macro.
1841         (MIN_CHAR_SIP): New macro.
1842         (MAX_CHAR_SIP): New macro.
1843
1844 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1845
1846         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1847         utf-2000.
1848
1849 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1850
1851         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1852         value; don't store value into `encoding_table' of `Lisp_Charset'.
1853         (mark_charset): `encoding_table' was deleted.
1854         (charset_description): Likewise.
1855         (make_charset): Likewise.
1856         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1857         `put_char_ccs_code_point'.
1858
1859         * chartab.h (Fput_char_attribute): New EXFUN.
1860
1861         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1862         is unified with normal symbol space.
1863         (Fget_char_attribute): Likewise.
1864         (Fput_char_attribute): Likewise; behavior of
1865         `put_char_ccs_code_point' is changed.
1866
1867         * char-ucs.h: Include "elhash.h".
1868         (Vchar_attribute_hash_table): New external variable.
1869         (struct Lisp_Charset): Delete `encoding_table'.
1870         (CHARSET_ENCODING_TABLE): New implementation; refer
1871         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1872         `Lisp_Charset'.
1873
1874 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1875
1876         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1877         (cs) == 0.
1878
1879 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1880
1881         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1882         `chinese-big5'.
1883
1884 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1885
1886         * chartab.c (uint8_byte_table_description): New constant.
1887         (uint8-byte-table): Use `uint8_byte_table_description'.
1888         (uint16_byte_table_description): New constant.
1889         (uint16-byte-table): Use `uint16_byte_table_description'.
1890
1891 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1892
1893         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1894         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1895
1896 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1897
1898         * mule-charset.c (Vcharset_ucs_ks): New variable.
1899         (Qucs_ks): New variable.
1900         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1901         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1902
1903         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1904
1905 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1906
1907         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1908         (Fdecode_char): Likewise.
1909
1910         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1911         chartab.h.
1912         (Fdefine_char): Modify for Fdecode_char.
1913         (Ffind_char): Likewise.
1914
1915         * mule-charset.c (Fdecode_char): Add new optional argument
1916         `defined-only'.
1917         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1918
1919 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1920
1921         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1922         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1923         (allocate_coding_system): Initialize initial-charsets of
1924         CODESYS_BIG5 in XEmacs UTF-2000.
1925         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1926         CODESYS_BIG5 in XEmacs UTF-2000.
1927         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1928         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1929
1930         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1931         variables.
1932         (Qideograph_hanziku_{1 .. 12}): Likewise.
1933         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1934         .. 12}'.
1935         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1936         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1937         `ideograph-hanziku-{1 .. 12}'.
1938
1939         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1940         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1941         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1942         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1943         (DECODE_DEFINED_CHAR): New inline function.
1944         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1945
1946 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1947
1948         * mule-charset.c (Vcharset_china3_jef): Renamed from
1949         `Vcharset_japanese_jef_china3'.
1950         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1951         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1952         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1953         (syms_of_mule_charset): Rename `china3-jef' from
1954         `japanese-jef-china3'.
1955         (complex_vars_of_mule_charset): Likewise; rename
1956         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1957
1958         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1959         `LEADING_BYTE_JEF_CHINA3'.
1960         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1961         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1962
1963 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1964
1965         * mule-charset.c (encode_builtin_char_1): Comment out special code
1966         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1967
1968         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1969         (MAX_CHAR_MOJIKYO_0): Comment out.
1970         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1971         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1972         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1973         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1974
1975 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1976
1977         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1978         (Qideograph_cbeta): New variable.
1979         (encode_builtin_char_1): Comment out special code for
1980         coded-charset `mojikyo' and `japanese-jef-china3'.
1981         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1982         (complex_vars_of_mule_charset): Add new coded-charset
1983         `ideograph-cbeta'.
1984
1985         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1986         (MIN_CHAR_CBETA): New macro.
1987         (MAX_CHAR_CBETA): New macro.
1988
1989 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1990
1991         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1992         (LEADING_BYTE_JEF_CHINA3): New macro.
1993         (MIN_CHAR_JEF_CHINA3): New macro.
1994         (MAX_CHAR_JEF_CHINA3): Likewise.
1995         (DECODE_CHAR): Fixed.
1996
1997 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1998
1999         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2000         (Qjapanese_jef_china3): New variable.
2001         (encode_builtin_char_1): Support `japanese-jef-china3'.
2002         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2003         (complex_vars_of_mule_charset): Add new coded-charset
2004         `japanese-jef-china3'.
2005
2006 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2007
2008         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2009         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2010         94^4, 96^3, 96^4, 128^n and 256^n set.
2011         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2012         (map_char_table): Likewise.
2013
2014 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2015
2016         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2017         UTF-2000.
2018
2019 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2020
2021         * chartab.h (get_char_id_table): New inline function.
2022
2023         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2024         function.
2025
2026 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2027
2028         * chartab.h (decode_char_table_range): New prototype in XEmacs
2029         UTF-2000.
2030         (put_char_id_table): New inline function in XEmacs UTF-2000.
2031
2032         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2033         function.
2034         (decode_char_table_range): Delete static declaration in XEmacs
2035         UTF-2000.
2036
2037 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2038
2039         * chartab.c (put_char_id_table): Use `put_char_table'.
2040
2041 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2042
2043         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2044         (map_over_uint16_byte_table): Likewise.
2045         (map_over_byte_table): Likewise.
2046         (map_char_table): Modify for `map_over_uint8_byte_table',
2047         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2048         UTF-2000.
2049
2050 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2051
2052         * chartab.c (struct map_char_table_for_charset_arg): New
2053         structure.
2054         (map_char_table_for_charset_fun): New function.
2055         (map_char_table): Use `map_char_table' for encoding_table of
2056         `range->charset'.
2057
2058 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2059
2060         * chartab.c (map_char_table): Check a character is found in
2061         range->charset instead of non default value is defined in
2062         char-table when range is CHARTAB_RANGE_ROW.
2063
2064 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2065
2066         * chartab.c (map_char_id_table): Deleted.
2067         (Fmap_char_attribute): Use `map_char_table' instead of
2068         `map_char_id_table'.
2069
2070 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2071
2072         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2073         UTF-2000.
2074         (update_syntax_table): Deleted in XEmacs UTF-2000.
2075
2076         * syntax.c (find_defun_start): Use `syntax_table' instead of
2077         `mirror_syntax_table' in XEmacs UTF-2000.
2078         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2079         UTF-2000.
2080         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2081         XEmacs UTF-2000.
2082         (Fmatching_paren): Likewise.
2083         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2084         in XEmacs UTF-2000.
2085         (find_start_of_comment): Likewise.
2086         (find_end_of_comment): Likewise.
2087         (Fforward_comment): Likewise.
2088         (scan_lists): Likewise.
2089         (char_quoted): Likewise.
2090         (Fbackward_prefix_chars): Likewise.
2091         (scan_sexps_forward): Likewise.
2092         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2093         (update_syntax_table): Likewise.
2094
2095         * search.c (skip_chars): Use `syntax_table' instead of
2096         `mirror_syntax_table' in XEmacs UTF-2000.
2097         (wordify): Likewise.
2098         (Freplace_match): Likewise.
2099
2100         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2101         `mirror_syntax_table' in XEmacs UTF-2000.
2102         (WORDCHAR_P_UNSAFE): Likewise.
2103         (re_match_2_internal): Likewise.
2104
2105         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2106         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2107
2108         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2109         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2110
2111         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2112         XEmacs UTF-2000.
2113
2114         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2115         UTF-2000.
2116         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2117         (char_table_description): Delete `mirror_table' in XEmacs
2118         UTF-2000.
2119         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2120         UTF-2000.
2121         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2122         (Fcopy_char_table): Likewise.
2123         (put_char_table): Don't call `update_syntax_table' in XEmacs
2124         UTF-2000.
2125
2126         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2127         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2128         (casify_region_internal): Likewise.
2129
2130         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2131
2132         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2133         `mirror_syntax_table' in XEmacs UTF-2000.
2134
2135         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2136         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2137         (Fexpand_abbrev): Likewise.
2138
2139 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2140
2141         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2142
2143 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2144
2145         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2146         (map_over_uint16_byte_table): Likewise.
2147         (map_over_byte_table): Likewise.
2148         (get_char_id_table): Refer `cit->default_value'.
2149         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2150         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2151         of character-id ranges.
2152         (mark_char_table): Mark `ct->default_value'.
2153         (char_table_description): Add `default_value'.
2154         (fill_char_table): Use `default_value'.
2155         (decode_char_table_range): Decode `nil' as
2156         `CHARTAB_RANGE_DEFAULT'.
2157         (get_char_id_table): Refer `cit->default_value'.
2158         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2159         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2160         temporary hack; check value of char-table is bound or not.
2161         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2162
2163         * chartab.h (struct Lisp_Char_Table): Add new member
2164         `default_value' in XEmacs UTF-2000.
2165         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2166         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2167         UTF-2000.
2168
2169 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2170
2171         * chartab.h (Lisp_Char_ID_Table): Deleted.
2172
2173         * chartab.c (char_table_description): Fix typo.
2174         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2175         `Lisp_Char_ID_Table'.
2176
2177 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2178
2179         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2180         `CHAR_ID_TABLE_P'.
2181
2182         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2183         `CHAR_ID_TABLE_P'.
2184
2185         * chartab.h (XCHAR_ID_TABLE): Deleted.
2186         (XSETCHAR_ID_TABLE): Deleted.
2187         (CHAR_ID_TABLE_P): Deleted.
2188
2189         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2190         `CHAR_ID_TABLE_P'.
2191         (Fget_composite_char): Likewise.
2192         (put_char_table): Likewise.
2193         (add_char_attribute_alist_mapper): Fixed.
2194         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2195         `CHAR_ID_TABLE_P'.
2196         (Fget_char_attribute): Likewise.
2197         (Fget_char_attribute): Likewise.
2198         (Fmap_char_attribute): Likewise.
2199
2200         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2201         `CHAR_ID_TABLE_P'.
2202         (encode_char_1): Likewise.
2203
2204 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2205
2206         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2207         `XCHAR_ID_TABLE'.
2208
2209         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2210         instead of `XCHAR_ID_TABLE'.
2211         (remove_char_ccs): Likewise.
2212
2213         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2214         `XCHAR_ID_TABLE'.
2215         (Fget_composite_char): Likewise.
2216         (Fchar_variants): Likewise.
2217         (put_char_table): Likewise.
2218         (add_char_attribute_alist_mapper): Likewise.
2219         (Fchar_attribute_alist): Likewise.
2220         (Fget_char_attribute): Likewise.
2221         (Fput_char_attribute): Likewise.
2222         (Fmap_char_attribute): Likewise.
2223         (Fmap_char_attribute): Likewise.
2224
2225         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2226         `XCHAR_ID_TABLE'.
2227         (encode_char_1): Likewise.
2228
2229 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2230
2231         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2232         `Lisp_Char_ID_Table'.
2233         (mark_char_id_table): Deleted.
2234         (print_char_id_table): Likewise.
2235         (char_id_table_equal): Likewise.
2236         (char_id_table_hash): Likewise.
2237         (char_id_table_description): Likewise.
2238         (char_id_table): Likewise.
2239         (make_char_id_table): Use `Fmake_char_table' and
2240         `fill_char_table'.
2241         (get_char_id_table): Use `Lisp_Char_Table' instead of
2242         `Lisp_Char_ID_Table'.
2243         (put_char_id_table): Likewise.
2244         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2245         `XCHAR_ID_TABLE'.
2246         (Fremove_char_attribute): Likewise.
2247         (syms_of_chartab): Don't define type `char-id-table'.
2248
2249         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2250         (char_id_table): Likewise.
2251         (GC_CHAR_ID_TABLE_P): Likewise.
2252         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2253         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2254         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2255         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2256         (get_char_id_table): Use `Lisp_Char_Table' instead of
2257         `Lisp_Char_ID_Table'.
2258         (put_char_id_table_0): Likewise.
2259         (put_char_id_table): Likewise.
2260
2261 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2262
2263         * chartab.h: Lisp_Byte_Table related codes are moved from
2264         chartab.h.
2265
2266         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2267
2268 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2269
2270         * chartab.h: Don't include "chartab.h".
2271         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2272         (Lisp_Char_ID_Table): Likewise.
2273         (char_id_table): Likewise.
2274         (XCHAR_ID_TABLE): Likewise.
2275         (XSETCHAR_ID_TABLE): Likewise.
2276         (CHAR_ID_TABLE_P): Likewise.
2277         (GC_CHAR_ID_TABLE_P): Likewise.
2278         (get_char_id_table): Likewise.
2279
2280         * char-ucs.h: Include "chartab.h".
2281         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2282         (Lisp_Char_ID_Table): Likewise.
2283         (char_id_table): Likewise.
2284         (XCHAR_ID_TABLE): Likewise.
2285         (XSETCHAR_ID_TABLE): Likewise.
2286         (CHAR_ID_TABLE_P): Likewise.
2287         (GC_CHAR_ID_TABLE_P): Likewise.
2288         (get_char_id_table): Likewise.
2289
2290 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2291
2292         * chartab.c (copy_uint8_byte_table): New function.
2293         (copy_uint16_byte_table): New function.
2294         (copy_byte_table): New function.
2295         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2296         characters to call.
2297         (map_over_uint16_byte_table): Likewise.
2298         (map_over_byte_table): Likewise.
2299         (get_byte_table): Move prototype to chartab.h.
2300         (put_byte_table): Likewise.
2301         (put_char_id_table_0): Moved to chartab.h.
2302         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2303         (char_table_entry_equal): Likewise.
2304         (char_table_entry_hash): Likewise.
2305         (char_table_entry_description): Likewise.
2306         (char_table_entry): Likewise.
2307         (make_char_table_entry): Likewise.
2308         (copy_char_table_entry): Likewise.
2309         (get_non_ascii_char_table_value): Likewise.
2310         (map_over_charset_ascii): Likewise.
2311         (map_over_charset_control_1): Likewise.
2312         (map_over_charset_row): Likewise.
2313         (map_over_other_charset): Likewise.
2314         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2315         (print_char_table): Likewise.
2316         (char_table_equal): Likewise.
2317         (char_table_hash): Likewise.
2318         (char_table_description): Likewise.
2319         (fill_char_table): Likewise.
2320         (Fcopy_char_table): Likewise.
2321         (get_char_table): Likewise.
2322         (Fget_range_char_table): Likewise.
2323         (put_char_table): Likewise.
2324         (map_char_table): Likewise.
2325         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2326         UTF-2000.
2327
2328 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2329
2330         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2331         `Vauto_fill_chars' in XEmacs UTF-2000.
2332
2333         * chartab.h (get_byte_table): New prototype [moved from
2334         chartab.c].
2335         (put_byte_table): Likewise [moved from chartab.c].
2336         (put_char_id_table_0): New inline function [moved from chartab.c].
2337         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2338         (Lisp_Char_Table_Entry): Likewise.
2339         (char_table_entry): Likewise.
2340         (XCHAR_TABLE_ENTRY): Likewise.
2341         (XSETCHAR_TABLE_ENTRY): Likewise.
2342         (CHAR_TABLE_ENTRYP): Likewise.
2343         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2344         (NUM_ASCII_CHARS): Likewise.
2345         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2346         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2347
2348 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2349
2350         * chartab.c (get_char_id_table): Change interface.
2351         (put_char_id_table_0): New function.
2352         (put_char_id_table): Change interface; new implementation.
2353         (Fget_composite_char): Modify for interface change of
2354         `get_char_id_table'.
2355         (Fchar_variants): Likewise.
2356         (add_char_attribute_alist_mapper): Likewise.
2357         (Fchar_attribute_alist): Likewise.
2358         (Fget_char_attribute): Likewise.
2359         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2360         as same as character as the first argument like `put-char-table';
2361         modify for interface change of `put_char_id_table'.
2362         (Fremove_char_attribute): Modify for interface change of
2363         `put_char_id_table'.
2364
2365 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2366
2367         * text-coding.c: Sync up with XEmacs 21.2.41.
2368         (COMPOSE_ADD_CHAR): Modify for interface change of
2369         `get_char_id_table'.
2370
2371         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2372         change of `put_char_id_table'.
2373         (remove_char_ccs): Likewise.
2374
2375         * chartab.h (put_char_id_table): Change interface.
2376
2377         * char-ucs.h (get_char_id_table): Change interface.
2378         (charset_code_point): Modify for interface change of
2379         `get_char_id_table'.
2380         (encode_char_1): Likewise.
2381
2382 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2383
2384         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2385         argument `ccs'.
2386         (map_over_uint16_byte_table): Likewise.
2387         (map_over_byte_table): Likewise.
2388         (map_char_id_table): Add new argument `range' like
2389         `map_char_table'.
2390         (Fmap_char_attribute): Add new argument `range' like
2391         `Fmap_char_table'.
2392
2393 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2394
2395         * chartab.c (map_over_uint8_byte_table): Change interface of
2396         mapping function to use struct chartab_range instead of Emchar.
2397         (map_over_uint16_byte_table): Likewise.
2398         (map_over_byte_table): Likewise.
2399         (map_char_id_table): Likewise.
2400         (struct slow_map_char_id_table_arg): Deleted.
2401         (slow_map_char_id_table_fun): Deleted.
2402         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2403         function `slow_map_char_table_fun' instead of struct
2404         `slow_map_char_id_table_arg' and function
2405         `slow_map_char_id_table_fun'.
2406
2407 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2408
2409         * mule-charset.c: Move char-it-table related codes to chartab.c.
2410         (Vutf_2000_version): Moved to chartab.c.
2411         (Fdefine_char): Likewise.
2412         (Ffind_char): Likewise.
2413         (syms_of_mule_charset): Move types `uint8-byte-table',
2414         `uint16-byte-table', `byte-table' and `char-id-table' to
2415         chartab.c; move functions `char_attribute_list,
2416         `find_char_attribute_table, `char_attribute_alist,
2417         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2418         `map_char_attribute, `define_char, `find_char, `char_variants and
2419         `get_composite_char to chartab.c; move symbols `=>ucs',
2420         `->decomposition', `compat', `isolated', `initial', `medial',
2421         `final', `vertical', `noBreak', `fraction', `super', `sub',
2422         `circle', `square', `wide', `narrow', `small' and `font' to
2423         chartab.c.
2424         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2425         setting codes for `Vcharacter_composition_table' and
2426         `Vcharacter_variant_table' to chartab.c.
2427         (complex_vars_of_mule_charset): Move setting code for
2428         `Vchar_attribute_hash_table' to chartab.c.
2429
2430         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2431         (make_char_id_table): New prototype.
2432         (put_char_id_table): Likewise.
2433         (Fget_char_attribute): Likewise.
2434
2435         * chartab.c: Move char-id-table related code from mule-charset.c.
2436         (Vutf_2000_version): Moved from mule-charset.c.
2437
2438         * char-ucs.h (Qucs): New external variable.
2439         (put_char_ccs_code_point): New prototype.
2440         (remove_char_ccs): Likewise.
2441
2442 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2443
2444         * mule-charset.c (Vcharset_ucs_jis): New variable.
2445         (Qucs_jis): Likewise.
2446         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2447         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2448
2449         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2450
2451 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2452
2453         * mule-charset.c (map_over_uint8_byte_table): New function.
2454         (map_over_uint16_byte_table): Likewise.
2455         (map_over_byte_table): Likewise.
2456         (map_char_id_table): Likewise.
2457         (slow_map_char_id_table_fun): Likewise.
2458         (Fmap_char_attribute): Likewise.
2459         (syms_of_mule_charset): Add new function `map-char-attribute'.
2460
2461 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2462
2463         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2464         (syms_of_mule_charset): Add new function `find-char'.
2465
2466 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2467
2468         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2469         XEmacs UTF-2000.
2470         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2471         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2472         XEmacs UTF-2000.
2473         (complex_vars_of_mule_charset): Add new coded-charset
2474         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2475         `ideograph-gt-pj-*'.
2476
2477         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2478
2479 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2480
2481         * mule-charset.c (encode_builtin_char_1): Purge codes about
2482         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2483         {MIN|MAX}_CHAR_HEBREW.
2484         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2485         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2486
2487         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2488         (MAX_CHAR_GREEK): Purged.
2489         (MIN_CHAR_CYRILLIC): Purged.
2490         (MAX_CHAR_CYRILLIC): Purged.
2491         (MIN_CHAR_HEBREW): Commented out.
2492         (MAX_CHAR_HEBREW): Likewise.
2493
2494 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2495
2496         * mule-charset.c (Qto_ucs): New variable.
2497         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2498         (Fdefine_char): Likewise.
2499         (syms_of_mule_charset): Add new symbol `=>ucs'.
2500
2501 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2502
2503         * mule-charset.c (Fdecode_char): Fixed.
2504
2505 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2506
2507         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2508         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2509         "tcvn5712-1".
2510
2511 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2512
2513         * mule-charset.c (Vcharset_ucs_big5): New variable.
2514         (Qucs_big5): Likewise.
2515         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2516         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2517
2518         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2519
2520 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2521
2522         * mule-charset.c (decode_builtin_char): Check Big5 code range
2523         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2524
2525 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2526
2527         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2528         (Qchinese_gb12345): Likewise.
2529         (Fdecode_builtin_char): Fixed.
2530         (syms_of_mule_charset): Add `chinese-gb12345'.
2531         (complex_vars_of_mule_charset): Add coded-charset
2532         `chinese-gb12345'.
2533
2534         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2535         (LEADING_BYTE_CHINESE_GB12345): New macro.
2536
2537 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2538
2539         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2540         and `latin-viscii-upper' for `latin-viscii'.
2541
2542 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2543
2544         * mule-charset.c (Fdecode_builtin_char): Comment out
2545         regularization code for ISO-IR GR representation.
2546
2547 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2548
2549         * mule-charset.c (decode_builtin_char): New function; renamed from
2550         `make_builtin_char'; return -1 instead of signal.
2551         (Fdecode_builtin_char): Use `decode_builtin_char'.
2552
2553         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2554         `make_builtin_char'.
2555         (DECODE_CHAR): Use `decode_builtin_char' instead of
2556         `make_builtin_char'; use mapping table of `chinese-big5' for
2557         `chinese-big5-{1,2}'.
2558
2559 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2560
2561         * text-coding.c (char_encode_big5): New function.
2562         (char_finish_big5): Likewise.
2563         (reset_encoding_stream): Use `char_encode_big5' and
2564         `char_finish_big5' for CODESYS_BIG5.
2565         (mule_encode): Don't use `encode_coding_big5'.
2566         (encode_coding_big5): Deleted.
2567
2568 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2569
2570         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2571         0x81- in XEmacs UTF-2000.
2572         (detect_coding_big5): Likewise.
2573
2574 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2575
2576         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2577         generate character-id if the CCS property does not have
2578         corresponding predefined character.
2579         (make_builtin_char): Return -1 if corresponding predefined
2580         character is not found.
2581         (Fdecode_char): Return nil if corresponding character is not
2582         found.
2583         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2584         don't map to builtin ucs space.
2585
2586 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2587
2588         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2589         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2590
2591 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2592
2593         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2594         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2595         (Qideograph_gt): Likewise.
2596         (Qideograph_gt_pj_{1..11}): Likewise.
2597         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2598         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2599         `ideograph-gt-pj-11'.
2600         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2601         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2602         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2603
2604         * char-ucs.h (LEADING_BYTE_GT): New macro.
2605         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2606         (MIN_CHAR_GT): Likewise.
2607         (MAX_CHAR_GT): Likewise.
2608
2609 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2610
2611         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2612         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2613
2614         * doprnt.c (unsigned_int_converters): Add `c'.
2615         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2616
2617         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2618         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2619         `MIN_CHAR_MOJIKYO'.
2620         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2621         (MAX_CHAR_MOJIKYO_0): New macro.
2622         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2623
2624 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2625
2626         * mule-charset.c (Fdefine_char): Delete cemented out code.
2627         (encode_builtin_char_1): Modify for new allocation of builtin
2628         Mojikyo characters.
2629
2630         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2631
2632 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2633
2634         * mule-charset.c (Vcharset_ucs_cns): New variable.
2635         (Qucs_cns): New variable.
2636         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2637         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2638
2639 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2640
2641         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2642
2643 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2644
2645         * search.c (search_buffer): Make `charset_base_code' as
2646         character-id >> 6 to eliminate the corresponding last byte in
2647         UTF-8 representation [I'm not sure it is right thing].
2648         (boyer_moore): Likewise.
2649
2650 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2651
2652         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2653         representation in MULE.
2654
2655 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2656
2657         * text-coding.c (Fmake_coding_system): Use
2658         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2659         `EXTERNAL_PROPERTY_LIST_LOOP'.
2660
2661 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2662
2663         * text-coding.c (decode_output_utf8_partial_char): New function.
2664         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2665
2666 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2667
2668         * text-coding.c (decode_coding_utf8): Output original byte
2669         sequence if it is broken; change order of conditions.
2670
2671         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2672         of conditions.
2673
2674         * mb-multibyte.h (BYTE_ASCII_P):
2675         Use bit ops for char-signedness safety.
2676         (BYTE_C0_P): Use bit ops for char-signedness safety.
2677         (BYTE_C1_P): Use bit ops for char-signedness safety.
2678
2679         * character.h: (XCHAR_OR_CHAR_INT):
2680         Always use inline function.
2681         Remove redundant type checking assert() - XINT will abort quite
2682         nicely.
2683
2684 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2685
2686         * text-coding.c: (Fencode_shift_jis_char):
2687         (Fencode_big5_char):
2688         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2689         Replace 0 with '\0' when working with bytes.
2690         Replace initial "(" with "\(" in docstrings.
2691
2692         (Fmake_coding_system):
2693         When type is ccl and value is vector, register it with a proper
2694         symbol.  And checks whether the given ccl program is valid.
2695         (mule_decode): When calling ccl_driver, if src indicates
2696         NULL pointer, set an empty string instead.
2697         (mule_encode): Likewise.
2698
2699         (detect_eol_type):
2700         (detect_coding_sjis):
2701         (decode_coding_sjis):
2702         (detect_coding_big5):
2703         (decode_coding_big5):
2704         (detect_coding_ucs4):
2705         (decode_coding_ucs4):
2706         (detect_coding_utf8):
2707         (decode_coding_utf8):
2708         (detect_coding_iso2022):
2709         (decode_coding_iso2022):
2710         (decode_coding_no_conversion):
2711         (mule_decode):
2712         Make all detecting and decoding functions take an Extbyte * arg.
2713         (text_encode_generic):
2714         (encode_coding_big5):
2715         (encode_coding_no_conversion):
2716         (mule_encode):
2717         Make all encoding functions take a Bufbyte * arg.
2718         Use size_t instead of unsigned int for memory sizes.
2719         Only cast to unsigned char whenever dereferencing Extbyte *.
2720
2721         (struct lrecord_description fcd_description_1): Use countof.
2722         (complex_vars_of_file_coding):
2723         Use countof instead of sizeof.
2724         Use CHECK_NATNUM instead of CHECK_INT.
2725
2726 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2727
2728         * mule-charset.c (Fget_char_attribute): Add new optional argument
2729         `default-value'.
2730         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2731         (remove_char_ccs): Likewise.
2732
2733 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2734
2735         * text-coding.c (char_encode_shift_jis): New implementation in
2736         UTF-2000.
2737         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2738         ...)'.
2739
2740         * mule-charset.c (Vcharset_chinese_big5): New variable in
2741         UTF-2000.
2742         (Qchinese_big5): New variable in UTF-2000.
2743         (BIG5_SAME_ROW): New macro in UTF-2000.
2744         (make_builtin_char): Use builtin characters of
2745         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2746         characters of `Vcharset_chinese_big5'.
2747         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2748         (complex_vars_of_mule_charset): Add new coded-charset
2749         `chinese-big5' in UTF-2000.
2750
2751         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2752         (Vcharset_chinese_big5): New external variable declaration.
2753         (Vcharset_japanese_jisx0208_1990): Likewise.
2754
2755 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2756
2757         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2758         function.
2759         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2760
2761 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2762
2763         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2764         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2765         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2766         `mojikyo-pj-*'.
2767
2768 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2769
2770         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2771
2772 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2773
2774         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2775         to 0.17.
2776
2777 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2778
2779         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2780         for `CHARSET_BY_ATTRIBUTES'.
2781         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2782         `CHARSET_BY_ATTRIBUTES'.
2783
2784         * text-coding.c (struct decoding_stream): Rename member `CH' to
2785         `CPOS'.
2786         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2787         (decode_coding_sjis): Likewise.
2788         (decode_coding_big5): Likewise.
2789         (decode_coding_ucs4): Likewise.
2790         (decode_coding_utf8): Likewise.
2791         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2792         `CHARSET_BY_ATTRIBUTES'.
2793         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2794         `str->counter'; decode 3, 4 bytes sets.
2795         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2796         sets.
2797         (decode_coding_no_conversion): Use `str->cpos' instead of
2798         `str->ch'.
2799
2800         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2801         (Qmojikyo_2022_1): New variable.
2802         (make_charset): Don't use `CHARSET_TYPE_*'.
2803         (range_charset_code_point): Support coded-charset
2804         `mojikyo-2022-1'.
2805         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2806         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2807         `CHARSET_BY_ATTRIBUTES'.
2808         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2809         `CHARSET_BY_ATTRIBUTES'.
2810         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2811         (complex_vars_of_mule_charset): Add new coded-charset
2812         `mojikyo-2022-1'.
2813
2814         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2815         interface; changed to inline function.
2816
2817         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2818         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2819         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2820         (CHARSET_TYPE_94): Deleted.
2821         (CHARSET_TYPE_94X94): Deleted.
2822         (CHARSET_TYPE_96): Deleted.
2823         (CHARSET_TYPE_96X96): Deleted.
2824         (CHARSET_TYPE_128): Deleted.
2825         (CHARSET_TYPE_128X128): Deleted.
2826         (CHARSET_TYPE_256): Deleted.
2827         (CHARSET_TYPE_256X256): Deleted.
2828         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2829         to inline function.
2830         (DECODE_MOJIKYO_2022): New inline function.
2831         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2832         `Vcharset_mojikyo_2022_1'.
2833
2834 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2835
2836         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2837         instead of `EQ'.
2838         (put_byte_table): Likewise.
2839         (char_id_table_equal): Use `get_byte_table' [new implementation].
2840
2841 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2842
2843         * mule-charset.c: Include <limits.h> in UTF-2000.
2844         (BT_UINT8_MIN): New macro in UTF-2000.
2845         (BT_UINT8_MAX): New macro in UTF-2000.
2846         (BT_UINT8_t): New macro in UTF-2000.
2847         (BT_UINT8_nil): New macro in UTF-2000.
2848         (BT_UINT8_unbound): New macro in UTF-2000.
2849         (INT_UINT8_P): New inline function in UTF-2000.
2850         (UINT8_VALUE_P): New inline function in UTF-2000.
2851         (UINT8_ENCODE): New inline function in UTF-2000.
2852         (UINT8_DECODE): New inline function in UTF-2000.
2853         (mark_uint8_byte_table): New function in UTF-2000.
2854         (print_uint8_byte_table): New function in UTF-2000.
2855         (uint8_byte_table_equal): New function in UTF-2000.
2856         (uint8_byte_table_hash): New function in UTF-2000.
2857         (make_uint8_byte_table): New function in UTF-2000.
2858         (uint8_byte_table_same_value_p): New function in UTF-2000.
2859         (BT_UINT16_MIN): New macro in UTF-2000.
2860         (BT_UINT16_MAX): New macro in UTF-2000.
2861         (BT_UINT16_t): New macro in UTF-2000.
2862         (BT_UINT16_nil): New macro in UTF-2000.
2863         (BT_UINT16_unbound): New macro in UTF-2000.
2864         (INT_UINT16_P): New inline function in UTF-2000.
2865         (UINT16_VALUE_P): New inline function in UTF-2000.
2866         (UINT16_ENCODE): New inline function in UTF-2000.
2867         (UINT16_DECODE): New inline function in UTF-2000.
2868         (UINT8_TO_UINT16): New inline function in UTF-2000.
2869         (mark_uint16_byte_table): New function in UTF-2000.
2870         (print_uint16_byte_table): New function in UTF-2000.
2871         (uint16_byte_table_equal): New function in UTF-2000.
2872         (uint16_byte_table_hash): New function in UTF-2000.
2873         (make_uint16_byte_table): New function in UTF-2000.
2874         (uint16_byte_table_same_value_p): New function in UTF-2000.
2875         (print_byte_table): New function in UTF-2000.
2876         (byte-table): Use `print_byte_table' as printer.
2877         (make_byte_table): Delete second argument `older'.
2878         (byte_table_same_value_p): New function in UTF-2000.
2879         (copy_byte_table): Deleted.
2880         (get_byte_table): New function in UTF-2000.
2881         (put_byte_table): New function in UTF-2000.
2882         (print_char_id_table): New function in UTF-2000.
2883         (char-id-table): Use `print_char_id_table' as printer.
2884         (make_char_id_table): Delete second argument `older'.
2885         (get_char_id_table): Use `get_byte_table [new implementation].
2886         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2887         implementation].
2888         (Ffind_char_attribute_table): New function in UTF-2000.
2889         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2890         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2891         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2892         (syms_of_mule_charset): Add new function
2893         `find-char-attribute-table' in UTF-2000.
2894
2895         * lrecord.h (enum lrecord_type): Add
2896         `lrecord_type_uint16_byte_table' and
2897         `lrecord_type_uint8_byte_table'.
2898
2899         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2900         (Lisp_Uint8_Byte_Table): New type.
2901         (XUINT8_BYTE_TABLE): New macro.
2902         (XSETUINT8_BYTE_TABLE): New macro.
2903         (UINT8_BYTE_TABLE_P): New macro.
2904         (GC_UINT8_BYTE_TABLE_P): New macro.
2905         (struct Lisp_Uint16_Byte_Table): New structure.
2906         (Lisp_Uint16_Byte_Table): New type.
2907         (XUINT16_BYTE_TABLE): New macro.
2908         (XSETUINT16_BYTE_TABLE): New macro.
2909         (UINT16_BYTE_TABLE_P): New macro.
2910         (GC_UINT16_BYTE_TABLE_P): New macro.
2911
2912 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2913
2914         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2915         (Vcharacter_ideographic_strokes_table): Deleted.
2916         (Vcharacter_total_strokes_table): Deleted.
2917         (Vcharacter_morohashi_daikanwa_table): Deleted.
2918         (Vcharacter_decomposition_table): Deleted.
2919         (Qname): Deleted because it is duplicated.
2920         (Qideographic_radical): Deleted.
2921         (Qideographic_strokes): Deleted.
2922         (Qtotal_strokes): Deleted.
2923         (Qmorohashi_daikanwa): Deleted.
2924         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2925         `ideographic-radical', `ideographic-strokes', `total-strokes',
2926         `morohashi-daikanwa' and `->decomposition'.
2927         (Fget_char_attribute): Likewise.
2928         (Fput_char_attribute): Likewise; use `make-vector' instead of
2929         `make_older_vector' for `->decomposition' value.
2930         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2931         `ideograph-daikanwa'.
2932         (syms_of_mule_charset): Delete builtin symbols `name',
2933         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2934         `morohashi-daikanwa'.
2935         (vars_of_mule_charset): Don't setup
2936         `Vcharacter_ideographic_radical_table',
2937         `Vcharacter_ideographic_strokes_table',
2938         `Vcharacter_total_strokes_table',
2939         `Vcharacter_morohashi_daikanwa_table' and
2940         `Vcharacter_decomposition_table'.
2941
2942 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2943
2944         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2945         `make_older_vector', `make_vector_newer_1' and
2946         `make_vector_newer'.
2947
2948         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2949         `make_older_vector' and `make_vector_newer'.
2950
2951         * config.h.in (HAVE_GGC): New macro.
2952
2953 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2954
2955         * mule-charset.c (struct char_attribute_list_closure): New
2956         structure in UTF-2000.
2957         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2958         (Fchar_attribute_list): Likewise.
2959         (Fset_charset_mapping_table): Use `make_vector_newer'.
2960         (Fdecode_builtin_char): New function in UTF-2000.
2961         (syms_of_mule_charset): Add new function `char-attribute-list' and
2962         `decode-builtin-char' in UTF-2000.
2963
2964         * lisp.h (make_vector_newer): New prototype.
2965
2966         * alloc.c (make_vector_newer_1): New function.
2967         (make_vector_newer): New function.
2968
2969 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2970
2971         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2972         50100)'.
2973
2974 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2975
2976         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2977         (Vcharacter_attribute_table): Deleted.
2978         (Vcharacter_name_table): Deleted.
2979         (put_char_attribute): Deleted.
2980         (remove_char_attribute): Deleted.
2981         (struct char_attribute_alist_closure): New structure.
2982         (add_char_attribute_alist_mapper): New function.
2983         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2984         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2985         (Fget_char_attribute): Likewise.
2986         (Fput_char_attribute): Likewise.
2987         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2988         of `remove_char_attribute'.
2989         (Fdefine_char): Return character.
2990         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2991         and `Vcharacter_name_table'.
2992         (complex_vars_of_mule_charset): Likewise
2993         `Vchar_attribute_hash_table'.
2994
2995 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2996
2997         * character.h (CHARC_CHARSET): New macro.
2998         (CHARC_CHARSET_ID): New macro.
2999         (CHARC_CODE_POINT): New macro.
3000         (CHARC_COLUMNS): New macro.
3001         (CHARC_TO_CHAR): New inline function.
3002         (CHARC_EQ): New inline function.
3003         (CHARC_ASCII_EQ): New inline function.
3004         (CHARC_IS_SPACE): New inline function.
3005         (ASCII_TO_CHARC): New inline function.
3006
3007         * char-ucs.h (encode_char_2): Deleted.
3008         (ENCODE_CHAR): Use `encode_char_1' again.
3009         (breakup_char_1): Likewise.
3010         (CHAR_TO_CHARC): New inline function.
3011
3012         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3013
3014 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3015
3016         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3017         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3018         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3019         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3020         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3021         `CHARC_IS_SPACE'.
3022         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3023
3024         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3025         `CHARC_CODE_POINT'.
3026         (x_output_display_block): Use `CHARC_CHARSET' and
3027         `CHARC_ASCII_EQ'.
3028
3029         * redisplay-tty.c (tty_output_display_block): Use
3030         `CHARC_ASCII_EQ'.
3031         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3032
3033         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3034
3035         * insdel.c (find_charsets_in_charc_string): Use
3036         `CHARC_CHARSET_ID'.
3037         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3038         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3039         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3040         (convert_charc_string_into_malloced_string): Likewise.
3041
3042 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3043
3044         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3045         instead of <Emchar_dynarr *> for buf; use
3046         `convert_bufbyte_string_into_charc_dynarr' instead of
3047         `convert_bufbyte_string_into_emchar_dynarr'; use
3048         `find_charsets_in_charc_string' instead of
3049         `find_charsets_in_emchar_string'.
3050
3051         * redisplay.h:
3052         - Include "character.h".
3053         (struct rune): New member `cglyph'; delete member `chr'.
3054
3055         * redisplay.c (redisplay_text_width_charc_string): New function;
3056         delete `redisplay_text_width_emchar_string'.
3057         (rtw_charc_dynarr): New variable; renamed from
3058         `rtw_emchar_dynarr'.
3059         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3060         `rtw_emchar_dynarr'; use
3061         `convert_bufbyte_string_into_charc_dynarr' instead of
3062         `convert_bufbyte_string_into_emchar_dynarr'; use
3063         `redisplay_text_width_charc_string' instead of
3064         `redisplay_text_width_emchar_string'.
3065         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3066         instead of `rtw_emchar_dynarr'; use
3067         `convert_bufbyte_string_into_charc_dynarr' instead of
3068         `convert_bufbyte_string_into_emchar_dynarr'.
3069         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3070         `redisplay_text_width_charc_string' instead of
3071         `redisplay_text_width_emchar_string'.
3072         (create_text_block): Modify for <struct rune> change.
3073         (generate_formatted_string_db): Likewise.
3074         (create_string_text_block): Likewise.
3075         (pixel_to_glyph_translation): Likewise.
3076
3077         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3078         instead of <const Emchar *>.
3079         (x_text_width): Likewise.
3080         (x_output_display_block): Use <Charc_dynarr *> instead
3081         <Emchar_dynarr *>; modify for <structure rune> change.
3082         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3083         *>.
3084
3085         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3086         <const Emchar *>; use `charc_string_displayed_columns' instead of
3087         `emchar_string_displayed_columns'.
3088         (tty_output_display_block): Use <Charc_dynarr *> instead of
3089         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3090         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3091         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3092         `tty_output_emchar_dynarr_dynarr'.
3093         (tty_output_charc_dynarr): New function; delete
3094         `tty_output_charc_dynarr'.
3095
3096         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3097         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3098         <Emchar_dynarr *> for buf; use
3099         `convert_bufbyte_string_into_charc_dynarr' instead of
3100         `convert_bufbyte_string_into_emchar_dynarr'.
3101
3102         * frame.c (title_string_charc_dynarr): New variable; renamed from
3103         `title_string_emchar_dynarr'.
3104         (generate_title_string): Use `title_string_charc_dynarr' instead
3105         of `title_string_emchar_dynarr'; use
3106         `convert_charc_string_into_malloced_string' instead of
3107         `convert_emchar_string_into_malloced_string'.
3108         (init_frame): Use `title_string_charc_dynarr' instead of
3109         `title_string_emchar_dynarr'.
3110
3111         * console.h:
3112         - Include "character.h".
3113         (struct console_methods): Use <const Charc *> instead of <const
3114         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3115         <Emchar_dynarr *> in output_string_method.
3116
3117         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3118         <Emchar_dynarr *>.
3119
3120         * console-stream.c (stream_text_width): Use <const Charc *>
3121         instead of <const Emchar *>.
3122
3123         * character.h (Charc_dynarr): New type.
3124
3125         * char-ucs.h (structure Charc): New structure; define new type
3126         `Charc'.
3127
3128         * char-lb.h (DECODE_CHAR): New inline function.
3129         (encode_char_1): New inline function.
3130         (ENCODE_CHAR): New macro.
3131         (structure Charc): New structure; define new type `Charc'.
3132
3133         * char-1byte.h (Vcharset_control_1): New macro.
3134         (Vcharset_latin_iso8859_1): New macro.
3135         (DECODE_CHAR): New inline function.
3136         (encode_char_1): New inline function.
3137         (ENCODE_CHAR): New macro.
3138         (structure Charc): New structure; define new type `Charc'.
3139
3140         * insdel.c (find_charsets_in_charc_string): New function; delete
3141         `find_charsets_in_emchar_string'.
3142         (charc_string_displayed_columns): New function; delete
3143         `emchar_string_displayed_columns'.
3144         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3145         `convert_bufbyte_string_into_emchar_dynarr'.
3146         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3147         `convert_charc_string_into_bufbyte_dynarr'.
3148         (convert_charc_string_into_malloced_string): New function; delete
3149         `convert_charc_string_into_malloced_string'.
3150
3151         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3152         `find_charsets_in_emchar_string'.
3153         (charc_string_displayed_columns): New prototype; delete
3154         `emchar_string_displayed_columns'.
3155         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3156         `convert_charc_string_into_bufbyte_dynarr'.
3157         (convert_charc_string_into_malloced_string): New prototype; delete
3158         `convert_charc_string_into_malloced_string'.
3159
3160 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3161
3162         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3163
3164 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3165
3166         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3167
3168         * char-ucs.h: Use <short> for <Charset_ID>.
3169
3170         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3171         <Charset_ID>.
3172
3173 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3174
3175         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3176         to 0.16.
3177
3178 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3179
3180         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3181         variable.
3182         (Qmorohashi_daikanwa): New variable.
3183         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3184         for `morohashi-daikanwa' attribute.
3185         (Fget_char_attribute): Likewise.
3186         (Fput_char_attribute): Likewise.
3187         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3188         has the same value of `ideograph-daikanwa'.
3189         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3190         (vars_of_mule_charset): Setup
3191         `Vcharacter_morohashi_daikanwa_table'.
3192
3193 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3194
3195         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3196         attributes.
3197         (add_charset_to_list_mapper): Add `key' instead of
3198         `XCHARSET_NAME (value)' to return aliases.
3199
3200 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3201
3202         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3203         variable.
3204         (Vcharacter_ideographic_strokes_table): New variable.
3205         (Qideographic_radical): New variable.
3206         (Qideographic_strokes): New variable.
3207         (Fchar_attribute_alist): Use
3208         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3209         attribute; use `Vcharacter_ideographic_strokes_table' for
3210         `ideographic-strokes' attribute.
3211         (Fget_char_attribute): Likewise.
3212         (Fput_char_attribute): Likewise.
3213         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3214         `ideographic-strokes'.
3215         (vars_of_mule_charset): Setup
3216         `Vcharacter_ideographic_radical_table' and
3217         `Vcharacter_ideographic_strokes_table'.
3218
3219 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3220
3221         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3222         (Qtotal_strokes): New variable.
3223         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3224         `total-strokes' attribute.
3225         (Fget_char_attribute): Likewise.
3226         (Fput_char_attribute): Likewise.
3227         (syms_of_mule_charset): Add new symbol `total-strokes'.
3228         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3229
3230 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3231
3232         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3233         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3234         are found.
3235         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3236         `->decomposition' attribute.
3237         (Fput_char_attribute): Likewise.
3238         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3239
3240 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3241
3242         * mule-charset.c (decoding_table_check_elements): New function.
3243         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3244
3245 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3246
3247         * mule-charset.c (Fset_charset_mapping_table): Use
3248         `put_char_ccs_code_point'.
3249
3250 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3251
3252         * mule-charset.c (decoding_table_put_char): New inline function.
3253         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3254
3255 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3256
3257         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3258         (XCHARSET_BYTE_SIZE): New macro.
3259         (decoding_table_remove_char): New inline function.
3260         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3261         `decoding_table_remove_char'.
3262         (remove_char_ccs): Use `decoding_table_remove_char'.
3263         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3264
3265 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3266
3267         * mule-charset.c (Vcharacter_name_table): New variable.
3268         (Qname): New variable.
3269         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3270         attribute.
3271         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3272         `Vcharacter_name_table' for `name' attribute.
3273         (Fremove_char_attribute): Use function `remove_char_ccs'.
3274         (put_char_ccs_code_point): New function.
3275         (remove_char_ccs): New function.
3276         (syms_of_mule_charset): Add new symbol `name'.
3277         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3278
3279 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3280
3281         * mule-charset.c (make_byte_table): Add new argument `older'.
3282         (make_char_id_table): Likewise.
3283         (copy_char_id_table): Comment out because it is not used.
3284         (put_char_id_table): Modify for `make_byte_table'.
3285         (Fput_char_attribute): Make encoding_table as older object;
3286         inherit older bit of `Vcharacter_composition_table'.
3287         (mark_charset): Don't mark `cs->encoding_table'.
3288         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3289         normal object; make `Vcharacter_composition_table' as an older
3290         object; delete staticpro for `Vcharacter_composition_table'; make
3291         `Vcharacter_variant_table' as a normal object.
3292
3293         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3294         (mark_object): Don't check older object in UTF-2000.
3295
3296         * lrecord.h (struct lrecord_header): Add new member `older' in
3297         UTF-2000.
3298         (set_lheader_implementation): Setup `SLI_header->older' in
3299         UTF-2000.
3300         (set_lheader_older_implementation): New macro in UTF-2000.
3301         (OLDER_RECORD_P): New macro in UTF-2000.
3302         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3303         (alloc_older_lcrecord): New prototype in UTF-2000.
3304         (alloc_older_lcrecord_type): New macro in UTF-2000.
3305
3306 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3307
3308         * mule-charset.c (byte_table_description): Use
3309         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3310         (char_id_table_description): Delete bogus `, 1'.
3311         (Fget_char_attribute): Refer encoding_table of each coded-charset
3312         to get value of coded-charset attribute of a character.
3313         (Fput_char_attribute): Use `make_older_vector' instead of
3314         `make_vector'; use encoding_table of each coded-charset to store
3315         value of coded-charset attribute of a character.
3316         (Fremove_char_attribute): Use encoding_table of each coded-charset
3317         to store value of coded-charset attribute of a character.
3318         (mark_charset): Mark `cs->encoding_table'; don't mark
3319         `cs->decoding_table'.
3320         (charset_description): Add description of new member
3321         `encoding_table'.
3322         (make_charset): Initialize `encoding_table'.
3323
3324         * char-ucs.h (struct Lisp_Charset): Add new member
3325         `encoding_table'.
3326         (CHARSET_ENCODING_TABLE): New macro.
3327         (XCHARSET_ENCODING_TABLE): New macro.
3328         (charset_code_point): New implementation.
3329         (encode_char_1): Likewise.
3330
3331         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3332         (disksave_object_finalization_1): Call finalizers of
3333         `all_older_lcrecords' in UTF-2000.
3334         (make_older_vector): New function in UTF-2000.
3335         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3336         UTF-2000.
3337
3338         * lisp.h (make_older_vector): New prototype in UTF-2000.
3339
3340 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3341
3342         * lrecord.h (enum lrecord_type): Rename
3343         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3344
3345         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3346         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3347         `get_char_code_table'.
3348
3349         * mule-charset.c (mark_char_id_table): Renamed from
3350         `mark_char_code_table'.
3351         (char_id_table_equal): Renamed from `char_code_table_equal'.
3352         (char_id_table_hash): Renamed from `char_code_table_hash'.
3353         (make_char_id_table): Renamed from `make_char_code_table'.
3354         (copy_char_id_table): Renamed from `copy_char_code_table'.
3355         (get_char_id_table): Renamed from `get_char_code_table'.
3356         (put_char_id_table): Renamed from `put_char_code_table'.
3357         (to_char_id): Renamed from `to_char_code'.
3358
3359         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3360         `Lisp_Char_Code_Table'.
3361         (char_id_table): Renamed from `char_code_table'.
3362         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3363         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3364         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3365         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3366         (get_char_id_table): Renamed from `get_char_code_table'.
3367
3368 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3369
3370         * lrecord.h (enum lrecord_type): Rename
3371         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3372
3373         * mule-charset.c (mark_byte_table): Renamed from
3374         `mark_char_byte_table'.
3375         (byte_table_equal): Renamed from `char_byte_table_equal'.
3376         (byte_table_hash): Renamed from `byte_table_hash'.
3377         (make_byte_table): Renamed from `make_byte_table'.
3378         (copy_byte_table): Renamed from `copy_char_byte_table'.
3379
3380         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3381         `Lisp_Char_Byte_Table'.
3382         (byte_table): Renamed from `char_byte_table'.
3383         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3384         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3385         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3386         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3387
3388 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3389
3390         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3391         (dfc_convert_to_internal_format): Likewise.
3392         
3393         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3394         * text-coding.c (Fcoding_system_alias_p): New function.
3395         * text-coding.c (Fcoding_system_aliasee): New function.
3396         * text-coding.c (append_suffix_to_symbol): New function.
3397         * text-coding.c (dangling_coding_system_alias_p): New function.
3398         * text-coding.c (Ffind_coding_system):
3399         * text-coding.c (Fcopy_coding_system):
3400         * text-coding.c (encode_coding_no_conversion):
3401         * text-coding.c (syms_of_file_coding):
3402         * text-coding.c (vars_of_file_coding):
3403         Rewrite coding system alias code.
3404         Allow nested aliases, like symbolic links.
3405         Allow redefinition of coding system aliases.
3406         Prevent existence of dangling coding system aliases.
3407         Eliminate convert_to_external_format.
3408         Eliminate convert_to_internal_format.
3409         
3410         * text-coding.c: Change enum eol_type to eol_type_t.
3411
3412 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3413
3414         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3415         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3416
3417         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3418         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3419
3420 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3421
3422         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3423         `ideograph-daikanwa'.
3424
3425         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3426         (Vcharset_ucs_bmp): Likewise.
3427         (Vcharset_mojikyo): Add new extern variable definition.
3428         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3429         (Vcharset_latin_iso8859_3): Likewise.
3430         (Vcharset_latin_iso8859_4): Likewise.
3431         (Vcharset_latin_iso8859_9): Likewise.
3432         (Vcharset_latin_viscii_lower): Likewise.
3433         (Vcharset_latin_viscii_upper): Likewise.
3434         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3435         `mojikyo' code-point is used to decode.
3436         (encode_char_2): New function [to convert `mojikyo' code-point to
3437         Mojikyo font encoding].
3438         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3439         (breakup_char_1): Likewise.
3440         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3441
3442 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3443
3444         * text-coding.c (Fmake_coding_system): Add document about
3445         `disable-composition' property.
3446
3447 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3448
3449         * text-coding.c (Qdisable_composition): New variable; delete
3450         `Qcomposite'.
3451         (Fmake_coding_system): Add new property `disable-composite';
3452         delete property `composite'.
3453         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3454         instead of `!CODING_SYSTEM_COMPOSITE'.
3455         (syms_of_file_coding): Add new symbol `disable-composition';
3456         delete symbol `composite'.
3457
3458         * file-coding.h (struct Lisp_Coding_System): Add
3459         `disable_composition'; delete `enable_composition'.
3460         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3461         `CODING_SYSTEM_COMPOSITE'.
3462         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3463         `XCODING_SYSTEM_COMPOSITE'.
3464
3465 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3466
3467         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3468         to 0.15.
3469
3470 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3471
3472         * text-coding.c (Qcomposite): New variable.
3473         (Fmake_coding_system): Add new property `composite'.
3474         (struct decoding_stream): Add `combined_char_count',
3475         `combined_chars' and `combining_table' in UTF-2000.
3476         (COMPOSE_FLUSH_CHARS): New macro.
3477         (COMPOSE_ADD_CHAR): New macro.
3478         (reset_decoding_stream): Reset `str->combined_char_count' and
3479         `str->combining_table' in UTF-2000.
3480         (decode_coding_iso2022): Modify for character-decomposition.
3481         (syms_of_file_coding): Add new symbol `composite'.
3482
3483 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3484
3485         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3486         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3487         of `Vcharacter_composition_table' if `->decomposition' property
3488         has only 1 element.
3489         (Qlatin_tcvn5712): New variable.
3490         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3491         (complex_vars_of_mule_charset): Add new coded-charset
3492         `latin-tcvn5712'.
3493
3494         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3495
3496 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3497
3498         * file-coding.h (struct Lisp_Coding_System): Add
3499         `enable_composition'.
3500         (CODING_SYSTEM_COMPOSITE): New macro.
3501         (XCODING_SYSTEM_COMPOSITE): New macro.
3502
3503 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3504
3505         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3506
3507 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3508
3509         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3510         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3511
3512 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3513
3514         * mule-charset.c (Vcharset_mojikyo): New variable.
3515         (Fdefine_char): Don't use coded-charset which does not have
3516         non-builtin character range to allocate character-id.
3517         (Qmojikyo): New variable.
3518         (syms_of_mule_charset): Add new symbol `mojikyo'.
3519         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3520
3521         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3522         (LEADING_BYTE_MOJIKYO): New macro.
3523         (MIN_CHAR_MOJIKYO): New macro.
3524         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3525         (MAX_CHAR_MOJIKYO): New macro.
3526
3527 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3528
3529         * mule-charset.c (remove_char_attribute): Fixed.
3530
3531 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3532
3533         * mule-charset.c (remove_char_attribute): New function.
3534         (Fremove_char_attribute): New function.
3535         (encode_builtin_char_1): Comment out builtin-support for
3536         greek-iso8859-7 and cyrillic-iso8859-5.
3537         (Fdecode_char): Check `code' is an integer.
3538         (syms_of_mule_charset): Add `remove-char-attribute'.
3539         (MIN_CHAR_GREEK): Deleted.
3540         (MAX_CHAR_GREEK): Likewise.
3541         (MIN_CHAR_CYRILLIC): Likewise.
3542         (MAX_CHAR_CYRILLIC): Likewise.
3543         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3544         MAX_CHAR_GREEK for `greek-iso8859-7'.
3545
3546         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3547         (MAX_CHAR_GREEK): Likewise.
3548         (MIN_CHAR_CYRILLIC): Likewise.
3549         (MAX_CHAR_CYRILLIC): Likewise.
3550
3551 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3552
3553         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3554         format is used without `ucs' property.
3555         (Fdecode_char): Fix problem with GR representation.
3556         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3557         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3558
3559 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3560
3561         * mule-charset.c (make_builtin_char): New function.
3562         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3563         (Fset_charset_mapping_table): Modify for new representation of
3564         code-point.
3565         (Fdecode_char): New function.
3566         (syms_of_mule_charset): Add new builtin function `decode-char' in
3567         UTF-2000.
3568
3569         * char-ucs.h (make_builtin_char): New prototype.
3570         (DECODE_CHAR): New inline function.
3571         (MAKE_CHAR): Use `DECODE_CHAR'.
3572
3573 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3574
3575         * text-coding.c (parse_charset_conversion_specs): Use
3576         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3577         `XCHARSET_TYPE'.
3578         (iso2022_designate): Likewise.
3579
3580         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3581         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3582
3583         * mule-charset.c (Vcharset_ucs): New variable.
3584         (print_charset): Change design; use `CHARSET_CHARS' and
3585         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3586         (make_charset): Change signature to specify `chars' and
3587         `dimension' instead of `type'.
3588         (range_charset_code_point): Modify for 256^n-set.
3589         (encode_builtin_char_1): Encode as `ucs' in default.
3590         (Fmake_charset): Modify for `make_charset'.
3591         (Fmake_reverse_direction_charset): Likewise.
3592         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3593         UTF-2000.
3594         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3595         for `make_charset'.
3596
3597         * char-ucs.h (Vcharset_ucs): New variable.
3598         (LEADING_BYTE_UCS): New macro.
3599         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3600         and `chars' to `unsigned short' from `unsigned int'.
3601         (CHARSET_TYPE): Deleted.
3602         (XCHARSET_TYPE): Deleted.
3603
3604 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3605
3606         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3607
3608         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3609         (ENCODE_CHAR): New macro.
3610
3611 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3612
3613         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3614         to 0.14 (Kawachi-Katakami).
3615
3616 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3617
3618         * text-coding.c (char_encode_shift_jis): Modify for
3619         `charset_code_point'.
3620         (char_encode_iso2022): Likewise.
3621
3622         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3623         (integer) instead of list of <Lisp_Object>s (integers) as the
3624         format of code-point of a coded-charset.
3625         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3626         (encode_builtin_char_1): New function; delete
3627         `split_builtin_char'.
3628         (charset_code_point): Return <int> instead of <Lisp_Object>.
3629         (Fsplit_char): Don't use `SPLIT_CHAR'.
3630
3631         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3632         prototype for `split_builtin_char'.
3633         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3634         (charset_code_point): Likewise.
3635         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3636         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3637
3638 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3639
3640         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3641         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3642
3643 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3644
3645         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3646
3647         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3648         (MAX_CHAR_OBS_94x94): Deleted.
3649
3650 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3651
3652         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3653
3654         * char-ucs.h (MAX_CHAR_BMP): New macro.
3655
3656 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3657
3658         * text-coding.c: Sync with r21-2-24.
3659
3660 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3661
3662         * file-coding.c: Modify for UTF-2000.
3663
3664 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3665
3666         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3667         to 0.13 (Takaida).
3668
3669 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3670
3671         * mule-charset.c (split_builtin_char): Delete builtin support for
3672         `katakana-jisx0201'.
3673         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3674         BMP area in builtin representation.
3675
3676         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3677         `Vcharset_katakana_jisx0201'.
3678
3679 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3680
3681         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3682         (Qisolated): New variable.
3683         (Qinitial): New variable.
3684         (Qmedial): New variable.
3685         (Qfinal): New variable.
3686         (Qvertical): New variable.
3687         (Qsmall): New variable.
3688         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3689         `Qvertical' and `Qsmall'.
3690         (Qmojikyo_pj_[1 .. 21]): New variable.
3691         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3692         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3693         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3694         .. 21]'.
3695
3696 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3697
3698         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3699         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3700         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3701
3702 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3703
3704         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3705         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3706         BMP.
3707         (Qjapanese_jisx0208_1990): New variable.
3708         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3709         (complex_vars_of_mule_charset): Add new coded-charset
3710         `japanese-jisx0208-1990'.
3711
3712         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3713         (MIN_CHAR_JIS_X0208_1990): New macro.
3714         (MAX_CHAR_JIS_X0208_1990): New macro.
3715
3716 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3717
3718         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3719         coded-charset is not found.
3720
3721 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3722
3723         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3724         (Fdefine_char): Use `Fmake_char'.
3725
3726 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3727
3728         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3729         (Vcharset_hiragana_jisx0208): Deleted.
3730         (Vcharset_katakana_jisx0208): Deleted.
3731         (Qideograph_daikanwa): New variable.
3732         (Qhiragana_jisx0208): Deleted.
3733         (Qkatakana_jisx0208): Deleted.
3734         (split_builtin_char): Split `ideograph-daikanwa'.
3735         (Fsplit_char): New implementation for UTF-2000.
3736         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3737         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3738         (complex_vars_of_mule_charset): Add new coded-charset
3739         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3740         `katakana-jisx0208'.
3741
3742         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3743         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3744         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3745         (MIN_CHAR_DAIKANWA): New macro.
3746         (MAX_CHAR_DAIKANWA): New macro.
3747
3748 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3749
3750         * data.c (Fstring_to_number): Don't recognize floating point if
3751         base is not 10.
3752
3753 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3754
3755         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3756
3757 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3758
3759         * mule-charset.c (Qsquare): New variable.
3760         (to_char_code): Add `Qsquare'.
3761         (syms_of_mule_charset): Add new symbol `square'.
3762
3763 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3764
3765         * mule-charset.c (Qcircle): New variable.
3766         (to_char_code): Add `Qcircle'.
3767         (syms_of_mule_charset): Add new symbol `circle'.
3768
3769 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3770
3771         * mule-charset.c (Qfont): New variable.
3772         (to_char_code): Add `Qfont'.
3773         (syms_of_mule_charset): Add new symbol `font'.
3774
3775 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3776
3777         * mule-charset.c (Qsub): New variable.
3778         (to_char_code): Add `Qsub'.
3779         (syms_of_mule_charset): Add new symbol `sub'.
3780
3781 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3782
3783         * mule-charset.c (Fput_char_attribute): Convert each element of
3784         VALUE to GL position if ATTRIBUTE is a GR-set,
3785
3786 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3787
3788         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3789         coded-charset is a GR-set.
3790
3791 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3792
3793         * mule-charset.c (Fput_char_attribute): Check each element of
3794         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3795
3796 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3797
3798         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3799         UTF-2000.
3800         (Qethiopic_ucs): New variable in UTF-2000.
3801         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3802         (complex_vars_of_mule_charset): Add new coded-charset
3803         `ethiopic-ucs' in UTF-2000.
3804
3805         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3806         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3807         9)'.
3808         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3809         10)'.
3810         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3811
3812 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3813
3814         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3815         `ascii'.
3816
3817 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3818
3819         * mule-charset.c (Vcharacter_variant_table): New variable.
3820         (Q_ucs): New variable.
3821         (Fchar_variants): New function.
3822         (Fput_char_attribute): Register `->ucs' value to
3823         `Vcharacter_variant_table'.
3824         (syms_of_mule_charset): Add new function `char-variants' and new
3825         symbol `->ucs'.
3826         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3827
3828 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3829
3830         * mule-charset.c (get_char_code_table): Allow negative character
3831         code.
3832         (put_char_code_table): Likewise.
3833         (Vcharacter_composition_table): New variable.
3834         (Q_decomposition): New variable.
3835         (Qwide): New variable.
3836         (Qnarrow): New variable.
3837         (Qcompat): New variable.
3838         (QnoBreak): New variable.
3839         (Qsuper): New variable.
3840         (Qfraction): New variable.
3841         (to_char_code): New function.
3842         (Fget_composite_char): New function.
3843         (Fput_char_attribute): Register `->decomposition' value to
3844         `Vcharacter_composition_table'.
3845         (syms_of_mule_charset): Add new function `get-composite-char', new
3846         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3847         `super' and `fraction'.
3848         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3849
3850 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3851
3852         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3853         character; copy the return value.
3854
3855 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3856
3857         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3858
3859         * mule-charset.c (range_charset_code_point): Must use make_int.
3860         (split_builtin_char): New function.
3861
3862 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3863
3864         * mule-charset.c (char_byte_table): Change name from
3865         "char-code-table" to "char-byte-table".
3866         (mark_char_code_table): New function.
3867         (char_code_table_equal): New function.
3868         (char_code_table_hash): New function.
3869         (char_code_table_description): New constant.
3870         (char_code_table): New type.
3871         (make_char_code_table): New function.
3872         (copy_char_code_table): New function.
3873         (get_char_code_table): Modify for `char_code_table' type.
3874         (put_char_code_table): Likewise.
3875         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3876         (Kashiwara).
3877
3878         * char-ucs.h (char_code_table): New type.
3879         (XCHAR_CODE_TABLE): New macro.
3880         (XSETCHAR_CODE_TABLE): New macro.
3881         (CHAR_CODE_TABLE_P): New macro.
3882         (GC_CHAR_CODE_TABLE_P): New macro.
3883         (struct Lisp_Char_Code_Table): New structure.
3884
3885 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3886
3887         * mule-charset.c (Fmake_charset): Setup byte_offset for
3888         {94|96}^n-set.
3889
3890 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3891
3892         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3893         character.
3894
3895 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3896
3897         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3898         is found.
3899
3900 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3901
3902         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3903         charset, it is regarded as a charset.
3904         (put_char_attribute): New function in UTF-2000.
3905         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3906         charset, mapping-table of the charset is modified.
3907         (Fdefine_char): New function in UTF-2000.
3908         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3909         `Fput_char_attribute'.
3910         (syms_of_mule_charset): Add new function `define-char' and new
3911         symbol `ucs' in UTF-2000.
3912         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3913
3914 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3915
3916         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3917         non-UTF-2000 configuration.
3918
3919 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3920
3921         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3922         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3923
3924         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3925         deleted.
3926         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3927         (Fset_charset_mapping_table): Likewise.
3928
3929         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3930         (CHARSET_ENCODING_TABLE): Delete.
3931         (XCHARSET_ENCODING_TABLE): Delete.
3932         (charset_code_point): New interface.
3933
3934 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3935
3936         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3937         instead of `charset_get_byte1' and `charset_get_byte2'.
3938
3939         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3940         (charset_get_byte2): Deleted.
3941
3942 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3943
3944         * char-ucs.h (SPLIT_CHAR): New inline function.
3945         (breakup_char_1): Use `SPLIT_CHAR'.
3946
3947         * mule-charset.c (range_charset_code_point): New function.
3948         (charset_code_point): New function.
3949
3950         * char-ucs.h (range_charset_code_point): New interface.
3951         (breakup_char_1): Use `range_charset_code_point'.
3952
3953 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3954
3955         * mule-charset.c (Fmake_charset): Delete unused local variable
3956         `code_offset'.
3957
3958         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3959         (breakup_char_1): Find a charset and code-point in
3960         `Vcharacter_attribute_table'.
3961
3962 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3963
3964         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3965         to 0.10 (Yao).
3966
3967 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3968
3969         * mule-charset.c (Vcharacter_attribute_table): New variable.
3970         (Fchar_attribute_alist): New function.
3971         (Fget_char_attribute): New function.
3972         (Fput_char_attribute): New function.
3973         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3974         too.
3975         (syms_of_mule_charset): Add new function `char-attribute-alist',
3976         `get-char-attribute' and `put-char-attribute'.
3977         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3978
3979 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3980
3981         * mule-charset.c (Fmake_charset): Just use
3982         `get_unallocated_leading_byte'.
3983
3984         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3985         sets; don't use final-byte based number for private sets.
3986
3987 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3988
3989         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3990         integer.
3991
3992 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3993
3994         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3995         to 0.9.
3996
3997 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3998
3999         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4000         of `CHAR_LEADING_BYTE' in UTF-2000.
4001
4002         * insdel.c (find_charsets_in_bufbyte_string): Use
4003         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4004         (find_charsets_in_emchar_string): Likewise.
4005
4006         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4007         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4008
4009         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4010         (CHAR_CHARSET_ID): New macro.
4011
4012 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4013
4014         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4015         charset-id - MIN_LEADING_BYTE.
4016         (put_char_table): Likewise.
4017
4018 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4019
4020         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4021         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4022         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4023         (CHARSET_ID_OFFSET): New macro.
4024         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4025         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4026         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4027         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4028         4).
4029         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4030         5).
4031         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4032         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4033         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4034         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4035         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4036
4037 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4038
4039         * mule-charset.c (next_allocated_leading_byte): New variable in
4040         UTF-2000.
4041         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4042         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4043         (get_unallocated_leading_byte): Simply use
4044         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4045         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4046         UTF-2000.
4047
4048         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4049         (MAX_LEADING_BYTE_PRIVATE): New macro.
4050         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4051         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4052
4053 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4054
4055         * mule-charset.c (Fmake_charset): Allocate final-byte based
4056         charset-id for 94-set, 96-set and 94x94-set.
4057
4058 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4059
4060         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4061         ambiguous `else'.
4062         (Fmake_charset): Likewise.
4063         (complex_vars_of_mule_charset): Modify the font registry of
4064         `ucs-bmp' not to match `Ethiopic-Unicode'.
4065
4066 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4067
4068         * mule-charset.c (complex_vars_of_mule_charset): Add font
4069         registory of `ucs-bmp'.
4070
4071 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4072
4073         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4074         coded-charsets in `default-coded-charset-priority-list' when
4075         breaking up a character.
4076
4077         * mule-charset.c (Vcharset_latin_viscii): New variable.
4078         (Qlatin_viscii): New variable.
4079         (make_charset): Don't use `decoding_table'.
4080         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4081         byte_offset.
4082         (Fset_charset_mapping_table): New implementation.
4083         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4084         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4085         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4086         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4087         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4088         charset `latin_viscii'.
4089
4090         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4091         (CHARSET_TYPE_94X94): Change to 1 from 2.
4092         (CHARSET_TYPE_96): Change to 2 from 1.
4093         (CHARSET_TYPE_128): New macro.
4094         (CHARSET_TYPE_128X128): Change to 5 from 4.
4095         (CHARSET_TYPE_256): New macro.
4096         (CHARSET_TYPE_256X256): Change to 7 from 5.
4097         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4098
4099 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4100
4101         * text-coding.c (char_encode_shift_jis): Refer
4102         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4103         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4104
4105         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4106         (char_byte_table_equal): New function in UTF-2000.
4107         (char_byte_table_hash): New function in UTF-2000.
4108         (char_byte_table_description): New constant in UTF-2000.
4109         (char_byte_table): New type in UTF-2000.
4110         (make_char_byte_table): New function in UTF-2000.
4111         (copy_char_byte_table): New function in UTF-2000.
4112         (make_char_code_table): New macro in UTF-2000.
4113         (get_char_code_table): New function in UTF-2000.
4114         (put_char_code_table): New function in UTF-2000.
4115         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4116         (charset_description): Add setting in UTF-2000.
4117         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4118         `CHARSET_TO_BYTE1_TABLE(cs)'.
4119         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4120         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4121         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4122         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4123         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4124         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4125         `CHARSET_TO_BYTE2_TABLE(cs)'.
4126
4127         * char-ucs.h (char_byte_table): New type.
4128         (XCHAR_BYTE_TABLE): New macro.
4129         (XSETCHAR_BYTE_TABLE): New macro.
4130         (CHAR_BYTE_TABLE_P): New macro.
4131         (GC_CHAR_BYTE_TABLE_P): New macro.
4132         (struct Lisp_Char_Byte_Table): New structure.
4133         (get_char_code_table): New interface.
4134         (Emchar_to_byte_table): Deleted.
4135         (get_byte_from_character_table): Deleted.
4136         (struct Lisp_Charset): Add `encoding_table'; delete
4137         `to_byte1_table' and `to_byte2_table'.
4138         (CHARSET_ENCODING_TABLE): New macro.
4139         (CHARSET_TO_BYTE1_TABLE): Deleted.
4140         (CHARSET_TO_BYTE2_TABLE): Deleted.
4141         (XCHARSET_ENCODING_TABLE): New macro.
4142         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4143         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4144
4145 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4146
4147         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4148         `vietnamese-viscii-*'.
4149
4150 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4151
4152         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4153         (Qvietnamese_viscii_upper): New variable.
4154         (Fdefine_charset_alias): New function.
4155         (syms_of_mule_charset): Add new function `define-charset-alias'.
4156         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4157         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4158         `latin-viscii-*'.
4159
4160 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4161
4162         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4163         (MAX_CHAR_OBS_94x94): New macro.
4164         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4165         for 94x94 sets.
4166
4167         * mule-charset.c (put_byte_from_character_table): Change unit size
4168         from 128 to 256.
4169         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4170         not defined.
4171         (Fmake_reverse_direction_charset): Modify dummy argument of
4172         `make_charset' for non-UTF-2000 environment.
4173
4174 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4175
4176         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4177
4178         * mule-charset.c (destroy_byte_from_character_table): New macro.
4179         (latin_jisx0201_to_ucs): Deleted.
4180         (latin_iso8859_2_to_ucs): Deleted.
4181         (latin_iso8859_3_to_ucs): Deleted.
4182         (latin_iso8859_4_to_ucs): Deleted.
4183         (latin_iso8859_9_to_ucs): Deleted.
4184         (latin_viscii_lower_to_ucs): Deleted.
4185         (latin_viscii_upper_to_ucs): Deleted.
4186         (mark_charset): Mark `cs->decoding_table'.
4187         (Fcharset_mapping_table): Fix DOC-string.
4188         (Fset_charset_mapping_table): New function.
4189         (syms_of_mule_charset): Add nwe function
4190         `set-charset-mapping-table'.
4191         (complex_vars_of_mule_charset): Don't setup and use
4192         `latin_*_to_ucs'.
4193
4194 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4195
4196         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4197         charset.
4198
4199 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4200
4201         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4202         (Vcharset_katakana_jisx0208): New variable.
4203         (Qhiragana_jisx0208): New variable.
4204         (Qkatakana_jisx0208): New variable.
4205         (make_charset): Add new argument `byte_offset'.
4206         (charset_get_byte1): Modify for new coded-charset definition; use
4207         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4208         `XCHARSET_BYTE_OFFSET'.
4209         (Fmake_charset): Modify for `make_charset'.
4210         (Fmake_reverse_direction_charset): Likewise.
4211         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4212         `katakana-jisx0208'.
4213         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4214         `.'  in font registry of charset `katakana-jisx0201',
4215         `latin-jisx0201', `vietnamese-viscii-lower' and
4216         `vietnamese-viscii-upper'; modify DOC-string of charset
4217         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4218         registry of charset `japanese-jisx0208' not to use font for JIS
4219         X0208:1990; add new charset `hiragana-jisx0208' and
4220         `katakana-jisx0208'.
4221
4222         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4223         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4224         (struct Lisp_Charset): Add `byte_offset'.
4225         (CHARSET_BYTE_OFFSET): New macro.
4226         (XCHARSET_UCS_MIN): New macro.
4227         (XCHARSET_UCS_MAX): New macro.
4228         (XCHARSET_CODE_OFFSET): New macro.
4229         (XCHARSET_BYTE_OFFSET): New macro.
4230         (MIN_CHAR_HIRAGANA): New macro.
4231         (MAX_CHAR_HIRAGANA): New macro.
4232         (MIN_CHAR_KATAKANA): New macro.
4233         (MAX_CHAR_KATAKANA): New macro.
4234         (MAKE_CHAR): Modify for new coded-charset definition; use
4235         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4236         `XCHARSET_BYTE_OFFSET'.
4237
4238 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4239
4240         * mule-charset.c (CHAR96): Deleted.
4241         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4242         <Lisp_Object>.
4243         (latin_iso8859_2_to_ucs): Likewise.
4244         (latin_iso8859_3_to_ucs): Likewise.
4245         (latin_iso8859_4_to_ucs): Likewise.
4246         (latin_iso8859_9_to_ucs): Likewise.
4247         (latin_viscii_lower_to_ucs): Likewise.
4248         (latin_viscii_upper_to_ucs): Likewise.
4249         (latin_tcvn5712_to_ucs): Commented out.
4250         (make_charset): Change type of argument `decoding_table' from
4251         <Emchar*> to <Lisp_Object> [vector of characters].
4252         (Fmake_charset): Modify for `make_charset'.
4253         (Fmake_reverse_direction_charset): Likewise.
4254         (Fcharset_mapping_table): New function in UTF-2000.
4255         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4256         UTF-2000.
4257         (complex_vars_of_mule_charset): Modify for type change of
4258         `*_to_ucs'; modify for `make_charset'.
4259
4260         * char-ucs.h (struct Lisp_Charset): Change type of
4261         `decoding_table' from <Emchar*> to <Lisp_Object>.
4262         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4263
4264 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4265
4266         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4267         error with non-UTF-2000-Mule.
4268
4269 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4270
4271         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4272         in lisp again].
4273         (Vcharset_chinese_cns11643_4): Likewise.
4274         (Vcharset_chinese_cns11643_5): Likewise.
4275         (Vcharset_chinese_cns11643_6): Likewise.
4276         (Vcharset_chinese_cns11643_7): Likewise.
4277         (Qchinese_cns11643_3): Likewise.
4278         (Qchinese_cns11643_4): Likewise.
4279         (Qchinese_cns11643_5): Likewise.
4280         (Qchinese_cns11643_6): Likewise.
4281         (Qchinese_cns11643_7): Likewise.
4282         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4283         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4284         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4285         (complex_vars_of_mule_charset): Likewise.
4286
4287 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4288
4289         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4290         96-set.
4291         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4292         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4293
4294 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4295
4296         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4297         0xFF60.
4298         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4299         (breakup_char_1): Likewise.
4300
4301         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4302         one of them includes the specified character.
4303
4304 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4305
4306         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4307
4308 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4309
4310         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4311
4312 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4313
4314         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4315         definition for non-UTF-2000 Mule.
4316         (latin_iso8859_3_to_ucs): Likewise.
4317         (latin_iso8859_4_to_ucs): Likewise.
4318         (latin_iso8859_9_to_ucs): Likewise.
4319         (latin_jisx0201_to_ucs): Likewise.
4320         (MIN_CHAR_THAI): Likewise.
4321         (MAX_CHAR_THAI): Likewise.
4322         (MIN_CHAR_GREEK): Likewise.
4323         (MAX_CHAR_GREEK): Likewise.
4324         (MIN_CHAR_HEBREW): Likewise.
4325         (MAX_CHAR_HEBREW): Likewise.
4326         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4327         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4328         (MIN_CHAR_CYRILLIC): Likewise.
4329         (MAX_CHAR_CYRILLIC): Likewise.
4330
4331 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4332
4333         * char-ucs.h (breakup_char_1): Use
4334         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4335         thai-tis620 and katakana-jisx0201 area.
4336
4337 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4338
4339         * char-ucs.h (breakup_char_1): Use
4340         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4341         area.
4342
4343         * text-coding.c (reset_encoding_stream): Fixed.
4344         (char_encode_ucs4): Delete `& 255'.
4345
4346         * char-ucs.h (breakup_char_1): Use
4347         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4348
4349 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4350
4351         * file-coding.c (Fmake_coding_system): Don't set up
4352         `codesys->fixed.size'.
4353         (encode_coding_no_conversion): Don't refer
4354         `str->codesys->fixed.size'.
4355
4356 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4357
4358         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4359         (latin_a_char_to_byte1): Deleted.
4360         (latin_a_char_to_byte2): Deleted.
4361
4362 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4363
4364         * mule-charset.c (make_charset): Add new argument `ucs_min',
4365         `ucs_max' and `code_offset'.
4366         (charset_get_byte1): New implementation [delete specific charset
4367         depended implementations].
4368         (Fmake_charset): Modify for `make_charset'.
4369         (Fmake_reverse_direction_charset): Likewise.
4370         (complex_vars_of_mule_charset): Likewise.
4371
4372         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4373         `code_offset'.
4374         (CHARSET_UCS_MIN): New macro.
4375         (CHARSET_UCS_MAX): New macro.
4376         (CHARSET_CODE_OFFSET): New macro.
4377         (MAKE_CHAR): Delete charset depended definitions [except
4378         katakana-jisx0201].
4379
4380 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4381
4382         * char-ucs.h (breakup_char_1): Use
4383         `Vdefault_coded_charset_priority_list' for C0-Controls,
4384         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4385
4386 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4387
4388         * char-ucs.h (charset_get_byte1): New function.
4389         (XCHARSET_GET_BYTE1): Deleted.
4390         (charset_get_byte2): New function.
4391         (XCHARSET_GET_BYTE2): Deleted.
4392         (Vdefault_coded_charset_priority_list): New external variable.
4393         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4394         `Vdefault_preferred_coded_charset_list'.
4395
4396         * mule-charset.c (charset_get_byte1): New function.
4397         (charset_get_byte2): New function.
4398         (Vdefault_coded_charset_priority_list): New variable.
4399         (vars_of_mule_charset): Add new variable
4400         `default-coded-charset-priority-list'.
4401
4402 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4403
4404         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4405         (XCHARSET_GET_BYTE2): New inline function.
4406         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4407         `XCHARSET_GET_BYTE2'.
4408
4409 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4410
4411         * mule-charset.c (make_charset): Initialize
4412         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4413         NULL if table is not defined.
4414
4415 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4416
4417         * text-coding.c (char_encode_shift_jis): Use
4418         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4419         `ucs_to_latin_jisx0201'.
4420
4421         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4422         (ucs_to_latin_iso8859_2): Deleted.
4423         (ucs_to_latin_iso8859_3): Deleted.
4424         (ucs_to_latin_iso8859_4): Deleted.
4425         (ucs_to_latin_iso8859_9): Deleted.
4426         (ucs_to_latin_viscii_lower): Deleted.
4427         (ucs_to_latin_viscii_upper): Deleted.
4428         (ucs_to_latin_tcvn5712): Deleted.
4429         (make_charset): Add new argument `decoding_table'; set up
4430         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4431         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4432         `decoding_table' is defined in UTF-2000.
4433         (Fmake_charset): Modify for `make_charset'.
4434         (Fmake_reverse_direction_charset): Likewise.
4435         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4436         and `GENERATE_96_SET'.
4437
4438         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4439         (ucs_to_latin_jisx0201): Deleted.
4440         (latin_iso8859_2_to_ucs): Deleted.
4441         (ucs_to_latin_iso8859_2): Deleted.
4442         (latin_iso8859_3_to_ucs): Deleted.
4443         (ucs_to_latin_iso8859_3): Deleted.
4444         (latin_iso8859_4_to_ucs): Deleted.
4445         (ucs_to_latin_iso8859_4): Deleted.
4446         (latin_iso8859_9_to_ucs): Deleted.
4447         (ucs_to_latin_iso8859_9): Deleted.
4448         (latin_viscii_lower_to_ucs): Deleted.
4449         (ucs_to_latin_viscii_lower): Deleted.
4450         (latin_viscii_upper_to_ucs): Deleted.
4451         (ucs_to_latin_viscii_upper): Deleted.
4452         (struct Lisp_Charset): Renamed `encoding_table' to
4453         `to_byte1_table'; add `to_byte2_table'.
4454         (CHARSET_DECODING_TABLE): New macro.
4455         (CHARSET_TO_BYTE1_TABLE): New macro.
4456         (CHARSET_TO_BYTE2_TABLE): New macro.
4457         (XCHARSET_DECODING_TABLE): New macro.
4458         (XCHARSET_TO_BYTE1_TABLE): New macro.
4459         (XCHARSET_TO_BYTE2_TABLE): New macro.
4460         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4461         tables.
4462         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4463         don't use `ucs_to_*' tables.
4464
4465 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4466
4467         * text-coding.c (Fmake_coding_system): Don't set up
4468         `codesys->fixed.size'.
4469         (encode_coding_no_conversion): Use `if' instead of `switch'.
4470
4471         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4472
4473 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4474
4475         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4476         (Fmake_charset): Modify for `make_charset'.
4477         (Fmake_reverse_direction_charset): Likewise.
4478         (complex_vars_of_mule_charset): Likewise.
4479
4480 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4481
4482         * text-coding.c (char_encode_shift_jis): Use table
4483         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4484
4485 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4486
4487         * text-coding.c (text_encode_generic): Use `if' instead of
4488         `switch'.
4489         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4490         decode JIS-Latin.
4491
4492 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4493
4494         * text-coding.c (encode_coding_sjis): Deleted.
4495         (char_encode_shift_jis): New function.
4496         (char_finish_shift_jis): New function.
4497         (reset_encoding_stream): Set up `encode_char' and `finish' for
4498         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4499         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4500         (char_encode_utf8): Treat `eol_type'.
4501
4502 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4503
4504         * file-coding.c (decode_coding_iso2022): Use
4505         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4506
4507 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4508
4509         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4510         to 0.7 (Hirano).
4511
4512 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4513
4514         * char-lb.h (CHAR_COLUMNS): New macro.
4515
4516 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4517
4518         * text-coding.c (char_encode_ucs4): New function.
4519         (char_finish_ucs4): New function.
4520         (encode_coding_ucs4): Deleted.
4521         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4522         (text_encode_generic): Delete local variable `charset' and `half'.
4523         (ucs_to_mule_table): Deleted.
4524         (mule_to_ucs_table): Deleted.
4525         (Fset_ucs_char): Deleted.
4526         (ucs_to_char): Deleted.
4527         (Fucs_char): Deleted.
4528         (Fset_char_ucs): Deleted.
4529         (Fchar_ucs): Deleted.
4530         (decode_ucs4): Deleted.
4531         (mule_char_to_ucs4): Deleted.
4532         (encode_ucs4): Deleted.
4533         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4534         (decode_coding_utf8): Likewise.
4535         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4536         (char_encode_iso2022): Fixed.
4537         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4538         `Fset_char_ucs' and `Fchar_ucs'.
4539         (complex_vars_of_file_coding): Don't initialize
4540         `ucs_to_mule_table'.
4541
4542         * objects-tty.c (tty_initialize_font_instance): Don't use
4543         `XCHARSET_COLUMNS'.
4544
4545         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4546         UTF-2000.
4547
4548         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4549         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4550
4551         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4552         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4553         (emchar_string_displayed_columns): Likewise.
4554
4555         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4556         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4557         (string_column_at_point): Likewise.
4558         (Fmove_to_column): Likewise.
4559
4560         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4561         `encoding_table' and `decoding_table'.
4562         (CHARSET_REP_BYTES): Deleted.
4563         (XCHARSET_REP_BYTES): Deleted.
4564         (XCHARSET_COLUMNS): Deleted.
4565         (CHAR_COLUMNS): New macro.
4566         (lookup_composite_char): Deleted unconditionally.
4567         (composite_char_string): Likewise.
4568
4569 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4570
4571         * char-ucs.h (Emchar_to_byte_table): New type.
4572         (get_byte_from_character_table): New function interface.
4573         (Vcharset_latin_jisx0201): New variable.
4574         (latin_jisx0201_to_ucs): New variable.
4575         (ucs_to_latin_jisx0201): New variable.
4576         (Vcharset_latin_iso8859_2): New variable.
4577         (latin_iso8859_2_to_ucs): New variable.
4578         (ucs_to_latin_iso8859_2): New variable.
4579         (Vcharset_latin_iso8859_3): New variable.
4580         (latin_iso8859_3_to_ucs): New variable.
4581         (ucs_to_latin_iso8859_3): New variable.
4582         (Vcharset_latin_iso8859_4): New variable.
4583         (latin_iso8859_4_to_ucs): New variable.
4584         (ucs_to_latin_iso8859_4): New variable.
4585         (Vcharset_latin_iso8859_9): New variable.
4586         (latin_iso8859_9_to_ucs): New variable.
4587         (ucs_to_latin_iso8859_9): New variable.
4588         (Vcharset_latin_viscii_lower): New variable.
4589         (latin_viscii_lower_to_ucs): New variable.
4590         (ucs_to_latin_viscii_lower): New variable.
4591         (Vcharset_latin_viscii_upper): New variable.
4592         (latin_viscii_upper_to_ucs): New variable.
4593         (ucs_to_latin_viscii_upper): New variable.
4594         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4595         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4596         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4597         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4598         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4599         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4600         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4601         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4602         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4603         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4604
4605         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4606         (Vcharset_latin_viscii_upper): New variable.
4607         (make_byte_from_character_table): New function.
4608         (put_byte_from_character_table): New function.
4609         (get_byte_from_character_table): New function.
4610         (CHAR96): New macro.
4611         (ucs_to_latin_jisx0201): New variable.
4612         (latin_jisx0201_to_ucs): New variable.
4613         (ucs_to_latin_iso8859_2): New variable.
4614         (latin_iso8859_2_to_ucs): New variable.
4615         (ucs_to_latin_iso8859_3): New variable.
4616         (latin_iso8859_3_to_ucs): New variable.
4617         (ucs_to_latin_iso8859_4): New variable.
4618         (latin_iso8859_4_to_ucs): New variable.
4619         (ucs_to_latin_iso8859_9): New variable.
4620         (latin_iso8859_9_to_ucs): New variable.
4621         (ucs_to_latin_viscii_lower): New variable.
4622         (latin_viscii_lower_to_ucs): New variable.
4623         (ucs_to_latin_viscii_upper): New variable.
4624         (latin_viscii_upper_to_ucs): New variable.
4625         (ucs_to_latin_tcvn5712): New variable.
4626         (latin_tcvn5712_to_ucs): New variable.
4627         (Qlatin_viscii_lower): New variable.
4628         (Qlatin_viscii_upper): New variable.
4629         (syms_of_mule_charset): Set up new symbol
4630         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4631         (complex_vars_of_mule_charset): Set up new charset
4632         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4633         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4634         `ucs_to_<CHARSET>' tables.
4635
4636 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4637
4638         * text-coding.c: New file.
4639
4640 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4641
4642         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4643
4644         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4645         (MAKE_CHAR): Modify for `ucs-bmp'.
4646         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4647         non-MULE characters of BMP.
4648
4649 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4650
4651         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4652         to 0.6.
4653
4654 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4655
4656         * lstream.h:
4657         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4658         - Include character.h for `CHAR_ASCII_P'.
4659
4660         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4661
4662         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4663         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4664
4665         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4666         (BYTE_C0_P): Likewise.
4667         (BYTE_C1_P): Likewise.
4668         (Lstream_get_emchar_1): Likewise.
4669         (Lstream_fput_emchar): Likewise.
4670         (Lstream_funget_emchar): Likewise.
4671         (copy_internal_to_external): Likewise.
4672         (copy_external_to_internal): Likewise.
4673
4674         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4675         (BYTE_C0_P): Likewise.
4676         (BYTE_C1_P): Likewise.
4677         (Lstream_get_emchar_1): Likewise.
4678         (Lstream_fput_emchar): Likewise.
4679         (Lstream_funget_emchar): Likewise.
4680         (copy_internal_to_external): Likewise.
4681         (copy_external_to_internal): Likewise.
4682
4683         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4684         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4685
4686         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4687         (BYTE_ASCII_P): Moved to mb-1byte.h.
4688
4689 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4690
4691         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4692
4693         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4694         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4695         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4696         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4697         (VALIDATE_CHARPTR_FORWARD): Likewise.
4698         (simple_charptr_emchar): Moved to mb-multibyte.h.
4699         (simple_set_charptr_emchar): Likewise.
4700         (simple_charptr_copy_char): Likewise.
4701         (non_ascii_charptr_emchar): Likewise.
4702         (non_ascii_set_charptr_emchar): Likewise.
4703         (non_ascii_charptr_copy_char): Likewise.
4704         (charptr_emchar): Moved to mb-*byte.h.
4705         (set_charptr_emchar): Likewise.
4706         (charptr_copy_char): Likewise.
4707
4708         * mb-1byte.h, mb-multibyte.h: New files.
4709
4710 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4711
4712         * mb-utf-8.h (MULTIBYTE): New macro.
4713         (MAX_EMCHAR_LEN): Moved from buffer.h.
4714         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4715
4716         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4717
4718         * mb-lb.h, multibyte.h: New files.
4719
4720         * char-1byte.h (Charset_ID): Moved from buffer.h.
4721         (MIN_LEADING_BYTE): Likewise.
4722         (LEADING_BYTE_ASCII): Likewise.
4723         (NUM_LEADING_BYTES): Likewise.
4724         (CHARSETP): Likewise.
4725         (CHARSET_BY_LEADING_BYTE): Likewise.
4726         (XCHARSET_LEADING_BYTE): Likewise.
4727         (XCHARSET_GRAPHIC): Likewise.
4728         (XCHARSET_COLUMNS): Likewise.
4729         (XCHARSET_DIMENSION): Likewise.
4730         (CHAR_CHARSET): Likewise.
4731         (CHAR_LEADING_BYTE): Likewise.
4732         (BREAKUP_CHAR): Likewise.
4733         (Vcharset_ascii): Likewise.
4734
4735         * buffer.h: Include multibyte.h unconditionally.
4736         (VALID_CHARPTR_P): Moved to multibyte.h.
4737         (ASSERT_VALID_CHARPTR): Likewise.
4738         (REAL_INC_CHARPTR): Likewise.
4739         (REAL_INC_CHARBYTIND): Likewise.
4740         (REAL_DEC_CHARPTR): Likewise.
4741         (INC_CHARPTR): Likewise.
4742         (INC_CHARBYTIND): Likewise.
4743         (DEC_CHARPTR): Likewise.
4744         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4745         (VALIDATE_CHARPTR_FORWARD): Likewise.
4746         (charptr_n_addr): Likewise.
4747         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4748         (simple_charptr_emchar): Moved to multibyte.h.
4749         (simple_set_charptr_emchar): Likewise.
4750         (simple_charptr_copy_char): Likewise.
4751         (non_ascii_charptr_emchar): Likewise.
4752         (non_ascii_set_charptr_emchar): Likewise.
4753         (non_ascii_charptr_copy_char): Likewise.
4754         (charptr_emchar): Likewise.
4755         (set_charptr_emchar): Likewise.
4756         (charptr_copy_char): Likewise.
4757         (charptr_emchar_n): Likewise.
4758         (Charset_ID): Moved to char-1byte.h.
4759         (Vcharset_ascii): Likewise.
4760         (CHAR_CHARSET): Likewise.
4761         (CHAR_LEADING_BYTE): Likewise.
4762         (LEADING_BYTE_ASCII): Likewise.
4763         (NUM_LEADING_BYTES): Likewise.
4764         (MIN_LEADING_BYTE): Likewise.
4765         (CHARSETP): Likewise.
4766         (CHARSET_BY_LEADING_BYTE): Likewise.
4767         (XCHARSET_LEADING_BYTE): Likewise.
4768         (XCHARSET_GRAPHIC): Likewise.
4769         (XCHARSET_COLUMNS): Likewise.
4770         (XCHARSET_DIMENSION): Likewise.
4771         (BREAKUP_CHAR): Likewise.
4772
4773 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4774
4775         * character.h: Add document about interface for characters.
4776
4777         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4778         (MAKE_CHAR): Delete comment about
4779         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4780         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4781         (BREAKUP_CHAR): Modify name of arguments.
4782         (CHAR_CHARSET): Modify name of argument.
4783
4784         * buffer.h: Delete document about Emchar accessors.
4785
4786 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4787
4788         * character.h (CHAR_INTP): Moved from buffer.h
4789         (CHAR_OR_CHAR_INTP): Likewise.
4790         (XCHAR_OR_CHAR_INT): Likewise.
4791         (CHECK_CHAR_COERCE_INT): Likewise.
4792
4793         * buffer.h (CHAR_INTP): Moved to character.h
4794         (CHAR_OR_CHAR_INTP): Likewise.
4795         (XCHAR_OR_CHAR_INT): Likewise.
4796         (CHECK_CHAR_COERCE_INT): Likewise.
4797
4798 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4799
4800         * character.h:
4801         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4802         - Include char-1byte.h, char-lb.h or char-ucs.h.
4803
4804         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4805
4806         * buffer.h: Include character unconditionally.
4807         (valid_char_p): Moved to char-*.h.
4808         (non_ascii_valid_char_p): Moved to char-lb.h.
4809
4810         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4811
4812 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4813
4814         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4815         in UTF-2000 because it is not ported yet and not to use
4816         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4817         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4818         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4819
4820         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4821         (CHAR_ASCII_P): Moved from character.h.
4822
4823         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4824         (CHAR_ASCII_P): Likewise.
4825         (CHAR_FIELD1_MASK): Deleted.
4826         (CHAR_FIELD2_MASK): Deleted.
4827         (CHAR_FIELD3_MASK): Deleted.
4828         (MAX_CHAR_BASIC_LATIN): New macro.
4829         (CHAR_FIELD1): Deleted.
4830         (CHAR_FIELD2_INTERNAL): Deleted.
4831         (CHAR_FIELD3_INTERNAL): Deleted.
4832         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4833         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4834         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4835         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4836         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4837         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4838         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4839         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4840         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4841         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4842         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4843         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4844         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4845         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4846         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4847         (MIN_CHAR_COMPOSITION): Deleted.
4848         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4849         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4850
4851 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4852
4853         * buffer.h: Include mb-utf-8.h in UTF-2000.
4854
4855         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4856
4857         * mb-utf-8.h: New file.
4858
4859 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4860
4861         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4862         instead of `int'.
4863
4864         * mule-charset.h, buffer.h (Charset_ID): New type.
4865
4866 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4867
4868         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4869         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4870         instead of `MULE_CHAR_PRIVATE_OFFSET',
4871         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4872         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4873         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4874
4875         * character.h (Vcharset_japanese_jisx0212): New variable
4876         definition.
4877
4878 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4879
4880         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4881         (charset_by_attributes): Delete array about direction.
4882         (latin_a_char_to_charset): New variable in UTF-2000.
4883         (latin_a_char_to_byte1): New variable in UTF-2000.
4884         (latin_a_char_to_byte2): New variable in UTF-2000.
4885         (Qucs_bmp): New variable.
4886         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4887         `Bufbyte'.
4888         (next_allocated_2_byte_leading_byte): Likewise.
4889         (non_ascii_set_charptr_emchar): Likewise.
4890         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4891         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4892         `charset_by_attributes'.
4893         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4894         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4895         and `CHARSET_BY_LEADING_BYTE'.
4896         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4897         `utf-2000-version' to `vars_of_mule_charset'.
4898         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4899         define `leading-code-private-11' in UTF-2000; move setting of
4900         `utf-2000-version' from `syms_of_mule_charset'.
4901         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4902         UTF-2000.
4903
4904         * character.h (Charset_ID): New type.
4905         (LEADING_BYTE_UCS_BMP): New macro.
4906         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4907         (CHARSET_ID_OFFSET_94): New macro.
4908         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4909         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4910         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4911         final-byte.
4912         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4913         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4914         (CHARSET_ID_OFFSET_96): New macro.
4915         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4916         CHARSET_ID_OFFSET_96 and final-byte.
4917         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4918         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4919         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4920         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4921         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4922         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4923         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4924         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4925         (LEADING_BYTE_THAI_TIS620): Likewise.
4926         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4927         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4928         (CHARSET_ID_OFFSET_94x94): New macro.
4929         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4930         CHARSET_ID_OFFSET_94x94 and final-byte.
4931         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4932         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4933         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4934         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4935         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4936         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4937         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4938         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4939         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4940         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4941         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4942         (CHARSET_TYPE_128X128): New macro.
4943         (CHARSET_TYPE_256X256): New macro.
4944         (XCHARSET_PRIVATE_P): Delete unconditionally.
4945         (charset_by_attributes): Delete array about direction.
4946         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4947         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4948         (MIN_CHAR_94): New macro.
4949         (MAX_CHAR_94): New macro.
4950         (MIN_CHAR_96): New macro.
4951         (MAX_CHAR_96): New macro.
4952         (MIN_CHAR_94x94): New macro.
4953         (MAX_CHAR_94x94): New macro.
4954         (MIN_CHAR_96x96): New macro.
4955         (MAX_CHAR_96x96): New macro.
4956         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4957         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4958         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4959         - 32)'.
4960         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4961         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4962         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4963         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4964         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4965         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4966         `XCHARSET_LEADING_BYTE' to make code-point.
4967         (latin_a_char_to_charset): New variable.
4968         (latin_a_char_to_byte1): New variable.
4969         (latin_a_char_to_byte2): New variable.
4970         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4971         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4972         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4973
4974         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4975         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4976         (find_charsets_in_emchar_string): Likewise.
4977         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4978
4979         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4980         `int'.
4981         (decode_coding_iso2022): Likewise.
4982
4983         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4984         of `unsigned char'.
4985
4986         * redisplay.c (redisplay_text_width_emchar_string): Use
4987         `Charset_ID' instead of `unsigned char'.
4988         (redisplay_frame_text_width_string): Likewise.
4989
4990         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4991         `unsigned char'.
4992
4993         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4994         instead of `unsigned char'.
4995         (face_cachel_charset_font_metric_info): Likewise.
4996
4997         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4998         (get_non_ascii_char_table_value): Likewise.
4999         (get_char_table): Likewise.
5000         (put_char_table): Likewise.
5001         (map_over_other_charset): Likewise.
5002         (map_char_table): Likewise.
5003
5004         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5005         instead of `unsigned char'.
5006
5007 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5008
5009         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5010         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5011
5012         * mule-charset.c (leading_code_private_11): Don't define in
5013         UTF-2000.
5014
5015         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5016         in UTF-2000 because it is not ported yet and not to use
5017         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5018
5019 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5020
5021         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5022
5023 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5024
5025         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5026         in UTF-2000.
5027
5028         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5029         of unsigned char to store leading-byte.
5030
5031         * chartab.c (get_non_ascii_char_table_value): Don't use
5032         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5033
5034         * file-coding.c (encode_coding_big5): Delete bogus implementation
5035         in UTF2000.
5036
5037         * character.h (LEADING_BYTE_*): Delete definition for
5038         non-UTF-2000.
5039         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5040         (LEADING_BYTE_PREFIX_P): Deleted.
5041         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5042         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5043         (BUFBYTE_LEADING_BYTE_P): Deleted.
5044         (CHARSET_PRIVATE_P): Deleted unconditionally.
5045         (rep_bytes_by_first_byte): Deleted unconditionally.
5046         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5047         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5048         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5049         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5050         (CHAR_FIELD2): Deleted.
5051         (CHAR_FIELD3): Deleted.
5052         (MAKE_CHAR): Delete definition for non-UTF-2000.
5053         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5054         (breakup_char_1): New implementation.
5055         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5056         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5057
5058 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5059
5060         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5061         condition.
5062
5063 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5064
5065         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5066         (CHARSET_PRIVATE_P): Likewise.
5067         (XCHARSET_PRIVATE_P): Likewise.
5068         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5069
5070         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5071         UTF2000.
5072         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5073
5074 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5075
5076         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5077         (NUM_LEADING_BYTES): Changed from 128 to 256.
5078         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5079         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5080         UTF2000.
5081         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5082
5083         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5084         UTF2000.
5085         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5086         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5087         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5088         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5089         (Qchinese_cns11643_3): New variable in UTF2000.
5090         (Qchinese_cns11643_4): New variable in UTF2000.
5091         (Qchinese_cns11643_5): New variable in UTF2000.
5092         (Qchinese_cns11643_6): New variable in UTF2000.
5093         (Qchinese_cns11643_7): New variable in UTF2000.
5094         (syms_of_mule_charset): Define `chinese-cns11643-3',
5095         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5096         and `chinese-cns11643-7' in UTF2000.
5097         (vars_of_mule_charset): Initialize
5098         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5099         + 1 in UTF2000.
5100         (complex_vars_of_mule_charset): Setup charset
5101         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5102         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5103
5104 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5105
5106         * mule-charset.c: Move setting for `leading-code-private-11' from
5107         `syms_of_mule_charset' to `vars_of_mule_charset'.
5108
5109 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5110
5111         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5112         and `NUM_LEADING_BYTES' in assert.
5113
5114 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5115
5116         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5117         instead of 128.
5118         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5119         `NUM_LEADING_BYTES' instead of 128.
5120
5121 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5122
5123         * mule-charset.h (charset_by_leading_byte): Use
5124         `NUM_LEADING_BYTES' instead of 128.
5125         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5126
5127         * mule-charset.c (charset_by_leading_byte): Use
5128         `NUM_LEADING_BYTES' instead of 128.
5129         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5130
5131         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5132         128.
5133
5134 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5135
5136         * mule-charset.c (syms_of_mule_charset): Update to
5137         0.4 (Shin-Imamiya).
5138
5139 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5140
5141         * file-coding.c (encode_coding_sjis): New implementation for
5142         UTF2000.  (decode_coding_sjis): Ditto.
5143
5144 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5145
5146         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5147         Don't define in UTF2000.
5148
5149         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5150         defined.
5151
5152         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5153         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5154         MULE.
5155
5156 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5157
5158         * config.h.in (CHAR_IS_UCS4): New macro.
5159
5160         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5161         conventional MULE representation.
5162         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5163
5164         * mule-charset.h: Reverted to original.
5165
5166         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5167         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5168         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5169
5170         * character.h: New file.
5171
5172         * file-coding.c (Fmake_coding_system): Set 1 to
5173         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5174         defined.
5175         (encode_coding_no_conversion): New implementation for UTF2000.
5176
5177         * file-coding.h (struct Lisp_Coding_System): Add new member
5178         `fixed.size'.
5179
5180 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5181
5182         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5183         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5184         (encode_coding_iso2022): New implementation for UTF2000.
5185
5186 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5187
5188         * mule-canna.c (c2mu): New implementation for UTF2000.
5189         (m2c): Likewise.
5190
5191 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5192
5193         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5194
5195 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5196
5197         * file-coding.c (reset_encoding_stream): Set 0 to
5198         `str->iso2022.current_char_boundary' in UTF2000.
5199         (encode_utf8): Don't define in UTF2000.
5200         (encode_coding_utf8): New implementation for UTF-8 representation
5201         of UTF2000.
5202         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5203
5204 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5205
5206         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5207
5208         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5209         UTF2000.
5210         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5211
5212         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5213
5214         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5215         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5216         as UTF-8 in UTF2000.
5217         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5218         (non_ascii_valid_char_p): Don't define in UTF2000.
5219         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5220         (Lstream_get_emchar_1): Likewise.
5221         (utf-2000-version): New variable in UTF2000.
5222
5223         * lread.c (read_escape): Add new reader `u'.
5224
5225         * insdel.c (three_to_one_table): Don't define in UTF2000.
5226         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5227         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5228         UTF2000.
5229         (bytind_to_bufpos_func): Likewise.
5230         (buffer_mule_signal_inserted_region): Likewise.
5231         (vars_of_insdel): Don't initialize `three_to_one_table'.
5232         (init_buffer_text): Use `buf->text->mule_size' instead of
5233         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5234         UTF2000.
5235
5236         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5237         UTF-8 representation in UTF2000.
5238         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5239         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5240         (decode_coding_iso2022): Don't define local variable `lb' in
5241         UTF2000; don't use LEADING_BYTE in UTF2000; use
5242         `DECODE_ADD_UCS_CHAR' in UTF2000.
5243         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5244
5245         * config.h.in (UTF2000): New macro.
5246
5247         * buffer.h (struct buffer_text): Add new member `mule_size' and
5248         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5249         (valid_char_p): Return always 1 in UTF2000.
5250         (MAX_EMCHAR_LEN): 6 in UTF2000.
5251         (three_to_one_table): Don't define in UTF2000.
5252         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5253         UTF2000.
5254         (real_bytind_to_bufpos): Likewise.
5255
5256         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5257
5258 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5259
5260         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5261         representation change.
5262         (Vutf_2000_version): New variable.
5263         (leading_code_private_11): New variable.
5264         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5265         `leading-code-private-11'.
5266
5267         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5268         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5269         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5270         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5271         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5272         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5273         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5274         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5275         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5276         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5277         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5278         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5279         (MIN_CHAR_GREEK): New macro.
5280         (MAX_CHAR_GREEK): New macro.
5281         (MIN_CHAR_CYRILLIC): New macro.
5282         (MAX_CHAR_CYRILLIC): New macro.
5283         (MIN_CHAR_HEBREW): New macro.
5284         (MAX_CHAR_HEBREW): New macro.
5285         (MIN_CHAR_THAI): New macro.
5286         (MAX_CHAR_THAI): New macro.
5287         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5288         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5289         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5290         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5291         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5292         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5293         (CHAR_FIELD2): New inline function.
5294         (CHAR_FIELD3): New inline function.
5295         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5296         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5297         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5298         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5299         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5300         (MIN_CHAR_COMPOSITION): Likewise.
5301         (CHAR_LEADING_BYTE): Modified for character representation change.
5302         (MAKE_CHAR): Likewise.
5303
5304         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5305         (Vcharset_greek_iso8859_7): Likewise.
5306         (Vcharset_cyrillic_iso8859_5): Likewise.
5307         (Vcharset_hebrew_iso8859_8): Likewise.
5308         (Vcharset_thai_tis620): Likewise.
5309         (Vcharset_katakana_jisx0201): Likewise.
5310
5311 2003-09-03  Vin Shelton <acs@xemacs.org>
5312
5313         * XEmacs 21.4.14 is released
5314
5315 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5316
5317         * config.h.in (REGEX_MALLOC): Make it configure'able.
5318
5319 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5320
5321         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5322         linking.
5323         * sysdll.c (dll_init):
5324         * sysdll.c (dll_open):
5325         * sysdll.c (dll_close):
5326         * sysdll.c (dll_function):
5327         * sysdll.c (dll_variable):
5328         * sysdll.c (dll_error):
5329         Add support for loading bundles using Darwin/MacOSX
5330         native API.
5331
5332 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5333
5334         * process.c (start-process-internal): Document coding systems.
5335
5336 2003-07-30  Jerry James  <james@xemacs.org>
5337
5338         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5339
5340 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5341
5342         * event-msw.c (mswindows_enqueue_mouse_button_event):
5343         * event-msw.c (mswindows_wnd_proc):
5344           enqueue button event when scrollwheel event isn't handled by 
5345           mswindows_handle_mousewheel_event, such as when the scrollbars
5346           are not showing.
5347
5348 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5349
5350         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5351
5352 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5353
5354         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5355
5356 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5357
5358         * regex.c (re_match_2_internal): Fix matching degenerate word
5359         boundaries.
5360
5361 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5362
5363         * XEmacs 21.4.13 is released
5364
5365 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5366
5367         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5368         * lisp.h (<inttypes.h>):
5369         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5370         the definition.
5371
5372 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5373
5374         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5375         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5376         Result: "temacs can only be run in -batch mode."
5377         Fix: Check xemacs executable candidate for directory-ness.
5378
5379 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5380
5381         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5382           they conflict with <sys/types.h>.
5383
5384 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5385
5386         * database.c: Berkeley DB wants __STDC__ to be defined.
5387
5388 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5389
5390         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5391
5392 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5393
5394         * process-unix.c (unix_send_process): Fix C++ compile error.
5395
5396 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5397
5398         * Added .dylib as an acceptable shared library file extension
5399         * to support MacOSX.
5400
5401 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5402
5403         * EmacsFrameP.h (EmacsFramePart):
5404         Kludge to allow compiling with Motif1, but linking with Motif2.
5405
5406 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5407
5408         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5409
5410
5411 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5412
5413         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5414
5415 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5416
5417         * sysdll.c: Included lisp.h to define needed alloca_array.
5418
5419 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5420
5421         Make XEmacs redisplay 10 times faster.
5422         If, that is, you're using a slow X connection and MoveOpaque.
5423         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5424         Use compress_motion = TRUE.
5425         * EmacsFrame.c (emacsFrameClassRec): 
5426         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5427         * EmacsManager.c (emacsManagerClassRec):
5428         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5429
5430 2003-01-30  Vin Shelton  <acs@xemacs.org>
5431
5432         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5433
5434 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5435
5436         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5437         Patch by Martin Buchholz.
5438
5439 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5440
5441         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5442         Thanks to icc for warning and Martin Buchholz for reporting.
5443
5444 2003-01-29  Vin Shelton <acs@xemacs.org>
5445
5446         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5447
5448         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5449         remember to multiply by the element size.
5450
5451 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5452
5453         * XEmacs 21.4.12 "Portable Code" is released.
5454
5455 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5456
5457         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5458         * s/cygwin.sc: new linker file.
5459
5460 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5461
5462         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5463
5464         * redisplay-x.c (x_output_string): Use X11-specified types.
5465         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5466         * emacs.c (__free_hook): Use typeof with Intel compiler.
5467         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5468
5469 2003-01-08  Andy Piper  <andy@xemacs.org>
5470
5471         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5472         reserve size during unexec().
5473
5474 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5475
5476         * process-unix.c (unix_create_process): Don't let outchannel block.
5477
5478 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5479
5480         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5481         Needed for IsBadReadPtr().
5482
5483 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5484
5485         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5486
5487 2002-12-14  Ben Wing  <ben@xemacs.org>
5488
5489         * callint.c: Declaration error.
5490         * dumper.c (pdump):
5491         * dumper.c (pdump_load): Warning fix.
5492         * process.c: GCPRO error.
5493         * glyphs.c (unmap_subwindow):
5494         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5495         * event-stream.c (maybe_kbd_translate): Wrong argument to
5496         character_to_event().
5497
5498         * alloc.c (garbage_collect_1):
5499         * emacs.c:
5500         * emacs.c (debug_can_access_memory):
5501         * emacs.c (fatal_error_signal):
5502         * emacs.c (mswindows_handle_hardware_exceptions):
5503         * emacs.c (main_1):
5504         * emacs.c (main):
5505         * emacs.c (assert_failed):
5506         * emacs.c (syms_of_emacs):
5507         * lisp.h:
5508         * print.c:
5509         * print.c (std_handle_out_va):
5510         * print.c (write_string_to_stdio_stream):
5511         * print.c (write_fmt_string):
5512         * print.c (printing_badness):
5513         * print.c (printing_major_badness):
5514         * print.c (print_internal):
5515         * print.c (debug_print_no_newline):
5516         * print.c (debug_backtrace):
5517         Be more defensive in handling bad values when printing.  Add code
5518         from trunk involving inhibit_non_essential_printing_operations.
5519         When going down or in debug_print(), don't do external conversion
5520         and such and try really, really hard when printing to avoid core
5521         dumping.  Add force-debugging-signal, debug_break().
5522
5523 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5524
5525         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5526         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5527
5528 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5529
5530         * database.c: Fix open_database. Berkeley DB API has changed in
5531         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5532
5533 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5534
5535         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5536
5537 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5538
5539         * event-Xt.c (Xt_timeout):
5540         (Xt_timeout_callback):
5541         (emacs_Xt_add_timeout):
5542         (emacs_Xt_remove_timeout):
5543         (Xt_timeout_to_emacs_event):
5544         Turn completed_timeouts from a stack into a queue.  Fixes
5545         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5546
5547 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5548
5549         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5550         * emacs.c (main): Assert that mmap'd allocation is disabled.
5551
5552 2002-10-14  Andy Piper  <andy@xemacs.org>
5553
5554         * glyphs-widget.c (layout_query_geometry): add in fiddle
5555         factor. Include border text in width layout calculation.
5556         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5557
5558 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5559
5560         * XEmacs 21.4.10 "Military Intelligence" is released.
5561
5562 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5563
5564         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5565         using the NAS private array SoundFileInfo that no longer exists in
5566         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5567         and earlier.  This is broken for some versions between 1.5a and
5568         1.5f.
5569
5570 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5571
5572         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5573
5574         * emacs.c (shut_down_emacs): Improve crash message.
5575
5576 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5577
5578         * file-coding.c (determine_real_coding_system): Check for coding
5579         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5580         shebangs and Python PEP 263.
5581
5582 2002-10-08  Andy Piper  <andy@xemacs.org>
5583
5584         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5585         if static sizes haven't been set.
5586
5587 2002-08-30  Mike Alexander  <mta@arbortext.com>
5588
5589         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5590         to close a socket.
5591
5592 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5593
5594         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5595
5596 2002-09-20  Mike Sperber <mike@xemacs.org>
5597
5598         (This partially gets back my patch from 2002-07-20 without the
5599         bug.)
5600         * callproc.c (child_setup): Remove Ben's comment noting confusion
5601         over the file descriptors >= 3: close_process_descs() doesn't
5602         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5603         * process-unix.c (unix_create_process): Call
5604         begin_dont_check_for_quit to inhibit unwanted interaction (and
5605         thus breaking of X event synchronicity) in the child.
5606
5607 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5608
5609         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5610         widget.
5611
5612 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5613
5614         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5615         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5616         the xemacs process did not exit, but looped infinitely here.  This
5617         fixes that problem.
5618
5619 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5620
5621         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5622         (find_context): Improve comments.
5623
5624         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5625         (re_match_2): An XCHAR_TABLE operation was missing.
5626
5627         Many of the following changes were inspired by Andy Piper's (now
5628         obsolete) patch to make syntax-table text property lookup optional.
5629
5630         [Documentation]
5631
5632         * syntax.h (top level): Document semantics of syntax flags.
5633         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5634         * syntax.c, syntax.h (top level): Document syntax cache better in
5635         comments.
5636
5637         [Instrument syntax caching (temporary change)]
5638
5639         * syntax.h (enum syntax_cache_statistics_functions, struct
5640         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5641         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5642         * syntax.c (scan_words, Fforward_comment, scan_lists,
5643         Fbackward_prefix_characters):
5644         * font-lock.c (find_context):
5645         Use them to instrument syntax caching. 
5646         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5647         syntax_cache_statistics_function_names): New type and variables.
5648         * syntax.c (update_syntax_cache): Update and report statistics.
5649
5650         [Major syntax cache optimizations]
5651
5652         syntax.c (lookup_syntax_properties): Default off.
5653
5654         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5655         * syntax.c (update_syntax_cache):
5656         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5657
5658         [Minor syntax cache optimizations and code clarifications]
5659
5660         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5661         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5662         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5663         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5664         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5665         (Code clarification.)
5666
5667         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5668         scan_lists): Compute code from syncode, use Boolean macros instead
5669         of redundant masking operations.  (Code clarification; any decent
5670         compiler can do this optimization.)
5671
5672         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5673         for clarity.
5674
5675         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5676         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5677         use F*_single_property_change instead of F*_extent_change.
5678         Currently F*_single_property_change is _much_ less efficient.
5679
5680         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5681         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5682         syntax_cache.object properly, don't leave Qt or Qnil.
5683         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5684         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5685         tests for Qt or Qnil.
5686
5687 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5688
5689         * redisplay.c (point_in_line_start_cache): 
5690         * extents.c (print_extent_1):
5691         Fix warnings.
5692
5693         * extents.c (Fset_extent_property): Document `syntax-table' property.
5694
5695         * extents.h (Fnext_single_property_change): EXFUN it.
5696
5697 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5698
5699         * search.c (clear_unused_search_regs): New static function.
5700         (search_buffer): 
5701         (simple_search): 
5702         (boyer_moore):
5703         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5704         Minor clarifications in comments.
5705
5706         * regex.c (re_match_2_internal): Ensure no stale submatches.
5707
5708 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5709
5710         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5711
5712 2002-08-29  Jerry James  <james@xemacs.org>
5713
5714         * lisp.h: structrures -> structures.
5715
5716 2002-06-03  Andy Piper  <andy@xemacs.org>
5717
5718         * frame.c (frame_conversion_internal): add conversion appropriate
5719         for setting frame dimensions in pixels.
5720
5721         * console.h (struct console_methods): add device-specific widget
5722         layout functions.
5723
5724         * emacs.c (main_1): initialize glyph vars.
5725
5726         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5727         (handle_focus_event_2): new function. Allow focus to
5728         be set to a particular window and widget.
5729         (enqueue_focus_event): new function. Create a
5730         synthetic focus event.
5731         (emacs_Xt_handle_magic_event): call
5732         handle_focus_event_2.
5733
5734         * frame.c (Fset_frame_pixel_height): new function. Allow
5735         pixel-based sizing. Does the right thing on character-oriented
5736         displays.
5737         (Fset_frame_pixel_width): ditto.
5738         (Fset_frame_pixel_size): ditto.
5739         (syms_of_frame): declare.
5740
5741         * general-slots.h: add :vertically-justify and
5742         :horizontally-justify.
5743
5744         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5745         (mswindows_widget_border_width): new function.
5746         (mswindows_combo_box_instantiate): set border widths.
5747         (console_type_create_glyphs_mswindows): declare.
5748
5749         * glyphs-widget.c:
5750         (check_valid_justification): allow vertical and horizontal
5751         justification.
5752         (widget_border_width): new function. Call device methods.
5753         (widget_instance_border_width): ditto.
5754         (logical_unit_height): new function. Determine the height of a
5755         logical-unit. Logical units are intended to provide grid-like
5756         layout for subcontrols in a layout. If the layout is
5757         :vertically-justify top then subcontrols will be positioned on
5758         logical-unit boundaries, thus allowing adjacent subcontrols to
5759         line up.
5760         (widget_logical_unit_height): ditto for widgets.
5761         (redisplay_widget): misc cleanup.
5762         (widget_spacing): new function. Call device specific
5763         methods. Intended to be the default gap between adjacent widgets.
5764         (widget_query_geometry): use new spacing functions to determine
5765         appropriate geometry.
5766         (initialize_widget_image_instance): initialize horizontal and
5767         vertical justification.
5768         (widget_instantiate): use logica-units where appropriate for
5769         sizing large widgets.
5770         (button_query_geometry): use widget_instance_border_width.
5771         (tree_view_query_geometry): ditto.
5772         (tab_control_query_geometry): ditto.
5773         (edit_field_query_geometry): new function.
5774         (layout_update): pick up :justify, :horizontally-justify and
5775         :vertically-justify none of which worked previously. :justify is
5776         used as a fallback for both horizontal and vertical justification.
5777         (layout_query_geometry): use logical units to size appropriately.
5778         (layout_layout): ditto.
5779         (Fwidget_logical_to_character_width): new function. Allow users to
5780         convert from logical units to characters so that frame sizes can
5781         be set appropriately.
5782         (Fwidget_logical_to_character_height): ditto.
5783         (syms_of_glyphs_widget): declare.
5784         (image_instantiator_edit_fields): add edit_field_query_geometry.
5785         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5786         :horizontally-justify.
5787         (specifier_vars_of_glyphs_widget): new function. Declare
5788         Vwidget_border_width which is not yet used.
5789
5790         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5791         (x_widget_border_width): new function.
5792         (x_widget_instantiate): create a sensible name for widgets.
5793         (console_type_create_glyphs_x): declare x_widget_border_width.
5794
5795         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5796         (struct Lisp_Image_Instance): add :vertically-justify and
5797         :horizontally-justify.
5798         (LAYOUT_JUSTIFY_TOP): new.
5799         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5800         (ROUND_UP): new macro. Round argument up to next integral
5801         interval.
5802
5803         * redisplay-output.c (redisplay_output_layout): misc formatting.
5804
5805         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5806
5807 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5808
5809         * XEmacs 21.4.9 "Informed Management" is released.
5810
5811 2002-08-19  Andy Piper  <andy@xemacs.org>
5812
5813         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5814         win32 format.
5815
5816         * realpath.c (xrealpath): normalize drive spec also so that dir
5817         sep chars are not mixed on cygwin.
5818
5819 2002-08-06  Jerry James  <james@xemacs.org>
5820
5821         * window.c (Fsplit_window): Count only half of the divider width
5822         against the left window when splitting horizontally. 
5823
5824 2002-06-24  Andy Piper  <andy@xemacs.org>
5825
5826         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5827         toolbar was cleared.
5828
5829         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5830         function. Split out from mswindows_output_frame_toolbars.
5831         (mswindows_output_frame_toolbars): move clear pieces to
5832         mswindows_output_frame_toolbars.
5833
5834         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5835         out from gtk_output_frame_toolbars.
5836         (gtk_output_frame_toolbars): move clear pieces to
5837         gtk_clear_frame_toolbars.
5838
5839         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5840         the frame is cleared. How this ever worked before is a mystery.
5841         (x_output_frame_toolbars): Only output toolbars.
5842         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5843
5844         * gutter.c (update_gutter_geometry):
5845         Mark frame layout changed.
5846         (update_frame_gutter_geometry, update_frame_gutters):
5847         Respect frame_layout_changed.
5848
5849         * console.h (struct console_methods): add
5850         clear_frame_toolbars_method.
5851
5852         * redisplay.c (redisplay_frame): call
5853         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5854
5855         * toolbar.h: declare update_frame_toolbars_geometry.
5856
5857         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5858         out from update_frame_toolbars.  Call clear_frame_toolbars.
5859         (update_frame_toolbars): only output, do not change geometry.
5860
5861         * redisplay.c: add frame_layout_changed.
5862
5863         * redisplay.h: add frame_layout_changed.
5864         (CLASS_RESET_CHANGED_FLAGS): set it.
5865         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5866         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5867         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5868
5869         * device.h (struct device): add frame_layout_changed.
5870         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5871
5872         * frame.h (struct frame): add frame_layout_changed.
5873         (MARK_FRAME_LAYOUT_CHANGED): new.
5874
5875 2002-06-30  Mike Alexander  <mta@arbortext.com>
5876
5877         * event-msw.c (mswindows_need_event): Don't wait for a new message
5878         if the queue is not empty.  Suggested by Paul Moore.
5879
5880 2002-06-12  Andy Piper  <andy@xemacs.org>
5881
5882         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5883         for printing on accurately.
5884
5885 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5886
5887         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5888         WM_ACTIVATE message. Make sure that the frame is visible if the
5889         window is visible. This seemss to fix the problem where XEmacs
5890         appears to freeze after switching desktops with certain virtual
5891         window managers.
5892         (debug_output_mswin_message): Added code to output message
5893         parameters for WM_WINDOWPOSCHANGED, 
5894         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5895
5896 2002-05-25  Andy Piper  <andy@xemacs.org>
5897
5898         * select-x.c (vars_of_select_x): Fix docstring of
5899         x-selection-strict-motif-ownership
5900
5901 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5902
5903         * keymap.c (get_keymap):
5904         Add comment about do_autoload GCPROs own args.
5905
5906 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5907
5908         * bytecode.c (execute_optimized_program): check_opcode ifdef
5909         ERROR_CHECK_BYTE_CODE.
5910
5911 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5912
5913         Thanks to Ben Wing and Michael Sperber.
5914
5915         * eval.c (Fcommand_execute):
5916         (Feval):
5917         (Ffuncall):
5918         (Fmacroexpand_internal):
5919         (function_argcount):
5920         callint.c (Fcall_interactively):
5921         Add comment about do_autoload GCPROs own args.
5922
5923         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5924
5925         * eval.c (Ffuncall): Extra braces to placate GCC.
5926
5927 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5928
5929         * backtrace.h (grow_specpdl):
5930         (SPECPDL_RESERVE):
5931         * EmacsFrame.c (EmacsFrameSetValues):
5932         * eval.c (grow_specpdl):
5933         * ExternalShell.c (hack_event_masks_1):
5934         * glyphs-x.c (convert_EImage_to_XImage): 
5935         (x_finalize_image_instance):
5936         * ralloc.c (page_size):
5937         (r_alloc_sbrk):
5938         * xgccache.c (gc_cache_hash):
5939         Fix unsigned comparison warnings.
5940
5941 2002-07-29  Jerry James  <james@xemacs.org>
5942
5943         * lread.c (locate_file): Any nonnegative return value indicates
5944         success if MODE is nonnegative.
5945
5946 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5947
5948         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5949         argument. 
5950
5951 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5952
5953         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5954
5955         * dumper.c (pdump_get_indirect_count):
5956         (pdump_scan_by_alignment):
5957         (pdump_dump_root_struct_ptrs):
5958         (pdump_dump_rtables):
5959         (pdump_dump_root_objects):
5960         (pdump):
5961         * nas.c (WaveOpenDataForReading):
5962         * fns.c (print_bit_vector):
5963         * font-lock.c (SINGLE_SYNTAX_STYLE):
5964         * glyphs.c (check_for_ignored_expose):
5965         (find_matching_subwindow):
5966         * glyphs-eimage.c:
5967         * imgproc.c (get_histogram):
5968         * redisplay.c (point_in_line_start_cache):
5969         * redisplay-output.c (redisplay_unmap_subwindows):
5970         * symbols.c (defsymbol_massage_name_1):
5971         (defkeyword_massage_name):
5972         (deferror_massage_name_and_message):
5973         * redisplay-x.c (x_output_string): 
5974         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5975         * frame.h (struct frame):
5976         * filelock.c (current_lock_owner):
5977         * doprnt.c (emacs_doprnt_1):
5978         * lisp.h (struct Lisp_Bit_Vector):
5979         (DO_REALLOC):
5980         Fix warnings.
5981
5982 2002-02-13  Ben Wing  <ben@xemacs.org>
5983
5984         * event-stream.c (reset_key_echo):
5985         * event-stream.c (reset_this_command_keys):
5986         * event-stream.c (execute_command_event):
5987         If console is dead as a result of C-x 5 0, then post-command stuff
5988         needs to be careful and do only non-console-specific stuff.
5989
5990 2002-07-01  Mike Sperber <mike@xemacs.org>
5991
5992         * process-unix.c (unix_send_process): Mark coding_outstream as
5993         non-open upon SIGPIPE.
5994
5995         * event-stream.c (Fnext_event): Reorder switch cases to something
5996         that makes sense.
5997
5998 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5999
6000         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
6001         Don't bogusly reinitialize ascii_character property.
6002
6003 2002-07-08  Mike Sperber <mike@xemacs.org>
6004
6005         * process.c (Fstart_process_internal): Do error checking before we
6006         fork off the child, so the child can't muck with the state of the
6007         parent.
6008
6009 2002-07-08  Mike Sperber <mike@xemacs.org>
6010
6011         * ralloc.c (init_ralloc): Allocate properly for pdump.
6012
6013 2002-06-12  Andy Piper  <andy@xemacs.org>
6014
6015         * glyphs.c (query_string_geometry): check the string.
6016
6017         * glyphs-widget.c (widget_logical_unit_height): cope with nil
6018         widget names.
6019
6020 2002-06-17  Jerry James  <james@xemacs.org>
6021
6022         * sysdll.c: Remove RTLD_GLOBAL initialization.
6023         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
6024
6025 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
6026
6027         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
6028
6029 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
6030
6031         * sysdep.c (sys_rename): Make sys_rename work for the case where
6032         Windows rename sets errno to EACCES if target file exists.
6033
6034 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
6035
6036         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6037         Fix detection of metric units to work on Win95
6038
6039 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
6040
6041         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
6042
6043 2002-04-25  Andy Piper  <andy@xemacs.org>
6044
6045         * redisplay.c (create_text_block): Remove extra comment trailer.
6046
6047 2002-04-24  Andy Piper  <andy@xemacs.org>
6048
6049         * redisplay.c (create_text_block): Don't actually add propagation
6050         data if the line ends after we have added a glyph.
6051
6052 2002-04-22  Andy Piper  <andy@xemacs.org>
6053
6054         * extents.c (extent_fragment_update): check for glyphs we have
6055         previously displayed.
6056         * extents.c (print_extent_1): warning removal.
6057         * extents.h: change prototype.
6058         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
6059         widths correctly for wide glyphs.
6060         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6061         * redisplay.c (prop_type): add PROP_GLYPH.
6062         * redisplay.c (struct prop_block): add glyph type
6063         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6064         to the propagation data.
6065         * redisplay.c (create_text_block): if there is a glyph in the
6066         propagation data use it to salt extent_fragment_update.
6067         * redisplay.c (create_string_text_block): ditto.
6068
6069 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6070
6071         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6072         * redisplay-output.c (compare_runes): Compare them.
6073         * redisplay.c: Update copyright date.
6074         * redisplay.c (pos_data): Add need_baseline_computation field.
6075         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6076         need_baseline_computation; zero yoffset. Set max_pixmap_height
6077         for all pixmaps, not just automatically positioned ones.
6078         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6079         * redisplay.c (calculate_baseline): New, compute textual baseline.
6080         * redisplay.c (add_glyph_rune): Call them.
6081         * redisplay.c (create_text_block): Likewise.
6082         * redisplay.c (create_overlay_glyph_block): Likewise.
6083         * redisplay.c (add_margin_runes): Likewise.
6084         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6085
6086         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6087         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6088         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6089         * redisplay-msw.c (mswindows_output_string): Likewise.
6090         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6091         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6092         * redisplay-x.c (x_output_display_block): Likewise.
6093
6094 2002-03-28  Ben Wing  <ben@xemacs.org>
6095
6096         * redisplay.c: Fixed bug in redisplay
6097         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6098         and down of the lines, since they're bigger than the line
6099         size. (It was seen most obviously when there's a horizontal scroll
6100         bar, e.g. do C-h a glyph or something like that.) The problem was
6101         that the glyph-contrib-p setting on glyphs was ignored even if it
6102         was set properly, which it wasn't until now.
6103
6104 2002-04-24  Andy Piper  <andy@xemacs.org>
6105
6106         * lisp.h (Dynarr_end): Fix definition.
6107
6108 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6109
6110         * redisplay.c (mark_redisplay): Remove call to
6111         update_frame_window_mirror.
6112
6113 2001-11-15  Andy Piper  <andy@xemacs.org>
6114
6115         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6116         cygwin (again).
6117
6118 2002-02-13  Andy Piper  <andy@xemacs.org>
6119
6120         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6121         we did in fact enqueue the XM_MAPFRAME event.
6122
6123 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6124
6125         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6126         to fix problem switching between virtual desktops under virtuawin
6127         virtual window manager.
6128
6129 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6130
6131         * event-msw.c: Typo fix.
6132         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6133         magic XM_MAPFRAME event has been sent.
6134
6135 2001-11-23  Andy Piper  <andy@xemacs.org>
6136
6137         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6138
6139 2001-11-21  Andy Piper  <andy@xemacs.org>
6140
6141         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6142         mouse events outside the frame.
6143
6144 2002-03-20  Andy Piper  <andy@xemacs.org>
6145
6146         * menubar-msw.c (mswindows_popup_menu): warning removal.
6147         * dialog-msw.c (dialog_popped_down): ditto.
6148
6149 2001-12-11  Andy Piper  <andy@xemacs.org>
6150
6151         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6152         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6153         popup_up_p.
6154         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6155         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6156         * menubar-msw.c (mswindows_popup_menu): ditto.
6157
6158 2001-10-29  Andy Piper  <andy@xemacs.org>
6159
6160         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6161         cancels.
6162
6163 2002-01-03  Andy Piper  <andy@xemacs.org>
6164
6165         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6166         letters.
6167         (xrealpath): ditto.
6168
6169 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6170
6171         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6172         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6173         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6174         Detect and handle case where machine is set up for metric units
6175
6176 2002-04-02  Andy Piper  <andy@xemacs.org>
6177
6178         * dired-msw.c (mswindows_get_files): 
6179         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6180         completely handled by XEmacs. Suggested by Thomas Vogler
6181         <mail@thomas-vogler.de>.
6182
6183 2001-11-14  Andy Piper  <andy@xemacs.org>
6184
6185         * nt.c (REG_ROOT): change registry key to XEmacs.
6186
6187 2002-04-27  Andy Piper  <andy@xemacs.org>
6188
6189         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6190
6191 2002-04-26  Andy Piper  <andy@xemacs.org>
6192
6193         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6194         behavior.
6195
6196 2002-03-14  Mike Alexander  <mta@arbortext.com>
6197
6198         * event-msw.c (mswindows_unwait_process): New, remove process from
6199         wait list
6200         * process-nt.c (nt_finalize_process_data): Call
6201         mswindows_unwait_process
6202         * console-msw.h: Declare mswindows_unwait_process
6203
6204 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6205
6206         * editfns.c (Fdecode_time):
6207         (Fformat_time_string):
6208         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6209         (make_time): Warning elimination (change arg name).
6210
6211 2001-11-24  Andy Piper  <andy@xemacs.org>
6212
6213         * window.c (Fsplit_window): Doc return type.
6214
6215 2002-04-01  Andy Piper  <andy@xemacs.org>
6216
6217         * emacs.c (Fkill_emacs): Only output message box in interactive
6218         mode.
6219
6220 2002-04-26  Andy Piper  <andy@xemacs.org>
6221  
6222         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6223         cygwin.
6224
6225 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6226
6227         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6228         bit platform.
6229
6230 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6231
6232         * XEmacs 21.4.8 "Honest Recruiter" is released.
6233
6234 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6235
6236         Supersedes 2002-04-17 patch.
6237
6238         * process.h (PROCESS_LIVE_P): Use the process status as
6239         evidence of health, not the state of the input stream.
6240         (PROCESS_READABLE_P): Say if the process is readable
6241         from. (It may be dead nonetheless.)
6242         (CHECK_READABLE_PROCESS): Test for that condition.
6243
6244         * process.c (create_process): Use PROCESS_READABLE_P.
6245         (read_process_output, set_process_filter): Likewise.
6246
6247         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6248         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6249
6250         This code is #if 0'd, this is not the time to add new functions:
6251
6252         * process.c (Fprocess_readable_p): Report readability status.
6253         * process.c (Qprocess_readable_p): New, associated symbol...
6254         * process.c (syms_of_process): ... initialize it.
6255
6256 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6257
6258         * XEmacs 21.4.7 "Economic Science" is released.
6259
6260 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6261
6262         * process.h (PROCESS_LIVE_P): Use the process status as
6263         evidence of health, not the state of the input stream.
6264
6265 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6266
6267         * sysdep.c (sys_siglist): change "signum" to "signal"
6268
6269 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6270
6271         * s/darwin.h: New file.
6272         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6273         
6274 2002-04-23  Andreas Jaeger  <aj@suse.de>
6275
6276         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6277         which use lib64 for 64-bit libs.
6278         (START_FILES): Likewise.
6279
6280 2002-02-11  Mike Sperber  <mike@xemacs.org>
6281
6282         * device-x.c: 
6283         (x_IO_error_handler):
6284         (x_init_device): Temporarily keep device in static variable
6285         `device_being_initialized' so we can recover gracefully from
6286         internal XOpenDevice failure.  (XOpenDevice is documented to
6287         return NULL on failure, but sometimes calls the IO error handler
6288         instead.)
6289
6290 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6291
6292         * dired.c (Ffile_name_all_completions): Change documentation --
6293         remove reference to completion-ignored-extensions.
6294         * dired.c (vars_of_dired): Change documentation for
6295         completion-ignored-extensions -- remove reference to
6296         file-name-all-completions.
6297
6298 2002-03-06  Jerry James  <james@xemacs.org>
6299
6300         * emodules.c (emodules_load): Fix multiple loading of same module.
6301
6302 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6303         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6304         RTLD_LAZY to avoid incorrect symbol binding when using nested
6305         shared libraries on Solaris.
6306
6307 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6308
6309         * fileio.c (Ffind_file_name_handler): Improve docstring.
6310
6311 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6312
6313         * fns.c (Fmapconcat): Improve docstring.
6314
6315 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6316
6317         * device-gtk.c: Add prototype for
6318         emacs_gtk_selection_clear_event_handle.
6319         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6320         selection.  Setup signal handler for "selection_clear_event"
6321         (emacs_gtk_selection_clear_event_handle).
6322
6323         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6324         other applications owning the clipboard (based on
6325         x_handle_selection_clear).
6326
6327 2001-12-23  William M. Perry  <wmperry@gnu.org>
6328
6329         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6330         
6331 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6332
6333         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6334
6335 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6336
6337         * XEmacs 21.4.6 "Common Lisp" is released.
6338
6339 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6340
6341         * search.c (Freplace_match): Add missing sub-expression functionality.
6342
6343         * buffer.c (decode_buffer): Add a check for pointer type to
6344         decode_buffer, before gcc's CSE optimization reorders a
6345         dereference in front of the allow_string test.
6346
6347 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6348
6349         * window.c (window_loop): Fix bug that sometimes prevented
6350         window_loop() from iterating across multiple devices.  Also, at
6351         Ben's request, changed infloop-detecting code to abort() instead
6352         of silently terminating window_loop().
6353
6354 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6355
6356         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6357         * editfns.c (make_time): New function.
6358         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6359         * lisp.h (make_time): Prototype and comment it.
6360         * dired.c (wasteful_word_to_lisp): Deprecate.
6361         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6362
6363 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6364
6365         * fileio.c (auto_save_1): Use current coding system, not
6366         escape-quoted.
6367
6368 2001-11-13  Ben Wing  <ben@xemacs.org>
6369
6370         * window.c:
6371         * window.c (window_truncation_on):
6372         * window.c (syms_of_window):
6373         truncate-partial-width-windows should respect the buffer being
6374         displayed, like other redisplay vars.
6375
6376 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6377
6378         * event-stream.c (Fread_key_sequence): save current buffer.
6379
6380 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6381
6382         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6383
6384 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6385
6386         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6387
6388 2001-10-26  Mike Alexander  <mta@arbortext.com>
6389
6390         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6391
6392 2001-10-25  Andy Piper  <andy@xemacs.org>
6393
6394         * ChangeLog:
6395         * dialog-msw.c (handle_directory_proc): new function.
6396          (handle_directory_dialog_box): new fucntion.
6397          (handle_file_dialog_box): use new directory dialog support.
6398          (mswindows_make_dialog_box_internal): ditto.
6399         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6400         handling.
6401         (mswindows_find_frame): make global.
6402         * fileio.c (Fexpand_file_name): build fix.
6403         * general-slots.h: add Qdirectory.
6404         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6405         handling.
6406         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6407         cygwin not leaving win32 paths unchanged.
6408         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6409         cygwin runtime to do path conversion.
6410         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6411         (syms_of_win32): add new function.
6412         * window.c (window_loop): build fix.
6413
6414 2001-10-15  Andy Piper  <andy@xemacs.org>
6415
6416         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6417
6418 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6419
6420         * XEmacs 21.4.5 "Civil Service" is released.
6421
6422 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6423
6424         * glyphs-x.c: Force buffer-tab highlight update when moving the
6425         buffer, avoiding an ugly black border, used for keyboard focus
6426         indication, on a widget that can never have keyboard focus, the
6427         buffer tab.
6428
6429 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6430
6431         * process-unix.c (unix_open_multicast_group): Remove too much
6432         conversion between host and network byte order.
6433
6434 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6435
6436         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6437         before replacing them.
6438
6439         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6440         operation.
6441
6442         * src/window.c (undedicate_windows): Use it.
6443         * src/window.h: Add prototype.
6444
6445 2001-09-17  Ben Wing  <ben@xemacs.org>
6446
6447         * fileio.c (normalize_filename):
6448         * fileio.c (Fexpand_file_name):
6449         Fix various C++ compile errors in Andy's recent code.
6450         
6451         * callint.c (Fcall_interactively):
6452         * editfns.c (Ftemp_directory):
6453         * editfns.c (Fuser_full_name):
6454         * emacs.c (argmatch):
6455         * lread.c (locate_file_map_suffixes):
6456         * redisplay-x.c (x_ring_bell):
6457         Fix sign-compare warnings.
6458         
6459 2001-09-08  Andy Piper  <andy@xemacs.org>
6460
6461         * fileio.c (normalize_filename): copied from nt.c
6462         * (Ffile_name_directory): enable win32 paths under cygwin.
6463         * (Ffile_name_nondirectory): ditto.
6464         * (directory_file_name): ditto.
6465         * (Fexpand_file_name): ditto.
6466         * (Ffile_truename): ditto.
6467         * (Fsubstitute_in_file_name): ditto.
6468         * (Ffile_name_absolute_p): ditto.
6469         * (Ffile_readable_p): ditto.
6470
6471 2001-09-08  Andy Piper  <andy@xemacs.org>
6472
6473         * device-msw.c (mswindows_finish_init_device): remove dde
6474         initialization.
6475         * device-msw.c (mswindows_init_dde): factor out from
6476         mswindows_finish_init_device()
6477         * device-msw.c (init_mswindows_very_early): new function
6478         initialize but don't enable dde.
6479         * emacs.c (main_1): call init_mswindows_very_early.
6480         * event-msw.c:
6481         * event-msw.c (mswindows_dde_callback): only execute when we are
6482         ready.
6483         * symsinit.h: declare init_mswindows_very_early.
6484
6485 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6486
6487         [sjt: This has been in 21.5 for months with no complaints.]
6488
6489         * console.h (struct console_methods): Added flags member.
6490         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6491         (CONMETH_IMPL_FLAG):
6492         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6493         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6494
6495         * device.c (window_system_pixelated_geometry): Use the above macros.
6496
6497         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6498         implememntation flag.
6499         * device.h (DEVICE_DISPLAY_P): Use it.
6500
6501         * frame.c (delete_frame_internal): Use the above macro.
6502
6503         * redisplay.c (redisplay_device): Use it.
6504         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6505         (redisplay_frame): Ditto.
6506
6507         * device-msw.c (mswindows_device_implementation_flags): Removed.
6508         (msprinter_device_implementation_flags): Removed.
6509         (console_type_create_device_mswindows): Removed references to
6510         implementation_flags methods, set implementation flags here.
6511         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6512
6513         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6514         (console_type_create_device_gtk): Removed method declaration.
6515         Added commented out statement which semantically matches the
6516         commented out statement in the above removed method.
6517
6518 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6519
6520         The attached patch fixes a few warnings. 
6521
6522         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6523         * src/frame-gtk.c: guard against GNOME calls in GTK only
6524         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6525         * src/select-gtk.c: prototype lisp_to_time
6526
6527 2001-06-08  Ben Wing  <ben@xemacs.org>
6528
6529         ------ gc-in-window-procedure fixes ------
6530         
6531         * alloc.c:
6532         * alloc.c (struct post_gc_action):
6533         * alloc.c (register_post_gc_action):
6534         * alloc.c (run_post_gc_actions):
6535         * alloc.c (garbage_collect_1):
6536         Create "post-gc actions", to avoid those dreaded "GC during window
6537         procedure" problems.
6538
6539         * event-msw.c:
6540         Abort, clean and simple, when GC in window procedure.  We want
6541         to flush these puppies out.
6542
6543         * glyphs-msw.c:
6544         * glyphs-msw.c (finalize_destroy_window):
6545         * glyphs-msw.c (mswindows_finalize_image_instance):
6546         Use a post-gc action when destroying subwindows.
6547
6548         * lisp.h:
6549         Declare register_post_gc_action().
6550
6551         * scrollbar-msw.c:
6552         * scrollbar-msw.c (unshow_that_mofo):
6553         Use a post-gc action when unshowing scrollbar windows, if in gc.
6554
6555         * redisplay.c (mark_redisplay):
6556         Add comment about the utter evilness of what's going down here.
6557
6558         ------ cygwin setitimer fixes ------
6559         
6560         * Makefile.in.in (sheap_objs):
6561         * Makefile.in.in (profile_objs):
6562         * Makefile.in.in (objs):
6563         Compile profile.c only when HAVE_SETITIMER.
6564         
6565         * nt.c (mswindows_sigset):
6566         * nt.c (mswindows_sighold):
6567         * nt.c (mswindows_sigrelse):
6568         * nt.c (mswindows_sigpause):
6569         * nt.c (mswindows_raise):
6570         * nt.c (close_file_data):
6571         Style fixes.
6572         
6573         * nt.c:
6574         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6575         
6576         * profile.c:
6577         * profile.c (Fstart_profiling):
6578         * profile.c (Fstop_profiling):
6579         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6580         instead of just plain setitimer().
6581         
6582         * signal.c:
6583         * signal.c (set_one_shot_timer):
6584         * signal.c (alarm):
6585         Define qxe_setitimer() as an encapsulation around setitimer() --
6586         call setitimer() directly unless Cygwin or MS Win, in which case
6587         we use our simulated version in win32.c.
6588         
6589         * systime.h:
6590         * systime.h (struct itimerval):
6591         * systime.h (ITIMER_REAL):
6592         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6593         comment about "qxe" and the policy regarding encapsulation.
6594
6595         * win32.c:
6596         * win32.c (setitimer_helper_proc):
6597         * win32.c (setitimer_helper_period):
6598         * win32.c (setitimer_helper):
6599         * win32.c (mswindows_setitimer):
6600         Move setitimer() emulation here, so Cygwin can use it.
6601         Rename a couple of functions and variables to be longer and more
6602         descriptive.  In setitimer_helper_proc(), send the signal
6603         using either mswindows_raise() or (on Cygwin) kill().  If for
6604         some reason we are still getting lockups, we'll change the kill()
6605         to directly invoke the signal handlers.
6606
6607         ------ windows shell fixes ------
6608         
6609         * callproc.c:
6610         * ntproc.c:
6611         Comments about how these two files must die.
6612
6613         * callproc.c (init_callproc):
6614         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6615         not just COMSPEC. (more correct and closer to FSF.) Don't
6616         force a value for SHELL into the environment. (Comments added
6617         to explain why not.)
6618         
6619         * nt.c (init_user_info):
6620         Don't shove a fabricated SHELL into the environment.  See above.
6621
6622 2001-06-01  Ben Wing  <ben@xemacs.org>
6623
6624         * Makefile.in.in (ldflags):
6625         eliminate that pesky "defaulting to 00401000" warning.
6626         * nt.h:
6627         eliminate warnings.
6628
6629 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6630
6631         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6632         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6633
6634 2001-04-24  Jerry James <james@xemacs.org>
6635
6636         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6637         correct order.
6638
6639 2001-06-01  Ben Wing  <ben@xemacs.org>
6640
6641         * event-msw.c (debug_mswin_messages):
6642         conditionalize the messages that were causing compile errors.
6643         (if only macros could generate #ifdef statements ...)
6644
6645 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6646
6647         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6648
6649 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6650
6651         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6652
6653 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6654
6655         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6656         * process-unix.c (unix_canonicalize_host_name):
6657         sysdep.c (init_system_name):
6658         Use it to conditionally support IPv6 canonicalization.
6659
6660 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6661
6662         * event-msw.c:
6663         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6664
6665 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6666
6667         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6668         attempt is made to scroll when no scroll bar is available.
6669
6670 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6671
6672         * input-method-motif.c (XIM_delete_frame): New callback.
6673         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6674         got deleted from 21.4.3.)
6675
6676 2001-06-01  Ben Wing  <ben@xemacs.org>
6677
6678         * nt.c (mswindows_utime):
6679         * nt.c (close_file_data):
6680         fix off-by-one-indirection error.
6681
6682 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6683
6684         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6685         because set_file_times() now takes Lisp_Object path, instead of
6686         char*.
6687         * nt.c: Include buffer.h.
6688         * nt.c (convert_from_time_t): New.
6689         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6690         not set mtime correctly.
6691         * nt.h: Declare mswindows_utime().
6692         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6693         path, instead of char*.
6694         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6695
6696 2001-05-30  Ben Wing  <ben@xemacs.org>
6697
6698         For 21.4:
6699
6700         (Stephen, just take all event-msw.c patches.  This includes
6701         the "iconify" fix below.)
6702
6703         * event-msw.c:
6704         * event-msw.c (mswindows_dequeue_dispatch_event):
6705         * event-msw.c (assert):
6706         * event-msw.c (emacs_mswindows_quit_p):
6707         * event-msw.c (debug_mswin_messages):
6708         * event-msw.c (debug_output_mswin_message):
6709         * event-msw.c (vars_of_event_mswindows):
6710         Fix yet more problems with C-g handling.
6711         Implement debug-mswindows-events.
6712         
6713 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6714
6715         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6716         
6717 2001-05-23  Ben Wing  <ben@xemacs.org>
6718
6719         * event-msw.c (winsock_writer):
6720         * event-msw.c (winsock_closer):
6721         prior kludgy code was clobbering the buffer, thinking it was
6722         "unused" space to store an unneeded return value; instead, use
6723         the variable we've already got staring us in the face.
6724
6725 2001-05-17  Andy Piper  <andy@xemacs.org>
6726
6727         * sysfile.h: don't assume that file attributes are boolean
6728
6729 2001-05-23  Ben Wing  <ben@xemacs.org>
6730
6731         * device-msw.c (msprinter_init_device):
6732         signal an error rather than crash with an unavailable network
6733         printer (from Mike Alexander).
6734         
6735         * event-msw.c:
6736         * event-msw.c (struct winsock_stream):
6737         * event-msw.c (winsock_writer):
6738         * event-msw.c (winsock_closer):
6739         * event-msw.c (make_winsock_stream_1):
6740         cleanup headers.  fix (hopefully) an error with data corruption
6741         when sending to a network connection.
6742
6743         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6744         to handle the ~user prefix by (a) always assuming we're referencing
6745         ourselves and not even verifying the user -- hence any file with
6746         a tilde as its first char is invalid! (b) if there wasn't a slash
6747         following the filename, the pointer was set *past* the end of
6748         file and we started reading from uninitialized memory.  Now we
6749         simply treat these as files, always.
6750
6751         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6752         
6753 2001-05-19  Ben Wing  <ben@xemacs.org>
6754
6755         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6756
6757         * process-nt.c:
6758         * process-nt.c (vars_of_process_nt):
6759         remove unused mswindows-quote-process-args.  rec for 21.4.
6760         
6761 2001-05-12  Ben Wing  <ben@xemacs.org>
6762
6763         * event-msw.c (mswindows_dde_callback):
6764         * event-msw.c (mswindows_wnd_proc):
6765         eliminate cygwin warnings.
6766
6767 2001-05-06  Ben Wing  <ben@xemacs.org>
6768
6769         * console-msw.h:
6770         * device-msw.c:
6771         * device-msw.c (print_dialog_worker):
6772         * device-msw.c (mswindows_handle_print_dialog_box):
6773         * device-msw.c (syms_of_device_mswindows):
6774         * dialog-msw.c (mswindows_make_dialog_box_internal):
6775         * general-slots.h:
6776         implement printing the selection when it's selected.
6777
6778 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6779
6780         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6781
6782 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6783
6784         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6785         EMACS_INT is signed.
6786
6787 2001-04-15  Michael Lausch  <mla@1012surf.net>
6788
6789         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6790         gtk_widget_request_size() to give scrollbar >0 width for
6791         GTK >1.2.8.
6792
6793 2001-05-30  William M. Perry  <wmperry@gnu.org>
6794
6795         * event-gtk.c: Check for buttons as modifier keys.
6796
6797 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6798
6799         * s\mingw32.h:
6800         Properly find MinGW's <process.h> inside Cygwin's restructured
6801         include directories.  Don't try to include <cygwin/version.h>
6802         since we are dropping support for MinGW in versions of Cygwin
6803         earlier than b21.
6804         * nt.c:
6805         Drop support for MinGW in versions of Cygwin before b21.
6806         * sysdep.c:
6807         Properly find MinGW's <process.h> inside Cygwin's restructured
6808         include directories.
6809         * syswindows.h:
6810         Drop support for MinGW in versions of Cygwin before b21.
6811         * unexcw.c:
6812         Even though a.out.h is no longer detected by configure, allow
6813         MinGW to use it until we figure out how to do the job with Win32.
6814
6815 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6816
6817         * syntax.c (find_start_of_comment):
6818         Fix `unbalanced parentheses' bug when dealing with mixed comment
6819         styles in c++/java/etc. mode
6820
6821 2001-05-29  Mike Alexander  <mta@arbortext.com>
6822
6823         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6824         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6825
6826 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6827
6828         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6829
6830 2001-03-31  Mike Sperber <mike@xemacs.org>
6831
6832         * search.c (Freplace_match): Support FSF-style specification of
6833         match subexpression when applied to a buffer.
6834
6835 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6836
6837         * event-stream.c (is_scrollbar_event): add missing semicolon
6838
6839 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6840
6841         * Makefile.in.in: Use TAR macro instead of hardcoding
6842           tar.  Allows use of GNU tar instead of system tar
6843
6844 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6845
6846         * event-stream.c (is_scrollbar_event): add missing semicolon
6847
6848 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6849
6850         * XEmacs 21.4.3 "Academic Rigor" is released.
6851
6852 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6853
6854         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6855
6856 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6857
6858         * buffer.c (Vcase_fold_search): Remove obsolete
6859           comment about non ASCII case-fold-search.  This
6860           bug has been fixed by case-table changes.
6861
6862 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6863
6864         * event-msw.c: Restore include of events-mod.h.
6865
6866 2001-04-22   zhaoway  <zw@debian.org>
6867
6868         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6869         !HAVE_SCROLLBARS.
6870
6871 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6872
6873         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6874
6875 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6876
6877         * mule-charset.c (Fmake_charset): Add missing else.
6878
6879 2001-04-23  Ben Wing  <ben@xemacs.org>
6880
6881         * event-msw.c (FAKE_MOD_QUIT):
6882         * event-msw.c (mswindows_dequeue_dispatch_event):
6883         * event-msw.c (mswindows_wnd_proc):
6884         * event-msw.c (emacs_mswindows_quit_p):
6885         Get critical quit working.
6886
6887 2001-05-05  Ben Wing  <ben@xemacs.org>
6888
6889         * console-msw.h:
6890         * device-msw.c:
6891         * device-msw.c (mswindows_get_default_margin):
6892         * frame-msw.c (mswindows_size_frame_internal):
6893         * frame-msw.c (msprinter_init_frame_1):
6894         * frame-msw.c (vars_of_frame_mswindows):
6895         Change top/bottom margin defaults to 0.5 inches.
6896
6897 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6898
6899         Fix link error with gcc 3.0 on Linux.
6900         * terminfo.c (UP): Remove.
6901         * terminfo.c (BC): Remove.
6902         * terminfo.c (PC): Remove.
6903         They weren't used, and in any case, these symbols should be
6904         defined in the *library*.
6905
6906 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6907
6908         * s/aix4.h: Fix crash with xlc -O3.
6909         Improve comment explaining how -O3 works.
6910
6911 2001-04-15  Ben Wing  <ben@xemacs.org>
6912
6913         * event-stream.c:
6914         * event-stream.c (Fnext_event):
6915         * event-stream.c (is_scrollbar_event):
6916         * event-stream.c (execute_command_event):
6917         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6918         crash' problem.  His fix introduces other problems.  We filter
6919         out scrollbar events specifically, making them somewhat invisible
6920         to command-building, and not appearing in `this-command-keys'.
6921         More work is still needed (see comments in event-stream.c), but
6922         this fixes all the major problems.
6923
6924 2001-04-20  Ben Wing  <ben@xemacs.org>
6925
6926         * .cvsignore: Added stuff for Windows.
6927
6928 2001-04-28  Ben Wing  <ben@xemacs.org>
6929
6930         * buffer.c (Ferase_buffer):
6931         * editfns.c (buffer_insert1):
6932         * editfns.c (Finsert_before_markers):
6933         * editfns.c (Finsert_string):
6934         * editfns.c (Finsert_char):
6935         * editfns.c (Fdelete_region):
6936         * editfns.c (Fwiden):
6937         * editfns.c (Fnarrow_to_region):
6938         remove bogus lines setting zmacs_region_stays to 0.
6939         
6940 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6941
6942         * process-unix.c (unix_open_network_stream): If connect() fails
6943         invalidate file descriptor after closing it.
6944
6945 2001-03-08  Mike Alexander  <mta@arbortext.com>
6946
6947         * event-msw.c (mswindows_need_event_in_modal_loop):
6948         Don't dispatch a message if we didn't get one.
6949         (mswindows_need_event):
6950         Terminate the correct process when one exits instead of the first
6951         one on Vprocess_list and look for process termination when in
6952         mswindows_protect_modal_loop.
6953
6954 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6955
6956         * XEmacs 21.4.1 "Copyleft" is released.
6957
6958 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6959
6960         * input-method-motif.c (XIM_delete_frame): New callback.
6961         (XIM_init_frame): Register it.
6962
6963 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6964
6965         * XEmacs 21.4.0 "Solid Vapor" is released.
6966
6967 2001-04-15  Ben Wing  <ben@xemacs.org>
6968
6969         * cmdloop.c (call_command_loop):
6970         Fix braino in bit-rotting code.
6971         
6972 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6973
6974         * extents.c (Fset_extent_endpoints): Force creation of extent info
6975         in buffer_or_string.
6976
6977         * extents.c (process_extents_for_insertion_mapper): Correctly
6978         check for open-open zero-length extents.
6979
6980 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6981
6982         * lisp.h: New typedefs Memory_count, Element_count.
6983         * regex.c:
6984         * regex.h:
6985         Sign-compare warning elimination: several unsigned -> signed.
6986         Based on work by Ben Wing <ben@xemacs.org>.
6987
6988 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6989
6990         * XEmacs 21.2.47 "Zephir" is released.
6991
6992 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6993
6994         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6995
6996 2001-04-03  Mike Sperber <mike@xemacs.org>
6997
6998         * search.c: Revert previous patch due because of release.
6999
7000 2001-03-30  Ben Wing  <ben@xemacs.org>
7001
7002         * s\cygwin32.h:
7003         Add missing killpg prototype.
7004
7005         * elhash.c:
7006         Add a comment about fixing problems when a new entry is added
7007         while mapping.
7008
7009         * frame-msw.c (mswindows_init_frame_1):
7010         Fix compile warnings.
7011
7012         * menubar.c (vars_of_menubar):
7013         Provide `menu-accelerator-support' to indicate that we properly
7014         support %_ in menu specifications, so that package code can
7015         conditionalize on this (and remove %_ from menu specifications
7016         on older versions).
7017
7018         * event-msw.c:
7019         * scrollbar-msw.c:
7020         * scrollbar-msw.c (can_scroll):
7021         * scrollbar-msw.h:
7022         Fix handling of mouse wheel under Windows to follow standards --
7023         now scrolls window under pointer, not selected window.
7024
7025 2001-03-31  Mike Sperber <mike@xemacs.org>
7026
7027         * search.c (Freplace_match): Support FSF-style specification of
7028         match subexpression when applied to a buffer.
7029
7030 2001-03-15  Martin Buchholz  <martin@xemacs.org>
7031
7032         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
7033         function to modify KEYMAP, so map over a copy of the hash table.
7034
7035 2001-03-21  Martin Buchholz <martin@xemacs.org>
7036
7037         * XEmacs 21.2.46 "Urania" is released.
7038
7039 2001-03-20  Dan Holmsand  <dan@eyebee.com>
7040
7041         * realpath.c (xrealpath): Make file-truename work with symlinks to
7042         /cygdrive paths on cygwin. Always lowercase drive-letters on
7043         native windows.
7044         (cygwin_readlink): Don't try to find canonical filename unless
7045         file exists.
7046
7047 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
7048
7049         * ChangeLog: Log GTK merge.
7050
7051         * dumper.c:
7052         * select-x.c:
7053         * specifier.c:
7054         * symeval.h:
7055         Revert gratuitous whitespace changes from GTK merge.
7056
7057         * emacs.c: Document end of complex #ifdef @ l. 1495.
7058
7059
7060 2001-03-12  Andy Piper  <andy@xemacs.org>
7061
7062         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7063         have to do likewise.
7064
7065 2001-03-12  Andy Piper  <andy@xemacs.org>
7066
7067         * sysdep.c: we only support mingw now.
7068
7069 2001-03-09  Andy Piper  <andy@xemacs.org>
7070
7071         * unexcw.c (copy_executable_and_dump_data_section): making approx
7072         overrun a warning only.
7073
7074 2001-03-10  William M. Perry  <wmperry@aventail.com>
7075
7076         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7077         satisfy Stephen's identical-after-cpp plea.
7078
7079 2001-03-02  Ben Wing  <ben@xemacs.org>
7080
7081         * cmds.c:
7082         * cmds.c (Fforward_char):
7083         * syntax.c:
7084         * window.c:
7085
7086         Augment documentation of the most common motion commands to make
7087         note of the shifted-motion support.
7088         
7089 2001-03-02  Ben Wing  <ben@xemacs.org>
7090
7091         * nt.c (mswindows_fstat):
7092         * nt.c (mswindows_stat):
7093         * search.c (boyer_moore):
7094         Fix compile warnings under Windows.
7095         
7096         * sysdep.c (sys_readdir):
7097         Fix buggy filename-conversion code under Mule.
7098
7099 2001-03-09  William M. Perry  <wmperry@aventail.com>
7100
7101         * Makefile.in.in:
7102         * config.h.in:
7103         * console.c:
7104         * console.h:
7105         * device.c:
7106         * device.h:
7107         * dragdrop.c:
7108         * emacs.c:
7109         * event-stream.c:
7110         * events.c:
7111         * events.h:
7112         * faces.c:
7113         * frame.h:
7114         * general-slots.h:
7115         * glyphs.c:
7116         * gutter.c:
7117         * inline.c:
7118         * lisp.h:
7119         * lrecord.h:
7120         * make-src-depend:
7121         * redisplay-output.c:
7122         * redisplay.c:
7123         * symsinit.h:
7124         * sysfile.h:
7125         * toolbar.c:
7126         * window.c:
7127         The Great GTK Merge.
7128
7129         * ChangeLog.GTK:
7130         * console-gtk.c:
7131         * console-gtk.h:
7132         * device-gtk.c:
7133         * emacs-marshals.c:
7134         * emacs-widget-accessors.c:
7135         * event-gtk.c:
7136         * frame-gtk.c:
7137         * gccache-gtk.c:
7138         * gccache-gtk.h:
7139         * glade.c:
7140         * glyphs-gtk.c:
7141         * glyphs-gtk.h:
7142         * gtk-glue.c:
7143         * gtk-xemacs.c:
7144         * gtk-xemacs.h:
7145         * gui-gtk.c:
7146         * gui-gtk.h:
7147         * menubar-gtk.c:
7148         * native-gtk-toolbar.c:
7149         * objects-gtk.c:
7150         * objects-gtk.h:
7151         * redisplay-gtk.c:
7152         * scrollbar-gtk.c:
7153         * scrollbar-gtk.h:
7154         * select-gtk.c:
7155         * toolbar-gtk.c:
7156         * ui-byhand.c:
7157         * ui-gtk.c:
7158         * ui-gtk.h:
7159         The Great GTK Merge: new files.
7160
7161 2001-02-26  Ben Wing  <ben@xemacs.org>
7162
7163         Reapplied Lstream change.
7164
7165 2001-02-26  Ben Wing  <ben@xemacs.org>
7166
7167         Undid the last change, since it is more controversial than I
7168         thought.  It should be back in at some point soon.
7169         
7170 2001-02-25  Ben Wing  <ben@xemacs.org>
7171
7172         * buffer.c:
7173         * callproc.c (Fold_call_process_internal):
7174         * event-msw.c (ntpipe_slurp_reader):
7175         * event-msw.c (ntpipe_shove_writer):
7176         * event-msw.c (winsock_reader):
7177         * event-msw.c (winsock_writer):
7178         * file-coding.c:
7179         * file-coding.c (detect_eol_type):
7180         * file-coding.c (detect_coding_type):
7181         * file-coding.c (determine_real_coding_system):
7182         * file-coding.c (Fdetect_coding_region):
7183         * file-coding.c (decoding_reader):
7184         * file-coding.c (decoding_writer):
7185         * file-coding.c (mule_decode):
7186         * file-coding.c (Fdecode_coding_region):
7187         * file-coding.c (encoding_reader):
7188         * file-coding.c (encoding_writer):
7189         * file-coding.c (mule_encode):
7190         * file-coding.c (Fencode_coding_region):
7191         * file-coding.c (detect_coding_sjis):
7192         * file-coding.c (decode_coding_sjis):
7193         * file-coding.c (encode_coding_sjis):
7194         * file-coding.c (detect_coding_big5):
7195         * file-coding.c (decode_coding_big5):
7196         * file-coding.c (encode_coding_big5):
7197         * file-coding.c (detect_coding_ucs4):
7198         * file-coding.c (decode_coding_ucs4):
7199         * file-coding.c (encode_coding_ucs4):
7200         * file-coding.c (detect_coding_utf8):
7201         * file-coding.c (decode_coding_utf8):
7202         * file-coding.c (encode_coding_utf8):
7203         * file-coding.c (detect_coding_iso2022):
7204         * file-coding.c (decode_coding_iso2022):
7205         * file-coding.c (encode_coding_iso2022):
7206         * file-coding.c (decode_coding_no_conversion):
7207         * file-coding.c (encode_coding_no_conversion):
7208         * glyphs-x.c (write_lisp_string_to_temp_file):
7209         * gpmevent.c (tty_get_foreign_selection):
7210         * lisp.h:
7211         * lstream.c:
7212         * lstream.c (Lstream_flush_out):
7213         * lstream.c (Lstream_adding):
7214         * lstream.c (Lstream_write_1):
7215         * lstream.c (Lstream_write):
7216         * lstream.c (Lstream_raw_read):
7217         * lstream.c (Lstream_read_more):
7218         * lstream.c (Lstream_read):
7219         * lstream.c (Lstream_unread):
7220         * lstream.c (Lstream_fputc):
7221         * lstream.c (stdio_reader):
7222         * lstream.c (stdio_writer):
7223         * lstream.c (filedesc_reader):
7224         * lstream.c (filedesc_writer):
7225         * lstream.c (lisp_string_reader):
7226         * lstream.c (struct fixed_buffer_stream):
7227         * lstream.c (make_fixed_buffer_input_stream):
7228         * lstream.c (make_fixed_buffer_output_stream):
7229         * lstream.c (fixed_buffer_reader):
7230         * lstream.c (fixed_buffer_writer):
7231         * lstream.c (struct resizing_buffer_stream):
7232         * lstream.c (resizing_buffer_writer):
7233         * lstream.c (dynarr_writer):
7234         * lstream.c (lisp_buffer_reader):
7235         * lstream.c (lisp_buffer_writer):
7236         * lstream.h:
7237         * lstream.h (lstream_implementation):
7238         * lstream.h (struct lstream):
7239         * md5.c (Fmd5):
7240         * process-nt.c (nt_send_process):
7241         * process-unix.c (unix_send_process):
7242         
7243         Correct Lstream lossage due to mixing of signed and unsigned
7244         quantities.  All Lstream uses of size_t and ssize_t are now a
7245         single signed data type Lstream_data_count.  This fixes problems
7246         under Windows with sending large quantities of data to a process,
7247         and may well fix other subtle bugs.
7248
7249 2001-02-23  Martin Buchholz <martin@xemacs.org>
7250
7251         * XEmacs 21.2.45 "Thelxepeia" is released.
7252
7253 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7254
7255         * lisp-union.h (XSETINT): 
7256         (XSETCHAR):
7257         (XSETOBJ): 
7258         Reverse previous change of 2001-02-06.
7259
7260 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7261
7262         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7263         buffers.
7264         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7265         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7266         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7267         * regex.c (POS_AS_IN_BUFFER): removed
7268         * regex.c (re_search_2):
7269         * regex.c (re_match_2):
7270         Don't use an offset of 1 when calculating buffer positions, since
7271         `BI_BUF_BEGV' does it already.
7272
7273 2001-02-18  Wim Dumon  <wim@easics.be>
7274
7275         * insdel.c (prepare_to_modify_buffer): Also check for
7276         supersession when clash-detection is enabled. 
7277
7278 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7279
7280         * regex.c (re_match_2_internal):
7281         Convert temp characters from 'const unsigned char' to 're_char'.
7282         Fix crashing bug with extended characters under mule.
7283         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7284         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7285         font-lock, pdump, and new syntax-table code.
7286         * syntax.c (find_start_of_comment):
7287         (find_end_of_comment):
7288         (forward-comment):
7289         Fix crashing bugs involving moving beyond end of buffer.
7290         * syntax.c (find_start_of_comment):
7291         Fixed logic to allow proper detection of cases where the same
7292         character is used to end both a two-char comment start and a
7293         two-char comment end sequence. Fixes `(forward-comment -1)'.
7294         * syntax.c (find_start_of_comment):
7295         Return position just past last comment-end character for all cases
7296         (previously was only done for two-char comment-end sequences).
7297         * syntax.c (forward-comment):
7298         Take value returned from `find_end_of_comment', rather than
7299         incrementing it.
7300         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7301         Properly deal with BUFFERP (syntax_cache.object)
7302
7303 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7304
7305         * alloc.c (Fgarbage_collect): 
7306         * alloc.c (make_bit_vector_from_byte_vector):
7307         -Wsign-compare-correctness.
7308
7309 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7310
7311         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7312         (XSETCHAR): Likewise.
7313         (XSETOBJ): Likewise.
7314
7315 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7316
7317         * mule-canna.c (canna-func-delete_previous): 
7318         Rename to canna-func-delete-previous.
7319
7320 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7321
7322         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7323
7324 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7325
7326         * font-lock.c (find_context): Fix C++ compile errors introduced by
7327         recent patch
7328
7329 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7330
7331         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7332         pragma, but earlier ones barf on the same pragma.
7333
7334 2001-02-06  Mike Sperber <mike@xemacs.org>
7335
7336         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7337         `configure-mule-lisp-directory'.
7338
7339 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7340
7341         Make sure dump-id.c is compiled in the same way as other .c's.
7342         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7343         * dump-id.h: Remove.
7344         * emacs.c: Move dump-id.h into dumper.h.
7345         * dumper.h: Move dump-id.h into dumper.h.
7346         * Makefile.in.in:
7347         Use standard .c.o rule for building dump-id.o.
7348         Remove preprocessor flags from link command.
7349         Add dump-id.o to ${otherobjs} if PDUMP.
7350
7351 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7352
7353         Port FSF 20.7 syntax table improvements.
7354         * syntax.c.
7355         * syntax.h.
7356
7357         Fixups for new syntax table stuff.
7358         * dired.c: Include syntax.c.
7359         (Fdirectory_files): Initialize regex_match_object and
7360         regex_emacs_buffer.
7361         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7362         and Fget_char_property.
7363
7364         Use ported FSF 20.7 syntax table improvements.
7365         * font-lock.c.
7366         * regex.c.
7367         * search.c.
7368         
7369 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7370
7371         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7372         Unixware's enum boolean from sys/types.h.
7373
7374 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7375
7376         Fix support for building with latest Purify.
7377         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7378         (PURIFY_FLAGS): Likewise.
7379
7380 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7381
7382         * fileio.c (lisp_string_set_file_times): New.
7383         * fileio.c (Fcopy_file): Use it.
7384         Fixes bug:
7385         (copy-file filename non-ascii-filename t t)
7386         ==> No such file or directory, non-ascii-filename
7387
7388 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7389
7390         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7391         USHRT_MAX seems clearer than ~0 anyways.
7392
7393 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7394
7395         dumper improvements.  Inspired by Olivier.
7396         * dumper.c (pdump_max_align): New.
7397         * dumper.c (pdump_add_entry): Use pdump_max_align.
7398         * dumper.c (pdump_get_entry_list): Likewise.
7399         * dumper.c (pdump_scan_by_alignment): Likewise.
7400         Don't iterate through unnecessary alignments.
7401         * dumper.c (pdump_file_get): No need to align result of malloc().
7402         * dumper.c (pdump_mallocadr): Remove.  
7403         The result of malloc() is guaranteed to be maximally aligned.
7404         * dumper.c: s/elmt/elt/g;
7405         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7406         * dumper.c (pdump_alert_undump_object): Likewise.
7407         * dumper.c (pdump_align_table): 
7408         Don't support alignments > 64.
7409         Store ALIGNOF's, not shift counts, in table.
7410
7411 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7412
7413         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7414         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7415         * systime.h: Use HAVE_UTIME.
7416         * sysdep.c (struct utimbuf): Remove.
7417         * sysdep.c (set_file_times): Prefer utime() to utimes().
7418         * config.h.in (HAVE_UTIME): New.
7419         * config.h.in (HAVE_UTIME_H): Remove.
7420         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7421
7422 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7423
7424         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7425
7426 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7427
7428         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7429
7430 2001-02-08  Martin Buchholz <martin@xemacs.org>
7431
7432         * XEmacs 21.2.44 "Thalia" is released.
7433
7434 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7435
7436         Fixes crashes in kill-emacs on some systems.
7437         * process-unix.c (unix_kill_child_process):
7438         It's OK for kill() to fail with ESRCH.
7439
7440 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7441
7442         Contortions to make .gdbinit tricks work on most systems.
7443         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7444         * alloc.c (dbg_valmask): Make non-const.
7445         * alloc.c (dbg_typemask): Make non-const.
7446         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7447         * alloc.c (dbg_valbits): Make non-const.
7448         * alloc.c (dbg_gctypebits): Make non-const.
7449         * .gdbinit (decode_object): Make it work with AIX cc.
7450
7451 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7452
7453         * elhash.c (make_general_lisp_hash_table):
7454         Use simpler and more efficient calloc to clear entries.
7455
7456 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7457
7458         * window.c (window_scroll): Work around an AIX C compiler bug.
7459         Fixes 'scroll-up' does nothing problem with xlC.
7460
7461 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7462
7463         * .gdbinit: Remove obsolete comment.
7464
7465 2001-01-31  Mike Alexander  <mta@arbortext.com>
7466
7467         * select.c (Fown_selection_internal): Set owned_p for device
7468         method correctly.
7469
7470 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7471
7472         Port to g++ 2.97.
7473         "not" cannot be used as a macro name as it is an operator in C++
7474         * config.h.in: Stop #defining `not'.
7475         * chartab.c (check_category_char): not ==> not_p
7476         * chartab.h: Likewise.
7477         * regex.c (re_match_2_internal): Likewise.
7478
7479 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7480
7481         * lisp-disunion.h: Fix up comments.
7482
7483 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7484
7485         * keymap.c (define_key_check_and_coerce_keysym):
7486         (syms_of_keymap):
7487         Support mouse-6 and mouse-7 bindings in the obvious way.
7488
7489 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7490
7491         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7492
7493 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7494
7495         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7496         Previous patch missed DEFVAR_INT_MAGIC.
7497         Make sure future DEFVAR_foo use correct types.
7498         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7499         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7500         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7501         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7502         * (DEFVAR_INT): Likewise.
7503         * redisplay.c (vertical_clip): Should be of type Fixnum.
7504         * redisplay.c (horizontal_clip): Likewise.
7505         * lisp.h (dump_add_opaque_int): New.
7506         (dump_add_opaque_fixnum): New.
7507
7508 2001-01-29  Andy Piper  <andy@xemacs.org>
7509
7510         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7511         since they can be eval'ed
7512
7513 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7514
7515         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7516         Oops, XEmacs redefines `class'.  Use `typename' instead.
7517
7518 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7519
7520         * dumper.c: Fix C++ compile errors.
7521
7522 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7523
7524         * tparam.c: Use correct prototypes.
7525
7526 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7527
7528         * sysproc.h: #include util.h for NetBSD's openpty.
7529
7530 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7531
7532         More 64-bit correctness.
7533         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7534         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7535         Fix up comments.
7536         This finally finishes the 64-bit SGI port.
7537         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7538         * symbols.c: Fix up comments and type casts.
7539         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7540         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7541         * symeval.h (Fixnum): New type.
7542         * symeval.h (symbol_value_type): Fix up comment.
7543
7544         * commands.h:
7545         * nt.c:
7546         * emacs.c:
7547         * data.c:
7548         * redisplay.c:
7549         * abbrev.c:
7550         * dired-msw.c:
7551         * event-Xt.c:
7552         * eldap.c:
7553         * window.c:
7554         * sound.c:
7555         * event-stream.c:
7556         * eval.c:
7557         * buffer.c:
7558         * mule-canna.c: A million DEFVAR_INTs here...
7559         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7560         * extents.c:
7561         * cmdloop.c:
7562         * lisp.h:
7563         * select-x.c:
7564         * console-x.h:
7565         * event-msw.c:
7566         * mule-wnnfns.c:
7567         * hpplay.c:
7568         * ralloc.c:
7569         * alloc.c:
7570         * keymap.c:
7571         * profile.c:
7572         s/int/Fixnum/g in DEFVAR_INT declarations.
7573
7574 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7575
7576         Port pdump to SGI alignment-sensitive environment.
7577         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7578         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7579         properly aligned.
7580         Define and use aligned reading and writing macros.
7581         Use buffered stdio instead of posix i/o for faster dumping.
7582         Eliminate kludgy 256 byte space for header.
7583         Read and write from dump file using structs for alignment safety.
7584         * dumper.c (pdump_align_stream): New.
7585         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7586         * dumper.c (PDUMP_READ_ALIGNED): New.
7587         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7588         * dumper.c (pdump_static_Lisp_Object): New struct.
7589         * dumper.c (pdump_static_pointer): New struct.
7590         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7591         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7592         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7593         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7594
7595         * dumper.c (pdump_backtrace):
7596         * dumper.c (pdump_get_indirect_count):
7597         * dumper.c (pdump_register_object):
7598         * dumper.c (pdump_register_struct):
7599         * dumper.c (pdump_reloc_one):
7600         * dumper.c (pdump_scan_by_alignment):
7601         * dumper.c (pdump_dump_from_root_struct_ptrs):
7602         * dumper.c (pdump_dump_opaques):
7603         * dumper.c (pdump_dump_rtables):
7604         * dumper.c (pdump_dump_from_root_objects):
7605         * dumper.c (pdump):
7606         * dumper.c (pdump_load_finish):
7607         Use aligned reading and writing.
7608
7609         * dumper.c (pdump_free): Make static.
7610         * dumper.c (pdump_hFile): Likewise.
7611         * dumper.c (pdump_hMap): Likewise.
7612
7613 2001-01-26  Martin Buchholz <martin@xemacs.org>
7614
7615         * XEmacs 21.2.43 "Terspichore" is released.
7616
7617 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7618
7619         Type fiddling for window_config.saved_windows_count
7620         * window.c (struct window_config): 
7621         Make saved_windows_count member unsigned.
7622         * window.c (sizeof_window_config_for_n_windows): 
7623         Make parameter unsigned.
7624         * window.c (mark_window_config):
7625         * window.c (window_config_equal):
7626         * window.c (free_window_configuration):
7627         * window.c (Fset_window_configuration):
7628         * window.c (count_windows):
7629         * window.c (Fcurrent_window_configuration):
7630         * window.c (reinit_vars_of_window):
7631         Update all callers and users.
7632
7633 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7634
7635         Alignment correctness for flexible arrays.
7636         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7637         Make alignment-correct. Add interesting comments.
7638         * alloc.c (size_vector):
7639         * alloc.c (make_vector_internal):
7640         * alloc.c (make_bit_vector_internal):
7641         * alloc.c (sweep_bit_vectors_1):
7642         * fns.c (size_bit_vector):
7643         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7644         * window.c (sizeof_window_config_for_n_windows): 
7645         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7646
7647 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7648
7649         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7650
7651 2001-01-23  Andy Piper  <andy@xemacs.org>
7652
7653         * select.c (Fown_selection_internal): pass owned_p
7654
7655         * select-msw.c (mswindows_own_selection): New Signature.
7656
7657         * console.h (struct console_methods): add owned_p to
7658         _own_selection.
7659
7660         * select-x.c (x_own_selection): pass owned_p
7661         (hack_motif_clipboard_selection): use owned_p
7662         (vars_of_select_x): new variable -
7663         x_selection_strict_motif_ownership.
7664
7665 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7666
7667         * specifier.h (specifier_data_offset): Remove pointless parens.
7668         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7669
7670 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7671
7672         Make Lisp_Object sizeof methods be alignment-correct.
7673         pdump must restore objects to the same alignment as the C compiler
7674         assumes.  It really matters on SGIs.
7675         * lstream.c (aligned_sizeof_lstream): New.
7676         (sizeof_lstream): Use aligned_sizeof_lstream.
7677         (Lstream_new): Likewise.
7678         * opaque.c (aligned_sizeof_opaque): New.
7679         (sizeof_opaque): Use aligned_sizeof_opaque.
7680         (make_opaque): Likewise.
7681         * specifier.c (aligned_sizeof_specifier): New.
7682         (sizeof_specifier): Use aligned_sizeof_specifier.
7683         (make_specifier_internal): Likewise.
7684
7685 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7686
7687         * lstream.h (struct lstream): Use max_align_t for trailing data.
7688         * specifier.h (struct Lisp_Specifier): Likewise.
7689
7690 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7691
7692         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7693         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7694         (CCL_SUSPEND): Likewise.
7695         (CCL_INVALID_CMD): Likewise.
7696         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7697         (ccl_driver): Likewise.
7698         (CCL_WRITE_CHAR): Macro hygiene.
7699         (CCL_WRITE_STRING): Macro hygiene.
7700
7701 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7702
7703         Port "portable" dumper to SunOS 4 and HP-UX.
7704         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7705         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7706         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7707
7708 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7709
7710         * lisp.h (ALIGNOF): A better definition for C++.
7711
7712 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7713
7714         Macro hygiene.
7715         Fix printf warnings: int format, long int arg.
7716         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7717         (PUSH_FAILURE_POINT): Use correct printf formats.
7718         (POP_FAILURE_POINT): Use correct printf formats.  
7719         Use do {...} while (0)
7720
7721 2001-01-20  Martin Buchholz <martin@xemacs.org>
7722
7723         * XEmacs 21.2.42 "Poseidon" is released.
7724
7725 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7726
7727         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7728
7729 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7730
7731         De-kludgify FIXED_TYPE free list frobbing.
7732         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7733         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7734         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7735         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7736         * alloc.c (LRECORD_FREE_P): New.
7737         * alloc.c (MARK_LRECORD_AS_FREE): New.
7738         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7739         * alloc.c (STRUCT_FREE_P): Deleted.
7740         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7741         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7742         * alloc.c (STRING_CHARS_FREE_P): New.
7743         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7744         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7745         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7746         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7747         * alloc.c (resize_string): Use new definitions.
7748         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7749         * alloc.c (verify_string_chars_integrity): Use new definitions.
7750         * alloc.c (compact_string_chars): Use new definitions.
7751         * alloc.c: Update monster comments.
7752         * lrecord.h (lrecord_type): Add some new lrecord types for
7753         alloc.c's use.
7754
7755 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7756
7757         Improve alignment hackery.
7758         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7759         (max_align_t): Moved from opaque.h - general purpose.
7760         (ALIGN_PTR): Use size_t, not long.
7761         * opaque.h (max_align_t): Move to lisp.h.
7762
7763 2001-01-18  Norbert Koch  <nk@LF.net>
7764
7765         * gui.h: Fix and add prototypes to fix build problems.
7766
7767 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7768
7769         temacs is going away, so `dump-temacs' is now a bad name.
7770         * .dbxrc (dump-temacs): Rename to `dmp'.
7771         * .gdbinit (dump-temacs): Rename to `dmp'.
7772
7773 2001-01-17  Andy Piper  <andy@xemacs.org>
7774
7775         * glyphs.c (print_image_instance): comment to make martin happy.
7776
7777         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7778         change.
7779
7780         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7781         activation.
7782         (mswindows_tab_control_redisplay): warning suppression.
7783
7784         * glyphs-widget.c (widget_update): re-write to cope with updated
7785         items.
7786         (widget_instantiate): use new gui_item functions.
7787         (tab_control_update): deleted.
7788         (progress_gauge_update): deleted.
7789         (image_instantiator_progress_guage): take out update reference.
7790         (image_instantiator_tree_view): ditto.
7791         (image_instantiator_tab_control): ditto.
7792
7793         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7794         Right the new way.
7795         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7796         return whether anything was changed.
7797         (update_gui_item_keywords): as it sounds.
7798
7799         * gui.h: declare widget_gui_parse_item_keywords.
7800
7801         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7802         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7803
7804 2001-01-17  Martin Buchholz <martin@xemacs.org>
7805
7806         * XEmacs 21.2.41 "Polyhymnia" is released.
7807
7808 2001-01-16  Didier Verna  <didier@xemacs.org>
7809
7810         * glyphs.c (image_instantiate): don't use fallbacks when
7811         instantiating a face's background pixmap by inheritance.
7812
7813 2001-01-14  Mike Sperber <mike@xemacs.org>
7814
7815         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7816         Conditionalize accordingly.
7817
7818 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7819
7820         * dumper.c (pdump_file_get): Fix a compiler warning.
7821
7822 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7823
7824         Make Purify happy when pdumping.
7825         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7826         iniitalizing all bits of new lisp object memory.
7827         * symbols.c (Fmake_local_variable): Likewise.
7828         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7829         * symbols.c (Fdefvaralias): Likewise.
7830         * mule-charset.c (vars_of_mule_charset): Likewise.
7831
7832 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7833         Add the `-nd' flag when running pre-dump operations under the debugger.
7834         * .dbxrc (run-temacs): Add `-nd'.
7835         * .dbxrc (update-elc): Likewise.
7836         * .dbxrc (dump-temacs): Likewise.
7837         * .gdbinit (run-temacs): Likewise.
7838         * .gdbinit (check-temacs): Likewise.
7839         * .gdbinit (update-elc): Likewise.
7840         * .gdbinit (dump-temacs): Likewise.
7841
7842 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7843
7844         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7845         export OBJECT_MODE=64
7846         configure --pdump --use-union-type=no
7847         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7848         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7849
7850         * miscplay.c (sndcnv8U_2mono):
7851         Avoid two uses of `++' in the same expression.
7852         Suppresses a GCC warning.
7853
7854 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7855
7856         Make sure future compilers don't miscompile alloc.c.
7857         * alloc.c:
7858         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7859         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7860
7861 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7862
7863         * dumper.c: A little post-pdump-rename comment fixup.
7864
7865 2001-01-09  Jerry James  <james@eecs.ku.edu>
7866
7867         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7868
7869 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7870
7871         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7872         script:
7873         #!/bin/sh
7874         replace_symbol () {
7875           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7876         }
7877
7878         replace_symbol pdump_wire_lists pdump_weak_object_chains
7879         replace_symbol pdump_wire_list dump_add_weak_object_chain
7880
7881         replace_symbol pdump_wires pdump_root_objects
7882         replace_symbol pdump_wire dump_add_root_object
7883
7884         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7885         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7886
7887         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7888         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7889         replace_symbol dumpstructinfo pdump_root_struct_ptr
7890         replace_symbol dumpstruct dump_add_root_struct_ptr
7891
7892         replace_symbol dumpopaque dump_add_opaque
7893         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7894         replace_symbol dumpopaqueinfos pdump_opaques
7895         replace_symbol dumpopaqueinfo pdump_opaque
7896
7897         replace_symbol nb_structdump nb_root_struct_ptrs
7898         replace_symbol nb_opaquedump nb_opaques
7899
7900         replace_symbol align_table pdump_align_table
7901         replace_symbol dump_header pdump_header
7902
7903         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7904         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7905
7906
7907 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7908
7909         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7910         optimizing bytecount_to_charcount().
7911
7912 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7913
7914         * config.h.in:
7915         (HAVE_DLFCN_H): Removed.
7916         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7917
7918 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7919
7920         Portable dumper maintainability improvements.
7921         * alloc.c (staticpro):
7922         * alloc.c (staticpro_nodump):
7923         * alloc.c (garbage_collect_1):
7924         * alloc.c (reinit_alloc_once_early):
7925         * alloc.c (init_alloc_once_early):
7926         * alloc.c: Move dumper functions to alloc.c.
7927         * dumper.c (pdump_backtrace):
7928         * dumper.c (pdump_dump_structs):
7929         * dumper.c (pdump_dump_opaques):
7930         * dumper.c (pdump_dump_rtables):
7931         * dumper.c (pdump_dump_wired):
7932         * dumper.c (pdump):
7933         * dumper.c (pdump_load_check):
7934         * dumper.c (pdump_load_finish):
7935         * dumper.c (pdump_file_unmap):
7936         * dumper.c (pdump_file_get):
7937         * dumper.c (pdump_resource_free):
7938         * dumper.c (pdump_resource_get):
7939         * dumper.c (pdump_file_free):
7940         * dumper.c (pdump_file_try):
7941         * dumper.c (pdump_load):
7942         Remove fixed size limits on staticpro(), staticpro_nodump(),
7943         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7944         Remove custom code for dumping lrecord_implementations_table - use
7945         dumpopaque instead.
7946         Remove (most of the) custom code for dumping staticpros - dump it
7947         like any other dynarr.
7948
7949         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7950         * dumper.c: Moved functions from alloc.c.
7951         * alloc.c (dumpstruct): Moved to dumper.c.
7952         * alloc.c (dumpopaque): Likewise.
7953         * alloc.c (pdump_wire): Likewise.
7954         * alloc.c (pdump_wire_list): Likewise.
7955
7956         * lisp.h (Dynarr_sizeof): New.
7957         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7958         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7959         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7960
7961         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7962         * lisp.h (dumpopaque): ditto.
7963         * lisp.h (pdump_wire): ditto.
7964         * lisp.h (pdump_wire_list): ditto.
7965
7966 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7967
7968         * make-src-depend (PrintPatternDeps):
7969         Use `sort' to make output independent of perl version.
7970
7971 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7972
7973         Port to Netbsd 1.5.
7974         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7975         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7976
7977 2001-01-03  Didier Verna  <didier@xemacs.org>
7978
7979         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7980         that `focus_frame' is alive before thinking of calling
7981         `redisplay_redraw_cursor' on it.
7982
7983 2001-01-08  Martin Buchholz <martin@xemacs.org>
7984
7985         * XEmacs 21.2.40 is released.
7986
7987 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7988
7989         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7990
7991 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7992
7993         * alloc.c (dbg_valmask): Make const.
7994         * alloc.c (dbg_typemask): Make const.
7995         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7996         * alloc.c (dbg_valbits): Make const.
7997         * alloc.c (dbg_gctypebits): Make const.
7998
7999 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
8000
8001         * redisplay-x.c (x_bevel_area):
8002         redisplay.h (struct rune):
8003         Typo fixes in comments.
8004
8005 2001-01-05  Andy Piper  <andy@xemacs.org>
8006
8007         * glyphs-x.c (x_redisplay_widget): use size changed for offset
8008         adjustment.
8009
8010         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
8011
8012 2001-01-05  Martin Buchholz  <martin@xemacs.org>
8013
8014         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
8015
8016         * mule-ccl.c (stack_idx_of_map_multiple):
8017         Non const global data must not be initialized!
8018         Found by MIYASHITA Hisashi.
8019
8020 2001-01-02  Andy Piper  <andy@xemacs.org>
8021
8022         * frame.c (change_frame_size): make sure frame size is always
8023         marked as changed.
8024
8025         * glyphs.c (image_instance_layout): minor code reuse.
8026
8027         * window.c (Fcurrent_window_configuration): revert previous
8028         change.
8029
8030 2001-01-02  Martin Buchholz  <martin@xemacs.org>
8031
8032         * glyphs.h:
8033         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
8034
8035 2000-12-31  Andy Piper  <andy@xemacs.org>
8036
8037         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
8038         when widget gets unmapped.
8039
8040         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
8041         function. Make sure widgets losing focus don't just drop it.
8042         (handle_focus_event_1): record the widget with focus.
8043
8044 2000-12-31  Andy Piper  <andy@xemacs.org>
8045
8046         * window.c (allocate_window): use
8047         make_image_instance_cache_hash_table.
8048         (make_dummy_parent): ditto.
8049         (Fset_window_configuration): ditto.
8050
8051         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
8052
8053         * glyphs.c (process_image_string_instantiator): use
8054         INSTANTIATOR_TYPE.
8055         (get_image_instantiator_governing_domain): ditto.
8056         (normalize_image_instantiator): ditto.
8057         (instantiate_image_instantiator): ditto.
8058         (make_image_instance_1): ditto.
8059         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8060         (instantiator_eq_equal): new function for use with instance hash
8061         tables.
8062         (instantiator_eq_hash): ditto.
8063         (make_image_instance_cache_hash_table): create a suitable hash
8064         table for storing image instances.
8065
8066         * elhash.h (hash_table_weakness): new internal weakness type
8067         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8068         declare new functions.
8069
8070         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8071         another weakness type for glyphs.
8072         (make_standard_lisp_hash_table): new function split out from
8073         make_general_lisp_hash_table.
8074         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8075         (hash_table_instantiate): ditto.
8076         (Fmake_hash_table): ditto.
8077
8078 2000-12-31  Martin Buchholz <martin@xemacs.org>
8079
8080         * XEmacs 21.2.39 is released.
8081
8082 2000-12-29  Andy Piper  <andy@xemacs.org>
8083
8084         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8085
8086         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8087         the frame has changed so that we pick up geometry changes such as
8088         menubar visibility.
8089
8090 2000-12-28  Andy Piper  <andy@xemacs.org>
8091
8092         * lastfile.c (my_ebss): make a char array so we can pad the
8093         bss. Fixes cygwin unexec.
8094
8095         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8096
8097 2000-12-26  Andy Piper  <andy@xemacs.org>
8098
8099         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8100         comments and try and be more precise about a non-/SIGIO world.
8101         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8102         SIGIO.
8103
8104         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8105         we don't normalize to zero width or height.
8106
8107 2000-12-24  Andy Piper  <andy@xemacs.org>
8108
8109         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8110
8111 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8112
8113         * s/sco5.h: SCO 5 has pty support.
8114
8115 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8116
8117         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8118         input-method-xlib.c contains whole contents of input-method-xfs.c,
8119         so we can use input-method-xlib.c's code for USE_XFONTSET
8120         using #ifdefs.
8121         * input-method-xfs.c: removed.
8122
8123 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8124
8125         * file-coding.h (enum coding_category_type): reorder enumerators to
8126         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8127         (now one greater than largest real coding_category_type enumerator).
8128         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8129         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8130         Fcoding_category_list, Fset_coding_priority_list,
8131         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8132         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8133
8134 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8135
8136         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8137         * redisplay-output.c (redisplay_output_window): Clear top of window
8138         when face is changed.
8139         * redisplay-x.c (x_redraw_exposed_window): Call
8140         redisplay_clear_top_of_window.
8141         * redisplay.h: Publish redisplay_clear_top_of_window.
8142
8143 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8144
8145         * buffer.c (Fkill_buffer): Map over all devices.
8146         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8147         (list_windows): New function.
8148         (list_all_windows): Ditto.
8149         (Freplace_buffer_in_windows): Use them.
8150
8151 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8152
8153         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8154         (Fopen_database): Use `db_create' instead of `db_open'.
8155         (syms_of_database): Initialize Qqueue.
8156
8157 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8158
8159         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8160         buffer_local_face_property.
8161         * buffer.h (struct buffer): New member buffer_local_face_property.
8162         * window.c (Fset_window_buffer):  Mark window's face as changed
8163         when buffer has buffer local face.
8164         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8165         * objects.c (color_after_change): Set buffer_local_face_property
8166         when locale of face specifier is buffer.
8167         * objects.c (font_after_change): Ditto.
8168         * objects.c (face_boolean_after_change): Ditto.
8169         * glyphs.c (image_after_change): Ditto.
8170
8171 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8172
8173         * nt.c (mswindows_fstat): Report file permissions, volume serial
8174         number, etc. Code adapted from FSF Emacs 20.7.
8175
8176 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8177
8178         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8179         of stat when we don't have symbolic links, to make sure
8180         mswindows_stat is called on mswindows.
8181
8182 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8183
8184         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8185
8186 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8187
8188         * doprnt.c (emacs_doprnt_1): More printing fixes.
8189         Make printing of numbers compatible with libc and FSF Emacs.
8190         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8191         Use the system printf to do most of the hard work of formatting,
8192         instead of doprnt_1().
8193         Calculate memory to allocate for format string.
8194         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8195         (doprnt_1): Cleaner code and documentation.
8196
8197 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8198
8199         * Makefile.in.in: Use the loop variable to install headers.
8200
8201 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8202
8203         * window.c (Fsplit_window): Don't invalidate face cache.
8204
8205 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8206
8207         * minibuf.c (Fall_completions): Undo the previous change
8208         which removed checking elements start with space.
8209
8210 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8211
8212         * mule-canna.c: Didier suppression.
8213
8214 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8215
8216         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8217         (warning suppression).  Add English comment translations.
8218
8219 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8220
8221         * unexelfsgi.c (unexec): Better test for mmap failure.
8222
8223 2000-12-05  Martin Buchholz <martin@xemacs.org>
8224
8225         * XEmacs 21.2.38 is released.
8226
8227 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8228
8229         * redisplay.c (bar-cursor): Make a user variable.
8230
8231         * symsinit.h: Add init_postgresql_from_environment.
8232
8233 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8234
8235         * regex.c: Convert to clean C.
8236
8237 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8238
8239         * realpath.c:
8240         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8241         initialization.
8242         (sys_readlink): renamed to system_readlink to avoid conflict with
8243         the other sys_readlink.
8244
8245 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8246
8247         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8248
8249 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8250
8251         * postgresql.c (init_postgresql_from_environment): new function.
8252         (vars_of_postgresql): Move code initializing Lisp variables out and
8253         into init_postgresql_from_environment.
8254         emacs.c (main_1): Call init_postgresql_from_environment if and only
8255         if running a dumped XEmacs.
8256
8257 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8258
8259         * buffer.c: Make find-file-compare-truenames default to true on
8260         windows.
8261
8262         * realpath.c (win32_abs_start):
8263         (cygwin_readlink):
8264         (win32_readlink): New functions.
8265         (xrealpath): Return really real filenames on windows.
8266
8267         * fileio.c (Ffile_truename): Make file-truename work on windows.
8268
8269 2000-11-29  Didier Verna  <didier@xemacs.org>
8270
8271         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8272         * faces.c (update_face_cachel_data): use it.
8273         * faces.c (add_face_cachel): use it. Complete background pixmap
8274         frobbing in face cache if `update_face_cachel_data' has not done so.
8275
8276 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8277
8278         * search.c (string_match_1): Don't set last_thing_searched
8279         when search failed.
8280
8281 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8282
8283         * buffer.c: Include casetab.h
8284         (common_init_complex_vars_of_buffer): Use new case-table object.
8285         * buffer.h: Include casetab.h
8286         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8287         (DOWNCASE_TABLE_OF): Ditto.
8288         * bufslots.h: Remove char-tables and add case-table.
8289         * casetab.c: Include casetab.h
8290         (CASE_TABLE_P): Removed.
8291         (mark_case_table): New function.
8292         (allocate_case_table): New function.
8293         (Fcase_table_p): Use new case-table.
8294         (case_table_char): New function.
8295         (Fget_case_table): Ditto.
8296         (Fput_case_table): Ditto.
8297         (Fput_case_table_pair): Ditto.
8298         (Fcopy_case_table): Ditto.
8299         (Fcurrent_case_table): Return case-table.
8300         (Fstandard_case_table): Return case-table.
8301         (Fset_case_table): Fix doc-string.
8302         (set_case_table): Use case-table
8303         (syms_of_casetab): DEFSUBR new functions.
8304         (complex_vars_of_casetab): Set up standard case-table.
8305         * casetab.h: New file.
8306         * editfns.c: Include casetab.h
8307         (Fcompare_buffer_substrings): Use case-table.
8308         * inline.c: Include casetab.h
8309         * lisp.h: Remove bogus extern.
8310         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8311         * search.c: Include casetab.h
8312         (TRANSLATE_ASCII): Removed.
8313         (TRANSLATE): Unconditionally translate character.
8314         (looking_at_1): Use case-table.
8315         (string_match_1): Ditto.
8316         (fast_string_match): Ditto.
8317         (search_command): Ditto.
8318         (search_buffer): Separate boyer_moore.  Check whether
8319         boyer_moore is possible.
8320         (simple_search): New function.
8321         (boyer_moore): Separated from search_buffer. Translate char.
8322
8323 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8324
8325         * regex.c (RE_TR_ASCII): Removed.
8326         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8327         (PATFETCH): Call PATFETCH_RAW.
8328         (PATFETCH_RAW): Fetch Emchar.
8329         (PATUNFETCH): Decrement charptr.
8330         (GET_BUFFER_SPACE): Rename b to buf_end.
8331         (BUF_PUSH): Ditto.
8332         (BUF_PUSH_2): Ditto.
8333         (BUF_PUSH_3): Ditto.
8334         (EXTEND_BUFFER): Ditto.
8335         (SET_LIST_BIT): Ditto.
8336         (regex_compile): Ditto.  Translate non ASCII char.
8337         (compile_range): Ditto.
8338         (re_search_2): Ditto.
8339         (re_match_2_internal): Compare Emchar.
8340         (bcmp_translate): Ditto.
8341
8342 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8343
8344         * lisp.h (basic char/int typedefs):  comment improvement.
8345
8346 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8347
8348         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8349         unstomp inhibit_site_lisp.  Improve comments.
8350
8351 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8352
8353         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8354
8355 2000-11-28  Andy Piper  <andy@xemacs.org>
8356
8357         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8358         clipped display for windows in the gutter also.
8359         (redisplay_display_boxes_in_window_p): change semantics of return
8360         codes to be more intuitive.
8361
8362         * gutter.h: declare display_boxes_in_gutter_p.
8363
8364         * gutter.c (display_boxes_in_gutter_p): new function for
8365         redisplay.
8366
8367 2000-11-22  Andy Piper  <andy@xemacs.org>
8368
8369         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8370         autodetect domain.
8371
8372 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8373
8374         * callproc.c (Fold_call_process_internal):
8375         * gpm.c (Freceive_gpm_event):
8376         (tty_get_foreign_selection): Might be just warning supression.
8377         * fileio.c (Fwrite_region_internal):
8378         (Fset_visited_file_modtime):
8379         * keymap.c (event_matches_key_specifier_p):
8380         Initialize GCPROed variable.
8381
8382         * menubar-x.c (command_builder_find_menu_accelerator):
8383         Initialize before use.
8384
8385 2000-11-23  Andy Piper  <andy@xemacs.org>
8386
8387         * unexcw.c (unexec): make the resulting executable executable.
8388
8389 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8390
8391         * doc.c (get_doc_string):
8392         Use size_t, not int, for result of XSTRING_LENGTH.
8393
8394         * cmds.c (Fdelete_char):
8395         * cmds.c (Fpoint_at_eol):
8396         * cmds.c (Fself_insert_command):
8397         Use EMACS_INT, not int, for result of XINT.
8398         Someday, someone will want to insert more than 2**31 identical characters.
8399
8400         * cmds.c (Fdelete_char):
8401         * cmds.c (Fdelete_backward_char):
8402         * syntax.c (Fforward_word):
8403         * syntax.c (Fforward_comment):
8404         Make COUNT argument optional, for consistency with forward-char et al.
8405
8406 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8407
8408         * lisp.h:
8409         * print.c (long_to_string):
8410         Return a useful value: the pointer at end of data written.
8411
8412         * doprnt.c:
8413         Use `static const char * const' for constant strings.
8414         (union printf_arg): Delete `i', `ui' members.
8415         (get_doprnt_args):
8416         (emacs_doprnt_1):
8417         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8418         Do all printf-ing via the `l' specifier.
8419         Use EMACS_INT instead of int.
8420         Optimize.
8421
8422 2000-11-20  Didier Verna  <didier@xemacs.org>
8423
8424         * faces.c (update_face_cachel_data): don't frob the background
8425         pixmap when the window is being created. The face is needed but
8426         does not exist yet.
8427
8428 2000-11-20  Andy Piper  <andy@xemacs.org>
8429
8430         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8431         messing with a debug environment.
8432
8433 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8434
8435         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8436
8437 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8438
8439         * casetab.c (Fcase_table_p): Fix compile error and crash.
8440
8441 2000-11-18  Philip Aston  <philipa@mail.com>
8442
8443         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8444
8445 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8446
8447         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8448         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8449
8450 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8451
8452         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8453         * unexelf.c: Use HAVE_ELF_H.
8454         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8455         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8456         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8457         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8458         for testing.
8459         So this is an unexelfsgi.c from a different line of development.
8460
8461 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8462
8463         * regex.c (RE_TR_ASCII): New function.
8464         (RE_TRANSLATE): Call it.
8465
8466 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8467
8468         * buffer.h (TRT_TABLE_OF): Remove assert.
8469         (IN_TRT_TABLE_DOMAIN): Removed.
8470
8471 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8472
8473         * free-hook.c (log_gcpro):
8474         (show_gcprohist): Add support for GCPRO5.
8475
8476 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8477
8478         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8479
8480 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8481
8482         * symeval.h: Declare flush_all_buffer_local_cache.
8483
8484         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8485         (flush_buffer_local_cache): Added.
8486         (flush_all_buffer_local_cache): Added.
8487
8488         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8489
8490         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8491         (pdump_dump_data): Ditto.
8492         (pdump_reloc_one): Ditto.
8493         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8494         before dumping.
8495
8496
8497 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8498
8499         * buffer.c: Remove if 0'ed entry.
8500         * buffer.h: Rewrite TRT to use char-table.
8501         * bufslots.h: Remove mirror tables.
8502         * casetab.c: Remove mirror tables.
8503         (CASE_TABLE_P): New macro.
8504         (Fcase_table_p): Element of a case table is string or char-table.
8505         (make_mirror_trt_table): Removed.
8506         (set_case_table): Setup char-table from strings for backward
8507         compatibility.
8508         * dired.c (Fdirectory_files):
8509         * dired-msw.c: (mswindows_get_files):
8510         * lisp.h: Change prototype of re_pattern_buffer.
8511         * regex.c: (RE_TRANSLATE): New macro.
8512         (TRANSLATE_P): Ditto.
8513         Change translate to type RE_TRANSLATE_TYPE.
8514         * regex.h: Define RE_TRANSLATE_TYPE
8515         * search.c (TRANSLATE): New macro.
8516         (TRANSLATE_ASCII): New macro.
8517         Translate table is changed to Lisp_Object.
8518         (signal_failure): Inhibit return.
8519
8520 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8521
8522         * device-msw.c:
8523         * eldap.c:
8524         * event-Xt.c:
8525         * event-stream.c:
8526         * print.c:
8527         Do UNGCPRO before return.
8528
8529 2000-11-14  Martin Buchholz <martin@xemacs.org>
8530
8531         * XEmacs 21.2.37 is released.
8532
8533 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8534
8535         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8536         Add comments about discarded return value.
8537
8538 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8539
8540         * callint.c:
8541         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8542
8543 2000-10-27  Andy Piper  <andy@xemacs.org>
8544
8545         * gutter.c (Fset_default_gutter_position): default left and right
8546         gutters to visible.
8547         (calculate_gutter_size): calculate resonable heuristic for left
8548         and right gutter sizes.
8549         (specifier_vars_of_gutter): change left and right gutter sizes to
8550         autodetect.
8551         (calculate_gutter_size_from_display_lines): new function.
8552         (output_gutter): check for resizing on left and right gutters.
8553         (clear_gutter): don't special case top and left gutters.
8554         (specifier_vars_of_gutter): use new signature for
8555         set_specifier_caching.
8556
8557         * glyphs-x.c (x_redisplay_widget): spelling fix.
8558         * glyphs.c (specifier_vars_of_glyphs):
8559         * menubar.c (specifier_vars_of_menubar):
8560         * redisplay.c (specifier_vars_of_redisplay):
8561         * toolbar.c (specifier_vars_of_toolbar):
8562         * window.c (specifier_vars_of_window):
8563         * scrollbar.c (specifier_vars_of_scrollbar):
8564         (complex_vars_of_scrollbar): use new signature for
8565         set_specifier_caching.
8566
8567         * specifier.c (set_specifier_caching): include recompute flag.
8568         (recompute_one_cached_specifier_in_window): always recompute if
8569         flag set.
8570         (recompute_one_cached_specifier_in_frame): ditto.
8571
8572         * specifier.h (struct specifier_caching): add recompute flag.
8573
8574 2000-10-24  Andy Piper  <andy@xemacs.org>
8575
8576         * unexcw.c (copy_executable_and_dump_data_section): add new
8577         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8578         5.0 happy.
8579
8580 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8581
8582         * console-x.h (x_device): New member modifier_release_time.
8583         * event-Xt.c (x_handle_sticky_modifiers):
8584         Bound interval modifier keys are sticky.
8585         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8586         * events.h: extern it.
8587
8588 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8589
8590         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8591
8592 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8593
8594         * event-stream.c (execute_command_event): Preserve current_events
8595         and the like when event is misc-user-event.
8596         Inhibit quit during the call to maybe_echo_keys.
8597
8598 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8599
8600         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8601         symlink when buffer is killed.
8602         (inhibit_clash_detection): New variable.
8603
8604 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8605
8606         * console.c (Fset_input_method): Trigger redisplay on tty.
8607
8608 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8609
8610         * process.c (Fprocess_status): Revert to previous behavior:
8611         (process-status "nosuchprocess") ==> nil
8612
8613 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8614
8615         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8616         Work around another GCC 2.95.2 optimizer bug.
8617
8618 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8619
8620         * process.c (Fget_process): Use LIST_LOOP_2.
8621         (kill_buffer_processes): Use LIST_LOOP_2.
8622
8623         * minibuf.c (Fall_completions):
8624         Delete old non-functional code for FSF fourth argument.
8625
8626         * frame.c (frame_matches_frame_spec):
8627         Renamed from `frame_matches_frametype'.  Update all callers.
8628         (device_matches_device_spec):
8629         Renamed from 'device_matches_console_spec'.  Update all callers.
8630
8631         * doc.c (Fsubstitute_command_keys):
8632         Remove buffer overflow crash.  Small code cleanups.
8633
8634         * casetab.c (check_case_table): Simpler code.
8635
8636         * window.c (Freplace_buffer_in_windows):
8637         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8638         (and similar implementation) as Fdelete_windows_on.
8639         Update all callers.
8640
8641         * alloc.c (Fmake_list):
8642         * alloc.c (make_vector):
8643         * alloc.c (Fmake_vector):
8644         * alloc.c (make_bit_vector):
8645         * alloc.c (Fmake_bit_vector):
8646         * alloc.c (Fbit_vector):
8647         * alloc.c (Fmake_string):
8648         * alloc.c (Fpurecopy):
8649         * alloc.c (Fmemory_limit):
8650         * buffer.c:
8651         * buffer.c (Fget_buffer):
8652         * buffer.c (Fkill_buffer):
8653         * buffer.c (complex_vars_of_buffer):
8654         * bytecode.c (Fcompiled_function_stack_depth):
8655         * callint.c (Fprefix_numeric_value):
8656         * event-stream.c:
8657         * event-stream.c (Fread_key_sequence):
8658         * casetab.c:
8659         * casetab.c (Fcase_table_p):
8660         * casetab.c (check_case_table):
8661         * casetab.c (Fset_case_table):
8662         * casetab.c (Fset_standard_case_table):
8663         * chartab.c:
8664         * chartab.c (Fchar_table_type):
8665         * chartab.c (Freset_char_table):
8666         * chartab.c (Fget_char_table):
8667         * chartab.c (Fget_range_char_table):
8668         * chartab.c (Fput_char_table):
8669         * chartab.c (Fmap_char_table):
8670         * chartab.c (Fcategory_table_p):
8671         * chartab.c (Fcheck_category_at):
8672         * chartab.c (Fchar_in_category_p):
8673         * chartab.c (Fcategory_table):
8674         * chartab.c (Fcopy_category_table):
8675         * chartab.c (Fset_category_table):
8676         * chartab.c (Fcategory_designator_p):
8677         * chartab.c (Fcategory_table_value_p):
8678         * cmds.c (Fdelete_char):
8679         * cmds.c (Fdelete_backward_char):
8680         * cmds.c (Fself_insert_command):
8681         * cmds.c (Fself_insert_internal):
8682         * console.c (Fvalid_console_type_p):
8683         * console.c (Fcdfw_console):
8684         * console.c (Fconsole_type):
8685         * console.c (Fconsole_name):
8686         * console.c (Fconsole_device_list):
8687         * console.c (Fconsole_on_window_system_p):
8688         * data.c:
8689         * data.c (Feq):
8690         * data.c (Fold_eq):
8691         * data.c (Fsubr_interactive):
8692         * data.c (Fchar_to_int):
8693         * data.c (Fint_to_char):
8694         * data.c (Fsetcar):
8695         * data.c (Fsetcdr):
8696         * data.c (Fnumber_to_string):
8697         * data.c (Fstring_to_number):
8698         * data.c (Frem):
8699         * database.c (mark_database):
8700         * database.c (finalize_database):
8701         * database.c (Fdatabase_live_p):
8702         * database.c (Fdatabasep):
8703         * device-x.c (Fx_get_resource):
8704         * device.c (Fdfw_device):
8705         * dired.c:
8706         * dired.c (Ffile_name_completion):
8707         * dired.c (Ffile_name_all_completions):
8708         * dired.c (Fuser_name_completion):
8709         * dired.c (Fuser_name_completion_1):
8710         * dired.c (Fuser_name_all_completions):
8711         * doc.c (Fdocumentation):
8712         * doc.c (Fdocumentation_property):
8713         * doc.c (Fsubstitute_command_keys):
8714         * editfns.c:
8715         * editfns.c (Fchar_to_string):
8716         * editfns.c (Fstring_to_char):
8717         * editfns.c (Ftemp_directory):
8718         * editfns.c (Finsert_char):
8719         * editfns.c (Fbuffer_substring_no_properties):
8720         * editfns.c (Fnarrow_to_region):
8721         * editfns.c (Fchar_equal):
8722         * editfns.c (Fchar_Equal):
8723         * editfns.c (Ftranspose_regions):
8724         * emacs.c (Fdump_emacs):
8725         * eval.c (Fthrow):
8726         * eval.c (Fcommand_execute):
8727         * eval.c (Fautoload):
8728         * eval.c (Fbacktrace):
8729         * eval.c (Fbacktrace_frame):
8730         * events.c:
8731         * events.c (Fcopy_event):
8732         * events.c (Fcharacter_to_event):
8733         * events.c (Fevent_button):
8734         * events.c (Fevent_process):
8735         * extents.c:
8736         * extents.c (Fnext_extent_change):
8737         * extents.c (Fextent_property):
8738         * faces.c (Ffacep):
8739         * faces.c (Fmake_face):
8740         * file-coding.c:
8741         * file-coding.c (Fencode_shift_jis_char):
8742         * file-coding.c (Fencode_big5_char):
8743         * fileio.c (Ffile_name_directory):
8744         * fileio.c (Ffile_name_nondirectory):
8745         * fileio.c (Ffile_name_as_directory):
8746         * fileio.c (Fdirectory_file_name):
8747         * fileio.c (Ffile_truename):
8748         * fileio.c (Fsubstitute_in_file_name):
8749         * fileio.c (Ffile_modes):
8750         * fileio.c (Fset_file_modes):
8751         * fileio.c (Fset_default_file_modes):
8752         * fileio.c (Fverify_visited_file_modtime):
8753         * floatfns.c (Facos):
8754         * floatfns.c (Fasin):
8755         * floatfns.c (Fatan):
8756         * floatfns.c (Fcos):
8757         * floatfns.c (Fsin):
8758         * floatfns.c (Ftan):
8759         * floatfns.c (Fbessel_j0):
8760         * floatfns.c (Fbessel_j1):
8761         * floatfns.c (Fbessel_jn):
8762         * floatfns.c (Fbessel_y0):
8763         * floatfns.c (Fbessel_y1):
8764         * floatfns.c (Fbessel_yn):
8765         * floatfns.c (Ferf):
8766         * floatfns.c (Ferfc):
8767         * floatfns.c (Flog_gamma):
8768         * floatfns.c (Fexp):
8769         * floatfns.c (Fexpt):
8770         * floatfns.c (Flog):
8771         * floatfns.c (Flog10):
8772         * floatfns.c (Fsqrt):
8773         * floatfns.c (Fcube_root):
8774         * floatfns.c (Facosh):
8775         * floatfns.c (Fasinh):
8776         * floatfns.c (Fatanh):
8777         * floatfns.c (Fcosh):
8778         * floatfns.c (Fsinh):
8779         * floatfns.c (Ftanh):
8780         * floatfns.c (Fabs):
8781         * floatfns.c (Ffloat):
8782         * floatfns.c (Flogb):
8783         * floatfns.c (Fceiling):
8784         * floatfns.c (Ffloor):
8785         * floatfns.c (Fround):
8786         * floatfns.c (Ftruncate):
8787         * floatfns.c (Ffceiling):
8788         * floatfns.c (Fffloor):
8789         * floatfns.c (Ffround):
8790         * floatfns.c (Fftruncate):
8791         * fns.c (Fstring_equal):
8792         * fns.c (Fstring_lessp):
8793         * fns.c (concat2):
8794         * fns.c (concat3):
8795         * fns.c (vconcat2):
8796         * fns.c (vconcat3):
8797         * fns.c (Fsubstring):
8798         * fns.c (Fassoc):
8799         * fns.c (Fold_assoc):
8800         * fns.c (assoc_no_quit):
8801         * fns.c (Fassq):
8802         * fns.c (Fold_assq):
8803         * fns.c (assq_no_quit):
8804         * fns.c (Frassoc):
8805         * fns.c (Fold_rassoc):
8806         * fns.c (Frassq):
8807         * fns.c (Fold_rassq):
8808         * fns.c (rassq_no_quit):
8809         * fns.c (Fremassoc):
8810         * fns.c (remassoc_no_quit):
8811         * fns.c (Fremassq):
8812         * fns.c (remassq_no_quit):
8813         * fns.c (Fremrassoc):
8814         * fns.c (Fremrassq):
8815         * fns.c (remrassq_no_quit):
8816         * fns.c (Fsort):
8817         * fns.c (Fplist_get):
8818         * fns.c (Fplist_put):
8819         * fns.c (Fplist_remprop):
8820         * fns.c (Fplist_member):
8821         * fns.c (Flax_plist_get):
8822         * fns.c (Flax_plist_put):
8823         * fns.c (Flax_plist_remprop):
8824         * fns.c (Flax_plist_member):
8825         * fns.c (Fequal):
8826         * fns.c (Fold_equal):
8827         * fns.c (Frequire):
8828         * fns.c (Fbase64_encode_region):
8829         * fns.c (Fbase64_encode_string):
8830         * fns.c (Fbase64_decode_region):
8831         * frame.c:
8832         * frame.c (frame_matches_frame_spec):
8833         * frame.c (device_matches_device_spec):
8834         * frame.c (next_frame):
8835         * frame.c (previous_frame):
8836         * frame.c (Fnext_frame):
8837         * frame.c (Fprevious_frame):
8838         * frame.c (Fframe_property):
8839         * frame.c (Fset_frame_height):
8840         * frame.c (Fset_frame_size):
8841         * frame.h:
8842         * glyphs.c:
8843         * glyphs.c (if):
8844         * glyphs.c (decode_error_behavior_flag):
8845         * glyphs.c (Fmake_image_instance):
8846         * indent.c (Findent_to):
8847         * intl.c (Fignore_defer_gettext):
8848         * keymap.c (Fkeymapp):
8849         * keymap.c (Flookup_key):
8850         * lread.c:
8851         * lread.c (Fload_internal):
8852         * lread.c (Feval_buffer):
8853         * lread.c (Feval_region):
8854         * macros.c (Fexecute_kbd_macro):
8855         * marker.c (set_marker_internal):
8856         * marker.c (Fset_marker):
8857         * marker.c (set_marker_restricted):
8858         * marker.c (Fcopy_marker):
8859         * marker.c (noseeum_copy_marker):
8860         * menubar.c:
8861         * menubar.c (Fpopup_menu):
8862         * minibuf.c:
8863         * mule-charset.c (Fcharset_name):
8864         * mule-charset.c (Fchar_charset):
8865         * mule-charset.c (Fchar_octet):
8866         * mule-charset.c (Fsplit_char):
8867         * mule-wnnfns.c (Fwnn_open):
8868         * mule-wnnfns.c (Fwnn_dict_comment):
8869         * mule-wnnfns.c (Fwnn_quit_henkan):
8870         * mule-wnnfns.c (Fwnn_word_toroku):
8871         * mule-wnnfns.c (Fwnn_word_sakujo):
8872         * mule-wnnfns.c (Fwnn_word_use):
8873         * mule-wnnfns.c (Fwnn_hindo_set):
8874         * objects.c:
8875         * objects.c (Fmake_color_instance):
8876         * objects.c (Fmake_font_instance):
8877         * print.c (Fwrite_char):
8878         * process.c:
8879         * process.c (mark_process):
8880         * process.c (print_process):
8881         * process.c (get_process_from_usid):
8882         * process.c (Fprocessp):
8883         * process.c (Fprocess_live_p):
8884         * process.c (Fget_process):
8885         * process.c (Fget_buffer_process):
8886         * process.c (get_process):
8887         * process.c (Fprocess_id):
8888         * process.c (Fprocess_name):
8889         * process.c (Fprocess_command):
8890         * process.c (init_process_io_handles):
8891         * process.c (start_process_unwind):
8892         * process.c (Fstart_process_internal):
8893         * process.c (Fopen_multicast_group_internal):
8894         * process.c (Fset_process_window_size):
8895         * process.c (read_process_output):
8896         * process.c (send_process):
8897         * process.c (Fprocess_tty_name):
8898         * process.c (Fset_process_buffer):
8899         * process.c (Fprocess_buffer):
8900         * process.c (Fprocess_mark):
8901         * process.c (set_process_filter):
8902         * process.c (Fset_process_filter):
8903         * process.c (Fprocess_filter):
8904         * process.c (Fprocess_send_region):
8905         * process.c (Fprocess_send_string):
8906         * process.c (exec_sentinel):
8907         * process.c (Fset_process_sentinel):
8908         * process.c (Fprocess_sentinel):
8909         * process.c (status_notify):
8910         * process.c (Fprocess_status):
8911         * process.c (Fprocess_exit_status):
8912         * process.c (process_send_signal):
8913         * process.c (Fprocess_send_eof):
8914         * process.c (deactivate_process):
8915         * process.c (remove_process):
8916         * process.c (Fdelete_process):
8917         * process.c (kill_buffer_processes):
8918         * process.c (Fprocess_kill_without_query):
8919         * process.c (Fprocess_kill_without_query_p):
8920         * rangetab.c:
8921         * rangetab.c (Fget_range_table):
8922         * rangetab.c (Fput_range_table):
8923         * rangetab.c (Fremove_range_table):
8924         * rangetab.c (Fclear_range_table):
8925         * search.c:
8926         * search.c (Fskip_chars_forward):
8927         * search.c (Fskip_chars_backward):
8928         * search.c (Fskip_syntax_forward):
8929         * search.c (Fskip_syntax_backward):
8930         * search.c (search_command):
8931         * search.c (Freplace_match):
8932         * search.c (Fregexp_quote):
8933         * select.c (Fown_selection_internal):
8934         * select.c (Fselection_owner_p):
8935         * select.c (Fselection_exists_p):
8936         * select.c (Fget_selection_internal):
8937         * specifier.c:
8938         * symbols.c:
8939         * symbols.c (Fintern):
8940         * symbols.c (Fintern_soft):
8941         * symbols.c (Funintern):
8942         * symbols.c (Fapropos_internal):
8943         * symbols.c (Fset_default):
8944         * syntax.c:
8945         * syntax.c (Fsyntax_table_p):
8946         * syntax.c (Fcopy_syntax_table):
8947         * syntax.c (Fset_syntax_table):
8948         * syntax.c (Fchar_syntax):
8949         * syntax.c (syntax_match):
8950         * syntax.c (Fmatching_paren):
8951         * syntax.c (Fforward_word):
8952         * syntax.c (scan_lists):
8953         * syntax.c (Fscan_lists):
8954         * syntax.c (Fscan_sexps):
8955         * syntax.c (Fparse_partial_sexp):
8956         * toolbar.c (Fcheck_toolbar_button_syntax):
8957         * tooltalk.doc:
8958         * window.c:
8959         * window.c (Fwindowp):
8960         * window.c (Fwindow_live_p):
8961         * window.c (Fwindow_point):
8962         * window.c (Fdelete_window):
8963         * window.c (Fnext_window):
8964         * window.c (Fprevious_window):
8965         * window.c (Fother_window):
8966         * window.c (window_loop):
8967         * window.c (Fget_lru_window):
8968         * window.c (Fsplit_window):
8969         * window.c (Fenlarge_window):
8970         * window.c (Fenlarge_window_pixels):
8971         * window.c (Fshrink_window):
8972         * window.c (Fshrink_window_pixels):
8973         * window.c (change_window_height):
8974         * window.c (Fwindow_configuration_p):
8975         * window.c (Fcurrent_window_configuration):
8976         * window.h:
8977         * casefiddle.c (casify_object):
8978         * casefiddle.c (Fupcase):
8979         * casefiddle.c (Fdowncase):
8980         * casefiddle.c (Fcapitalize):
8981         * casefiddle.c (Fupcase_initials):
8982         * casefiddle.c (casify_region_internal):
8983         * casefiddle.c (casify_region):
8984         * casefiddle.c (Fupcase_region):
8985         * casefiddle.c (Fdowncase_region):
8986         * casefiddle.c (Fcapitalize_region):
8987         * casefiddle.c (Fupcase_initials_region):
8988         * casefiddle.c (Fupcase_word):
8989         * casefiddle.c (Fdowncase_word):
8990         * casefiddle.c (Fcapitalize_word):
8991         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8992         Replace 0 with '\0' when working with bytes.
8993         Replace initial "(" with "\(" in docstrings.
8994
8995 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8996
8997         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8998
8999         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
9000
9001 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9002
9003         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
9004
9005 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9006
9007         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
9008         correctly.
9009
9010 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9011
9012         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
9013         (inhibit_auto_save_session): New variable.
9014         (vars_of_fileio): Declare and initialize them.
9015         * fileio.c (Fdo_auto_save): Don't create session file if
9016         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
9017
9018 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9019
9020         * sgiplay.c (play_internal): C++ compilability.
9021         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
9022         * callproc.c (Fold_call_process_internal):
9023         Remove unused vars `env', `first'.
9024         * scrollbar.c (update_scrollbar_instance):
9025         #### unused var `current_window'.
9026         * redisplay-tty.c: Put currently unused vars insert_mode_on,
9027         etc. within #ifdef NOT_YET.
9028         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
9029         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
9030         * specifier.c (specifier_instance):
9031         #### unused var `tag'.
9032         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
9033
9034 2000-10-27  Martin Buchholz  <martin@xemacs.org>
9035
9036         * fns.c (Fbutlast):
9037         * fns.c (list_sort):
9038         * fns.c (Ffillarray):
9039         * fns.c (bytecode_nconc2):
9040         * fns.c (Fnconc):
9041         * fns.c (mapcar1):
9042         * fns.c (Fmapconcat):
9043         Be pedantically 64-bit correct.  For the time when someone will
9044         want to have a list with length > 2**32.
9045
9046         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9047         Work around MIPSpro compiler bug.
9048
9049         * process-unix.c (unix_kill_child_process): Add snarky comment.
9050         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
9051
9052         * config.h.in: Oops, _getpt ==> _getpty
9053
9054 2000-10-26  Martin Buchholz  <martin@xemacs.org>
9055
9056         * config.h.in:
9057         * regex.c:
9058         Use void*, not char*, as return type of alloca().
9059
9060         * alloc.c (free_marker): Side effect inside assert expression!
9061
9062 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9063
9064         * mule-charset.c (Fset_charset_ccl_program): To check
9065         if the given ccl program is valid, use setup_ccl_program()
9066         instead of CHECK_VECTOR().
9067         (Fmake_charset): Likewise.
9068
9069 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9070
9071         * faces.c (get_extent_fragment_face_cache_index):
9072         Fix cachel.merged_faces memory leak.
9073
9074 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9075
9076         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9077         Reset MSB of octets obtained by DECODE_SJIS
9078         because of the incompatibility with Emacs.
9079         (ccl_driver)<CCL_ENCODE_SJIS>:
9080         Set MSB of octets before passing them to
9081         ENCODE_SJIS because of the incompatibility
9082         with Emacs.
9083
9084 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9085
9086         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9087         (DECLARE_LRECORD): Undo the last change.
9088         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9089
9090 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9091
9092         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9093         the implementation to lrecord_implementations_table.
9094
9095 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9096
9097         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9098         initial value of `lrecord_type_##c_name' and
9099         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9100         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9101         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9102         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9103         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9104
9105 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9106
9107         * miscplay.c (sndcnv8S_2mono):
9108         (sndcnv2monounsigned):
9109         (sndcnvULaw_2linear):
9110         (sndcnv16swap):
9111         Remove implementation-defined behavior.
9112
9113 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9114
9115         * input-method-xlib.c: Warning suppression.
9116
9117 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9118
9119         * mule-ccl.c: Sync up with Emacs 21.0.90.
9120         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9121         Do nothing.
9122         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9123         Likewise.
9124         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9125         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9126         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9127         leading char belongs to official 2-dimensional charset.
9128         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9129         write the given character as is.  Otherwise,
9130         if it is a multibyte char, convert it by
9131         non_ascii_set_charptr_emchar, then write it.
9132         (CCL_WRITE_STRING): Likewise.
9133         (ccl_get_compiled_code): New function.
9134         (setup_ccl_program): When ccl_prog is invalid,
9135         return -1.
9136         (Fregister_code_conversion_map): New function.
9137         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9138
9139         * mule-ccl.h: Sync up with Emacs 21.0.90.
9140         (Fregister_ccl_program): export it.
9141
9142         * redisplay-msw.c (separate_textual_runs):
9143         If ccl program is not valid, don't do ccl conversion.
9144
9145         * redisplay-x.c (separate_textual_runs): Ditto.
9146
9147         * file-coding.c (Fmake_coding_system):
9148         When type is ccl and value is vector, register it
9149         with a proper symbol.  And checks whether the
9150         given ccl program is valid.
9151         (mule_decode): When calling ccl_driver, if src indicates
9152         NULL pointer, set an empty string instead.
9153         (mule_encode): Likewise.
9154
9155 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9156
9157         The following large batch of changes gets us back to a state of
9158         C++ compilability.  Extbyte is now a char, which means that
9159         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9160
9161         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9162
9163         * sound.c (Fplay_sound): Type correctness.
9164
9165         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9166         (x_get_window_property): Type correctness.
9167         (receive_incremental_selection): unsigned char ==> Extbyte
9168         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9169         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9170         (Fx_store_cutbuffer_internal): Type correctness.
9171
9172         * process-unix.c (try_to_initialize_subtty): Type correctness.
9173
9174         * objects-x.c (x_print_color_instance): Type correctness.
9175         (x_print_font_instance): Type correctness.
9176         (x_list_fonts): SExtbyte ==> Extbyte.
9177         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9178         (x_find_charset_font): SExtbyte ==> Extbyte.
9179         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9180         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9181         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9182         Use bufbyte_strcmp.
9183
9184         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9185         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9186         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9187         (BYTE_C0_P): Use bit ops for char-signedness safety.
9188         (BYTE_C1_P): Use bit ops for char-signedness safety.
9189         (CHARSET_BY_LEADING_BYTE):
9190         (CHARSET_BY_ATTRIBUTES):
9191         Always use inline function.
9192         Use type_checking_assert.
9193         Hide chlook.
9194
9195         * mule-charset.c (non_ascii_charptr_copy_char):
9196         Modify to work with both ASCII and non-ASCII characters.
9197         Improve docs and variable names.
9198         Replace over-clever fall-through switch with a simple loop.
9199         (Lstream_get_emchar_1):
9200         Replace over-clever fall-through switch with a simple loop.
9201
9202         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9203         Warning suppression.
9204
9205         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9206         the return value of Lstream_getc, which could be EOF as well.
9207
9208         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9209
9210         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9211         APIs can be used on Extbytes without casts.  Risky!
9212         (SExtbyte): Remove.
9213         (UExtbyte): Remove.
9214
9215         * input-method-xlib.c (XIM_init_device):
9216         Use Xlib.h instead of IntrinsicP.h.
9217         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9218         which will break in X11R7.
9219         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9220         to call XRegisterIMInstantiateCallback with correct types.
9221
9222         * gui-x.c (button_item_to_widget_value): Type correctness.
9223
9224         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9225
9226         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9227         (xbm_instantiate_1): Type correctness.
9228         (BUILD_GLYPH_INST):  Type correctness.
9229
9230         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9231
9232         * file-coding.c:
9233         (decode_coding_sjis):
9234         (decode_coding_big5):
9235         (decode_coding_ucs4):
9236         (decode_coding_utf8):
9237         (decode_coding_iso2022):
9238         (decode_coding_no_conversion):
9239         Make all decoding functions take an Extbyte * arg.
9240         (encode_coding_sjis):
9241         (encode_coding_big5):
9242         (encode_coding_ucs4):
9243         (encode_coding_utf8):
9244         (encode_coding_iso2022):
9245         (encode_coding_no_conversion):
9246         Make all encoding functions take a Bufbyte * arg.
9247         Use size_t instead of unsigned int for memory sizes.
9248         Only cast to unsigned char whenever dereferencing Extbyte *.
9249
9250         * doc.c (unparesseuxify_doc_string): Type correctness.
9251
9252         * console-x.c (split_up_display_spec):
9253         Rewrite without using details of internal string representation.
9254         (x_semi_canonicalize_device_connection): Type correctness.
9255
9256         * config.h.in:
9257         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9258         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9259         (HAVE_XFREE386): Removed.
9260
9261         * buffer.h (DEC_CHARPTR): `const' correctness.
9262         (bufbyte_strcmp): New.
9263         (bufbyte_memcmp): New.
9264
9265         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9266
9267         * buffer.h (XCHAR_OR_CHAR_INT):
9268         Always use inline function.
9269         Remove redundant type checking assert() - XINT will abort quite nicely.
9270
9271 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9272
9273         * search.c (Freplace_match): Set newtext to an empty string.
9274
9275 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9276
9277         * s/decosf1-3.h: Remove #include of stropts.h
9278         * s/ptx.h: Remove #include of stropts.h
9279         * s/usg5-4.h: Remove #include of stropts.h
9280         * sysproc.h:
9281         * config.h.in:
9282         Use stropts.h, not sys/stropts.h.
9283         Use strtio.h, not sys/strtio.h.
9284
9285 2000-10-04  Martin Buchholz <martin@xemacs.org>
9286
9287         * XEmacs 21.2.36 is released.
9288
9289 2000-09-21  Andy Piper  <andy@xemacs.org>
9290
9291         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9292         changes still involve copying the widget tree.
9293         (update_widget_face): make sure a change is register in the widget
9294         tree. Call update_tab_widget_face appropriately.
9295         (update_tab_widget_face): ditto.
9296         (x_tab_control_redisplay): make sure non-structural changes still
9297         involve copying the widget tree.
9298
9299 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9300
9301         * lread.c (locate_file): Check the path element is non-nil.
9302
9303 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9304
9305         * lisp.h: Warning suppression for SCO compilers.
9306
9307         * redisplay-tty.c (reset_tty_modes): Fix crash.
9308         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9309
9310 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9311
9312         Big signal/process handling overhaul.  Bugs fixed:
9313         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9314         M-x comint-kill-subjob should work for both values nil and t of
9315         process-connection-type. It was broken on most platforms.
9316         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9317         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9318         * process-unix.c: Signal/Process handling overhaul.
9319         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9320         (allocate_pty): Use all available modern methods of allocating
9321         ptys, falling back to old style BSD allocation as a last resort.
9322         Use allegedly more secure Unix98 pty allocation by default.
9323         (allocate_pty_the_old_fashioned_way): New. the last resort.
9324         (unix_create_process): Push ptem, ldterm, ttcompat where
9325         available.  Autoconfiscate.
9326         (try_to_initialize_subtty): New.
9327         (unix_kill_child_process): Proper signal handling for ptys on most
9328         platforms, using special knowledge of AIX, BSD, etc...
9329         (unix_create_process): Always disconnect_controlling_terminal() for
9330         subprocesses, whether using ptys or not.
9331         * process.h: Remove old getpt-dependent PTY code.
9332         * process.c (Fprocess_send_signal): New, obvious generic function.
9333         (decode_signal): New.
9334         (Finterrupt_process):
9335         (Fkill_process):
9336         (Fquit_process):
9337         (Fstop_process):
9338         (Fcontinue_process):
9339         (Fsignal_process): Use decode_signal.
9340         (process_send_signal):
9341         Many docstring corrections.
9342         Allow any signal to be sent to a process object.
9343         * config.h.in: Add symbols for big signal/process overhaul.
9344         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9345         * sysproc.h: Include process-related headers, where available:
9346         sys/stropts.h sys/strtio.h pty.h libutil.h
9347         * s/irix4-0.h:
9348         * s/irix5-0.h:
9349         * s/cygwin32.h:
9350         * s/gnu.h:
9351         * s/linux.h:
9352         * s/hpux.h:
9353         * s/aix3-1.h:
9354         Remove old S&M pty stuff.
9355         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9356         * systty.h: Simplify cpp hackery, improve comments.
9357         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9358
9359         * editfns.c (Fformat_time_string):
9360         Be a little more paranoid with the return value of ctime.
9361
9362         * fileio.c (check_executable):
9363         (check_writable):
9364         Use symbolic constants X_OK, W_OK.
9365
9366         * console-x.c (split_up_display_spec): Fix a warning.
9367
9368 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9369
9370         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9371         * ntproc.c (sys_spawnve): make_string ==> build_string
9372         Small clarity improvements.
9373
9374 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9375
9376         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9377
9378         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9379
9380         * config.h.in (HAVE_STRCASECMP): Remove.
9381
9382 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9383
9384         * redisplay-output.c (redisplay_output_pixmap):
9385         Cleaner and possibly more 64-bit correct code.
9386
9387 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9388
9389         * dumper.c (pdump_load_finish): move restoration of
9390         `noninteractive1' to emacs.c (main_1).
9391         * emacs.c (main_1): protect LISP-visible command-line flags
9392         from pdump_load().
9393
9394 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9395
9396         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9397         DUMP_TARGET instead of literal program names.
9398
9399 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9400
9401         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9402
9403 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9404
9405         * *: Spelling mega-patch
9406
9407 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9408
9409         * fns.c (bad_bad_turtle):
9410         Delete "Eek!" comment, since we fixed the bug to which it refers.
9411
9412 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9413
9414         * alloca.c: Replace REGISTER with register.
9415
9416 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9417
9418         * file-coding.c (ucs_to_char): Use countof.
9419
9420 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9421
9422         * file-coding.c: (ucs_to_char):
9423         (complex_vars_of_file_coding):
9424         Use countof instead of sizeof.
9425         Use CHECK_NATNUM instead of CHECK_INT.
9426
9427         * sysdep.c (strcasecmp): Remove.
9428         * device-x.c (ascii_strcasecmp): New.
9429         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9430         Avoid using non-standard non-portable strcasecmp.
9431
9432 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9433
9434         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9435         * font-lock.c: remove reference to emacsfns.h.
9436         * search.c: small doc improvement.
9437         * event-Xt.c: correct file names in comments.
9438         * console-x.h Correct file names in comments.
9439         * frame.c: Correct file names in comments.
9440         * event-stream.c: remove Energize from comments.
9441
9442 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9443
9444         * symeval.h (DEFERROR_STANDARD):
9445         (DEFERROR):
9446         (DEFSYMBOL):
9447         (DEFSYMBOL_NO_DUMP):
9448         (DEFSYMBOL_MULTIWORD_PREDICATE):
9449         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9450         (DEFKEYWORD):
9451         The construct &##name is not sensible C.
9452         Fixes compilation errors with Unixware native compiler.
9453
9454 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9455
9456         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9457         (next_frame_internal): Removed.  We now just have next_frame.
9458         (next_frame):
9459         Write a simpler and cleaner one-pass algorithm.
9460         Remove called_from_delete_device arg and #ifdefed-out code.
9461         (previous_frame):
9462         Renamed from prev_frame.  Update callers.
9463         Cleaned up to have an analogous implementation to next_frame.
9464         (other_visible_frames_internal): Remove the
9465         called_from_delete_device bogus arg, and hence, remove this
9466         function.  Just use other_visible_frames().
9467
9468         * window.c (Fnext_window):
9469         Prettify docstring.
9470         Since next_frame() is guaranteed to return a frame, remove check
9471         for nil inserted in previous patch.
9472         (Fprevious_window):
9473         Prettify docstring.
9474         Make code look more like Fnext_window.
9475         (window_loop):
9476         Respect the `console' arg when iterating through windows.
9477         Fixes bug: (get-buffer-window buffer t device) not respecting
9478         the `device' arg.
9479         This function needs more work, as others have pointed out.
9480
9481         * frame.h: Rename prev_frame to previous_frame.
9482         device_matches_console_spec no longer takes a `frame' arg.
9483
9484         * s/gnu.h:
9485         * s/linux.h:
9486         * s/hpux.h:
9487         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9488         From "Golubev I. N." <gin@mo.msk.ru>.
9489
9490         * make-src-depend: Fix typo.
9491
9492 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9493
9494         * window.c (Fnext_window):
9495         next_frame() might return nil, not a frame.
9496         Fixes this crash:
9497         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9498
9499         * frame.c (next_frame_internal):
9500         We've passed a frame if we've passed its device.
9501         Fixes this crash:
9502         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9503 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9504
9505 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9506
9507         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9508         Allow option to suppress accelerators in menu/dialog items.
9509         (populate_or_checksum_helper): Pass dialog title through above.
9510
9511 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9512
9513         * event-msw.c (mswindows_key_to_emacs_keysym):
9514         Add "pause" key, fix "menu" key.
9515
9516 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9517
9518         * eval.c (reinit_vars_of_eval):
9519         Increase max_lisp_eval_depth to 1000,
9520         required for thai-xtis.el to byte-compile under some circumstances.
9521
9522 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9523
9524         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9525         From Kenichi Handa.
9526
9527 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9528
9529         * make-src-depend: Make the generated Makefiles smaller.
9530
9531         * s/hpux.h (SETUP_SLAVE_PTY):
9532         Provide a %d in the format string for the errno argument.
9533
9534         * editfns.c (Ftemp_directory):
9535         Warning fix.
9536         Avoid buffer overrun on very long file name.
9537
9538         * input-method-xlib.c (XIM_init_device):
9539         6th parameter of XRegisterIMInstantiateCallback has different
9540         pointer types on different OSes, so simply cast to (void *).
9541
9542         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9543
9544         * sysdll.c (dll_open):
9545         shl_load will hang hard if passed a NULL filename.
9546         Simply return NULL for compatibility with dlopen.
9547         * sysdll.c: Conform to XEmacs coding standards.
9548
9549         * sysdep.c (get_pty_max_bytes):
9550         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9551
9552 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9553
9554         * tooltalk.c: Add #include <syssignal.h>
9555
9556 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9557
9558         * s/hpux.h: Don't use undefined function sigunblock().
9559
9560 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9561
9562         * config.h.in: Add HAVE_BALLOON_HELP.
9563         * emacs.c: Use HAVE_BALLOON_HELP.
9564         * Makefile.in.in (x_objs):
9565         Make Balloon Help conditional on finding shape.h.
9566
9567 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9568
9569         * syntax.c (regex_emacs_buffer_p): New variable.
9570         * syntax.h (regex_emacs_buffer_p): extern.
9571         * search.c (looking_at_1):
9572         (string_match_1):
9573         (fast_string_match):
9574         (search_buffer): Set regex_emacs_buffer_p.
9575         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9576         when before_dot, at_dot, after_dot.
9577
9578 2000-08-23  Andy Piper  <andy@xemacs.org>
9579
9580         * gui-x.c (popup_selection_callback): Only set action_occurred
9581         when we really have an image instance.
9582         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9583
9584 2000-08-23  Andy Piper  <andy@xemacs.org>
9585
9586         * gui-msw.c (mswindows_handle_gui_wm_command): set
9587         action_occurred.
9588         * gui-x.c (popup_selection_callback): ditto.
9589
9590         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9591         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9592         (struct Lisp_Image_Instance): add action_occurred flag.
9593
9594         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9595         (image_instance_changed): ditto.
9596         (reset_frame_subwindow_instance_cache): only unmap windows - do
9597         not remove them from the cache also.
9598
9599         * glyphs-widget.c (tab_control_update): better debug.
9600         (progress_gauge_update): ditto.
9601         (layout_update): ditto.
9602         (layout_instantiate): ditto.
9603         (tab_control_order_only_changed): cope with null pending items.
9604
9605         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9606         debug. Force selection of an item when an action occurred. Cope
9607         with null pending_items.
9608         (mswindows_progress_gauge_redisplay): better debug.
9609         * glyphs-x.c (x_tab_control_redisplay): ditto.
9610
9611         * redisplay.c (redisplay_frame): reset the frame cache if the
9612         frame is garbaged.
9613
9614         * window.c (Fset_window_configuration): potentially re-enable
9615         frame cache reset.
9616         (window_unmap_subwindows): need to finalize instances here since
9617         it is only used in mark_window_as_deleted.
9618
9619 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9620
9621         * nas.c (SndOpenDataForReading):
9622         nas.c (WaveOpenDataForReading):
9623         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9624         Somehow escaped from the 2000-08-14 patch.
9625
9626 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9627
9628         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9629         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9630
9631 2000-08-21  Andy Piper  <andy@xemacs.org>
9632
9633         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9634         window if it is not already displayed.
9635
9636         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9637         it is not already displayed.
9638
9639         * window.c (Fset_window_configuration): don't reset the frame
9640         cache.
9641
9642         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9643         instances from the frame cache if we are actually finalizing them.
9644         (reset_frame_subwindow_instance_cache): reset frame cache only
9645         after unmapping everything.
9646         (map_subwindow): set displayed flag after mapping.
9647
9648 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9649
9650         * data.c (indirect_function):
9651         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9652
9653         * eval.c (function_argcount):
9654         Use original function when signaling errors.
9655
9656 2000-08-18  Andy Piper  <andy@xemacs.org>
9657
9658         * frame.c (delete_frame_internal): use new
9659         free_frame_subwindow_instances name.
9660
9661         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9662         (add_tab_item): make return type correct.
9663         (mswindows_tab_control_instantiate): assert index of tab.
9664         (mswindows_tab_control_redisplay): Re-code to use
9665         gui_item_equal_sans_selected and gui_item_list_find_selected.
9666
9667         * glyphs-widget.c (tab_control_update): Correct comment.
9668
9669         * window.c (window_unmap_subwindows): use new
9670         unmap_subwindow_instance_cache_mapper.
9671         (window_unmap_subwindows_cache_mapper): deleted.
9672         (Fset_window_configuration): comparisons should now be with
9673         EQ. Preserve the subwindow instance cache across configuration
9674         changes.
9675         (allocate_window): ditto.
9676         (make_dummy_parent): ditto.
9677
9678         * glyphs.c (free_frame_subwindow_instances): rename from
9679         free_frame_subwindow_instance_cache. finalize all instances rather
9680         than just those in the display cache.
9681         (finalize_all_subwindow_instances): walk windows unmapping and
9682         finalizing subwindows.
9683         (unmap_subwindow_instance_cache_mapper): moved from
9684         window.c. Allow finalization as well as unmapping.
9685
9686         * gui.c (gui_item_list_find_selected): new function.
9687
9688         * gui.h (gui_item_list_find_selected): declare.
9689
9690         * glyphs-x.c (x_tab_control_redisplay): pick tab
9691         explicitly. Re-code to use gui_item_equal_sans_selected and
9692         gui_item_list_find_selected.
9693
9694         * glyphs-x.h: add lwlib-utils.h
9695
9696         * buffer.c (Frecord_buffer): undo previous change.
9697
9698 2000-08-09  Vin Shelton  <acs@xemacs.org>
9699
9700         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9701         possible.  Create temporary files more securely.  The patch was
9702         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9703         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9704         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9705         for details.
9706
9707 2000-08-07  Ben Wing  <ben@xemacs.org>
9708
9709         * getloadavg.c: remove duplicate (and windows-breaking)
9710         includes of fcntl.h and sys/file.h.
9711
9712         * nt.c: remove duplicate getloadavg() definition.
9713
9714         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9715         encodings.
9716
9717 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9718
9719         * eval.c (function_argcount): If function needs to be autoloaded
9720         actually use the loaded definition.
9721         GCPRO function.
9722
9723 2000-08-05  Ben Wing  <ben@xemacs.org>
9724
9725         * getloadavg.c: add prototype for getloadavg().  remove
9726         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9727         of the code).  remove duplicate header includes.
9728
9729         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9730
9731         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9732         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9733         useful load average.
9734
9735         * alloc.c (reinit_alloc_once_early): removed references to
9736         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9737         the lisp vars are the only things referencing the malloc_sbrk_*
9738         vars, and they were already if 0'd out.  these vars only exist
9739         in the older malloc.c, which is basically unused, and they're
9740         only for informational purposes.
9741
9742         * m\*.h: removed useless VIRT_ADDR_VARIES.
9743
9744         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9745
9746 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9747
9748         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9749         color if the image is a mono pixmap.
9750
9751 2000-07-30  Ben Wing  <ben@xemacs.org>
9752
9753         * Makefile.in.in (release):
9754         Remove stray @.
9755
9756         * buffer.c (directory_is_current_directory):
9757         * dired-msw.c (mswindows_get_files):
9758         * dired.c:
9759         * dired.c (Fdirectory_files):
9760         * dired.c (file_name_completion_stat):
9761         * dired.c (Ffile_attributes):
9762         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9763         preprocessor tricks, to avoid problems on some machines
9764         (e.g. SCO).
9765
9766         * callproc.c (egetenv): GC docs.
9767
9768         * console-msw.h:
9769         * console-msw.h (struct mswindows_dialog_id):
9770         * lrecord.h (lrecord_type):
9771         New object for use with MSW dialogs.
9772
9773         * console.h (struct console_methods):
9774         New enable/disable frame methods, for proper modal dialogs.
9775
9776         * device-msw.c (msprinter_default_printer): Fix to follow
9777         proper Mule conventions.
9778
9779         * device-msw.c:
9780         * device-msw.c (signal_open_printer_error):
9781         * device-msw.c (msprinter_init_device):
9782         * device-msw.c (ensure_not_printing):
9783         * device-msw.c (plist_get_margin):
9784         * device-msw.c (Fmsprinter_select_settings):
9785         * device-msw.c (finalize_devmode):
9786         * device-msw.c (Fmsprinter_settings_despecialize):
9787         * device-msw.c (signal_enum_priner_error):
9788         * extents.c (decode_extent):
9789         * extents.c (decode_map_extents_flags):
9790         * extents.c (decode_extent_at_flag):
9791         * extents.c (Fextent_at):
9792         * extents.c (Fextents_at):
9793         * extents.c (symbol_to_glyph_layout):
9794         [[[[2]]]] Use structured errors.
9795
9796         * dialog-msw.c:
9797         * dialog-msw.c (mswindows_is_dialog_msg):
9798         * dialog-msw.c (mark_mswindows_dialog_id):
9799         * dialog-msw.c (dialog_proc):
9800         * dialog-msw.c (handle_question_dialog_box):
9801         * dialog-msw.c (syms_of_dialog_mswindows):
9802         Define new object to clean up marking; use it as a dialog identifier.
9803         Call new delete-dialog-box-hook.
9804
9805         * dialog-x.c (dbox_selection_callback):
9806         * dialog-x.c (dbox_descriptor_to_widget_value):
9807         * dialog-x.c (x_make_dialog_box_internal):
9808         Call new delete-dialog-box-hook.
9809         Return an id.
9810
9811         * dialog.c:
9812         * dialog.c (syms_of_dialog):
9813         * dialog.c (vars_of_dialog):
9814         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9815
9816         * eval.c:
9817         * eval.c (signal_call_debugger):
9818         when noninteractive, output stack traces on the console instead
9819         of in a (never-seen) buffer.
9820
9821         * eval.c (signal_type_error):
9822         * eval.c (invalid_argument_2):
9823         * lisp.h:
9824         new funs for use w/structured errors.
9825
9826         * event-Xt.c:
9827         * event-Xt.c (x_to_emacs_keysym):
9828         * event-Xt.c (describe_event):
9829         * event-Xt.c (emacs_Xt_event_handler):
9830         * event-Xt.c (vars_of_event_Xt):
9831         * event-msw.c:
9832         * event-msw.c (mswindows_wnd_proc):
9833         * event-msw.c (vars_of_event_mswindows):
9834         rename {x,mswindows}-debug-events to debug-{}-events for
9835         consistency with other debug-foo variables.
9836
9837         * event-stream.c:
9838         document next-event more clearly.
9839
9840         * fileio.c (Ffile_name_directory):
9841         * fileio.c (Ffile_name_nondirectory):
9842         * fileio.c (Funhandled_file_name_directory):
9843         * fileio.c (file_name_as_directory):
9844         * fileio.c (Ffile_name_as_directory):
9845         * fileio.c (directory_file_name):
9846         * fileio.c (Fdirectory_file_name):
9847         * fileio.c (Fmake_temp_name):
9848         * fileio.c (Ffile_truename):
9849         * fileio.c (Fsubstitute_in_file_name):
9850         * fileio.c (expand_and_dir_to_file):
9851         * fileio.c (barf_or_query_if_file_exists):
9852         * fileio.c (check_executable):
9853         * fileio.c (Ffile_exists_p):
9854         * fileio.c (Ffile_writable_p):
9855         * fileio.c (Ffile_directory_p):
9856         * fileio.c (Ffile_regular_p):
9857         * fileio.c (Ffile_modes):
9858         * fileio.c (Ffile_newer_than_file_p):
9859         * fileio.c (Fverify_visited_file_modtime):
9860         * fileio.c (Fset_visited_file_modtime):
9861         * fileio.c (auto_save_1):
9862         (1). (2).
9863         fix up gcpro's.
9864
9865         * frame-msw.c:
9866         * frame-msw.c (mswindows_init_frame_1):
9867         * frame-msw.c (mswindows_enable_frame):
9868         * frame-msw.c (error_frame_unsizable):
9869         * frame-msw.c (msprinter_init_frame_1):
9870         * frame-msw.c (msprinter_init_frame_3):
9871         * frame-msw.c (console_type_create_frame_mswindows):
9872         (2).
9873         implement new enable/disable frame methods.
9874
9875         * frame-x.c:
9876         * frame-x.c (x_enable_frame):
9877         * frame-x.c (console_type_create_frame_x):
9878         implement new enable/disable frame methods.
9879
9880         * frame.c:
9881         * frame.c (Fdisable_frame):
9882         * frame.c (syms_of_frame):
9883         * frame.h (struct frame):
9884         implement new enable/disable frame methods/functions.
9885
9886         * general-slots.h:
9887         add initial-focus.
9888
9889         * glyphs-msw.c (mswindows_widget_instantiate):
9890         comment that initial-focus should be implemented.
9891
9892         * glyphs-widget.c:
9893         * glyphs-widget.c (check_valid_instantiator):
9894         * glyphs-widget.c (check_valid_orientation):
9895         * glyphs-widget.c (check_valid_tab_orientation):
9896         * glyphs-widget.c (check_valid_justification):
9897         * glyphs-widget.c (check_valid_border):
9898         * glyphs-widget.c (check_valid_callback):
9899         * glyphs-widget.c (check_valid_int_or_function):
9900         * glyphs-widget.c (check_valid_string_or_vector):
9901         * glyphs-widget.c (check_valid_item_list_1):
9902         * glyphs-widget.c (widget_validate):
9903         * glyphs-widget.c (combo_box_validate):
9904         * glyphs-widget.c (widget_instantiate):
9905         * glyphs-widget.c (syms_of_glyphs_widget):
9906         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9907         * glyphs-widget.c (image_instantiator_combo_box):
9908         * glyphs-widget.c (image_instantiator_scrollbar):
9909         * glyphs-widget.c (image_instantiator_tab_control):
9910         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9911         (2).
9912         support (unimplemented) keyword initial-focus.
9913         reindent long macros.
9914
9915         * glyphs-x.c (x_redisplay_widget):
9916         * glyphs-x.c (x_button_instantiate):
9917         * glyphs-x.c (x_button_redisplay):
9918         * glyphs-x.c (x_progress_gauge_instantiate):
9919         * glyphs-x.c (x_edit_field_instantiate):
9920         * glyphs-x.c (x_combo_box_instantiate):
9921         * glyphs-x.c (x_tab_control_instantiate):
9922         * glyphs-x.c (x_label_instantiate):
9923         * gui-x.c:
9924         * gui-x.c (button_item_to_widget_value):
9925         * gui-x.c (gui_items_to_widget_values_1):
9926         * gui-x.c (gui_item_children_to_widget_values):
9927         * gui-x.c (gui_items_to_widget_values):
9928         * gui-x.h:
9929         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9930         add new flag to gui-parsing routines to indicate whether
9931         accelerator specs should be supported.
9932
9933         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9934
9935         * glyphs.h (struct Lisp_Image_Instance):
9936         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9937         add initial-focus flag.
9938
9939         * gui.c:
9940         * gui.c (syms_of_gui):
9941         * gui.c (vars_of_gui):
9942         clean up menu-no-selection-hook.
9943
9944         * gui.h:
9945         support delete-dialog-box-hook.
9946
9947         * lread.c (Fload_internal):
9948         * lread.c (locate_file_in_directory_mapper):
9949         (1).
9950
9951         * lrecord.h:
9952         * lrecord.h (struct toolbar_button):
9953         * lrecord.h (syms_of_toolbar):
9954         document how to create a new object.
9955
9956         * menubar-msw.c (mswindows_char_is_accelerator):
9957         may be called on frames w/o menus.
9958
9959         * menubar.c (vars_of_menubar):
9960         clean up :filter docs.
9961
9962         * nt.c (readdir):
9963         * ntproc.c:
9964         (1).
9965
9966         * process-nt.c:
9967         * process-nt.c (validate_signal_number):
9968         * process-nt.c (signal_cannot_launch):
9969         * process-nt.c (nt_create_process):
9970         * process-nt.c (nt_send_process):
9971         * process-nt.c (nt_kill_child_process):
9972         * process-nt.c (nt_open_network_stream):
9973         * process-nt.c (syms_of_process_nt):
9974         (2).
9975         delete quote-handling.  call new lisp code that does it better.
9976
9977         * process-unix.c (connect_to_file_descriptor):
9978         * process-unix.c (allocate_pty):
9979         * process-unix.c (unix_send_process):
9980         * process-unix.c (unix_kill_child_process):
9981         * process-unix.c (unix_open_network_stream):
9982         * process-unix.c (unix_open_multicast_group):
9983         (1). (2).
9984
9985         * process.c:
9986         * process.c (Fstart_process_internal):
9987         (2).  need to canonicalize process path even if absolute.
9988
9989         * select-msw.c (symbol_to_ms_cf):
9990         * select-msw.c (ms_cf_to_symbol):
9991         * select-msw.c (cf_is_autofreed):
9992         * select-msw.c (mswindows_destroy_selection):
9993         * select.c:
9994         * select.c (syms_of_select):
9995         * select.h:
9996         support dibv5, fix bugs. (from Mike Alexander)
9997
9998         * select.c (Fget_selection_internal):
9999         * select.c (select_convert_out):
10000
10001         * sysdep.c:
10002         * sysdep.c (xemacs_stat):
10003         renamed.
10004
10005         * sysdep.c (mkdir):
10006         * sysdep.c (rmdir):
10007         but keep original stat() here because we provide encapsulation
10008         around these funs.
10009
10010         * sysfile.h:
10011         * sysfile.h (fstat):
10012         remove stat garbage.
10013
10014         * syswindows.h:
10015         fix X/MSW conflict.
10016         don't include tchar.h.  it's inappropriate because it makes
10017         compile-time distinctions when we want runtime distinctions.
10018         (we provide our own tchar replacements)
10019
10020         * toolbar.c:
10021         use default object printer for toolbar-button.
10022
10023         * unexcw.c:
10024         make sure we don't encapsulate.
10025
10026         * window.c (vars_of_window):
10027         emphasize that temp-buffer-show-hook is obsolete.
10028
10029 2000-08-05  Martin Buchholz  <martin@xemacs.org>
10030
10031         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
10032         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
10033
10034         * events.c (Fevent_timestamp_lessp):
10035         Not 64-bit clean.  Use EMACS_INT, not int.
10036
10037 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
10038
10039         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
10040         unsigned int and changed the last enum to
10041         lrecord_type_last_built_in_type.
10042         (lrecord_implementations_table): changed prototype to know how
10043         long the array is supposed to be.
10044         (lrecord_type_count): new unsigned int to keep track of the
10045         current number of lisp lrecord types.
10046         (DEFINE_EXTERNAL_LRECORD):
10047         (DECLARE_EXTERNAL_LRECORD): Added these two for external
10048         dynamic-modules to declare new lisp types. They are the same
10049         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
10050         int for each new type, and increment lrecord_type_count by 1.
10051
10052         * alloc.c (lrecord_implementations_table): Changed to reference
10053         lrecord_type_last_built_in_type for the size of the array.
10054         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
10055
10056 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10057
10058         * glyphs.h (check_valid_item_list): Renamed from
10059         check_valid_item_list_1.
10060
10061 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10062
10063         * select.c (Qselect_coerce): New.
10064         * select.c (Vselection_coercion_alist): New.
10065         * select.c (syms_of_select): Declare.
10066         * select.c (get-selection-internal): Use it.
10067         Use the new select-coerce functionality.
10068
10069         * select.c (select_coerce): New.
10070         * select.h (select_coerce): Declare.
10071         New function to coerce one type of data into another.
10072
10073 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10074
10075         * callproc.c (Fcall_process_internal):
10076         (Fcall_process_internal):
10077         * process-unix.c (unix_create_process):
10078         Save and restore the value of errno, so that error messages are accurate.
10079
10080 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10081
10082         * elhash.c (print_hash_table):
10083         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10084         Prettify docstrings and indentation.
10085
10086 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10087
10088         * window.c (Fwindow_pixel_edges): Subtract frame border and
10089         gutter size.
10090
10091 2000-07-31  Andy Piper  <andy@xemacs.org>
10092
10093         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10094         will acknowledge the change.
10095
10096         * glyphs.h: declare tab_control_order_only_changed.
10097
10098         * glyphs-x.c (x_tab_control_redisplay): use
10099         tab_control_order_only_changed.
10100
10101         * glyphs-widget.c (tab_control_order_only_changed): new function.
10102
10103         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10104         tab_control_order_only_changed.
10105
10106         * gui.c (gui_item_equal_sans_selected): new function.
10107         (gui_item_equal): use it.
10108
10109         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10110         :properties in favor of :items..
10111
10112         * glyphs-widget.c (check_valid_item_list): rename from
10113         check_valid_item_list_1.
10114         (check_valid_item_list_1): renamed.
10115         (combo_box_validate): deprecate :properties in favor of :items.
10116         (widget_instantiate): ditto.
10117         (tab_control_update): ditto.
10118         (image_instantiator_combo_box): ditto.
10119         (image_instantiator_tree_view): ditto.
10120         (image_instantiator_tab_control): ditto.
10121         (layout_post_instantiate): remove dead code.
10122
10123         * print.c (debug_print_no_newline): only write to debugger if in
10124         WIN32_NATIVE.
10125
10126         * elhash.c (Fmake_hash_table): update doc string.
10127
10128         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10129         messages whilst in GC. This at least stops XEmacs crashing but has
10130         the potential for wierd behaviour.
10131
10132 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10133
10134         * config.h.in:
10135         Make existence of s&m files optional.
10136
10137         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10138         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10139         * s/gnu.h: Remove HAVE_GETLOADAVG.
10140         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10141         * s/sol2.h: Remove HAVE_GETLOADAVG.
10142         * lisp.h: Remove getloadavg() declaration.
10143         * fns.c:
10144         Include <sys/loadavg.h> if available.
10145         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10146         * config.h.in:  Group together getloadavg()-related macros.
10147         Use only configure-time tests to detect getloadavg().
10148
10149 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10150
10151         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10152
10153 2000-07-25  Andy Piper  <andy@xemacs.org>
10154
10155         * syswindows.h: add tchar.h for native builds.
10156
10157         * frame.c (syms_of_frame): remove set-glyph-image.
10158
10159         * general-slots.h: add Qset_glyph_image.
10160
10161         * glyphs-widget.c (layout_update): add domain arg to
10162         set-glyph-image.
10163         (syms_of_glyphs_widget): remove set-glyph-image.
10164
10165 2000-07-23  Ben Wing  <ben@xemacs.org>
10166
10167         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10168         Vpopup_frame_list.
10169
10170 2000-07-22  Andy Piper  <andy@xemacs.org>
10171
10172         * symsinit.h: add syms_of_win32().
10173
10174         * gui-msw.c (syms_of_gui_mswindows): remove
10175         Fmswindows_shell_execute.
10176         (Fmswindows_shell_execute): moved to win32.c.
10177
10178         * emacs.c (main_1): add syms_of_win32 ().
10179
10180         * win32.c (init_potentially_nonexistent_functions): rewrite in
10181         compiler-friendly terms.
10182         (Fmswindows_shell_execute): move here from gui-msw.c.
10183         (syms_of_win32): new.
10184
10185         * device-msw.c (Fmswindows_printer_list): clean up args to
10186         EnumPrinters.
10187         Don't include tchar under cygwin or mingw.
10188         (msprinter_default_printer): make cygwin-friendly.
10189
10190 2000-07-21  Andy Piper  <andy@xemacs.org>
10191
10192         * glyphs-widget.c (image_instantiator_tree_view): use tab
10193         control's update function.
10194         (layout_property): new function. Retrieve items.
10195
10196         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10197         function. Re-populate the tree view from the pending items.
10198
10199         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10200         is designated the parent if the domain is an image instance. This
10201         is needed so that dirtiness can be cascade up the hierarchy and
10202         thus for layout children to be redisplayed correctly.
10203         (allocate_image_instance): rename glyph -> parent.
10204
10205         * redisplay.h: change redisplay_output_layout signature.
10206
10207         * redisplay-msw.c (mswindows_output_display_block): use domain
10208         arg.
10209
10210         * redisplay-x.c (x_output_display_block): use domain arg.
10211
10212 2000-07-10  Andy Piper  <andy@xemacs.org>
10213
10214         * window.c (Fset_window_configuration): add comment.
10215
10216         * redisplay-output.c (compare_runes):
10217         (redisplay_output_subwindow): redisplay rather than update subwindow.
10218         (redisplay_output_layout): ditto.
10219
10220         * redisplay-msw.c (mswindows_frame_output_end):
10221         (mswindows_frame_output_end): make defer window pos optional.
10222
10223         * lisp.h: add Flast.
10224
10225         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10226         normalize method. Change update method to be for changed
10227         instantiators. Add redisplay method. Change signature of layout
10228         method.
10229         (struct Lisp_Image_Instance): add instantiator.
10230         (IMAGE_INSTANCE_INSTANTIATOR): new.
10231         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10232         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10233         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10234
10235         * glyphs.c:
10236         (find_instantiator_differences): new function.
10237         (Fset_instantiator_property): new convenience function.
10238         (check_image_instance_structure): strictly check for vector
10239         instantiators.
10240         (normalize_image_instantiator): make non-static.
10241         (instantiate_image_instantiator): pass on dest_mask and use new
10242         signatures for image_instance_layout and friends.
10243         (mark_image_instance): mark the instantiator. Mark the subwindow
10244         face not the widget face.
10245         (image_instance_equal): add instantiator.
10246         (image_instance_hash): ditto.
10247         (allocate_image_instance): ditto.
10248         (Fset_image_instance_property): removed.
10249         (Fimage_instance_file_name): ditto.
10250         (Fcolorize_image_instance): ditto.
10251         (image_instance_layout): add offsets to be set.
10252         (update_image_instance): new function. update an image instance
10253         from its changed instantiator.
10254         (inherit_normalize): add dest_mask.
10255         (xbm_normalize): ditto.
10256         (xface_normalize): ditto.
10257         (xpm_normalize): ditto.
10258         (text_update): set_property -> update.
10259         (image_instantiate): use the glyph identity as a hash key, not the
10260         instantiator.
10261         (glyph_width): use new image_instance_layout signature.
10262         (glyph_ascent): ditto.
10263         (glyph_descent): ditto.
10264         (glyph_height): ditto.
10265         (glyph_query_geometry): ressurrect.
10266         (glyph_layout): ditto.
10267         (redisplay_subwindow): update -> redisplay.
10268         (syms_of_glyphs): add Fset_instantiator_property.
10269         (image_instantiator_format_create): set_property -> update.
10270
10271         * glyphs-x.c:
10272         (autodetect_normalize): add dest_maks to signature.
10273         (x_redisplay_subwindow): update -> redisplay.
10274         (x_redisplay_widget): ditto.
10275         (x_button_redisplay): ditto.
10276         (x_progress_gauge_redisplay): ditto.
10277         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10278         stacking order.
10279         (console_type_create_glyphs_x): update -> redisplay.
10280         (image_instantiator_format_create_glyphs_x): ditto.
10281
10282         * glyphs-widget.c:
10283         (check_valid_instantiator): disallow glyphs in the instantiator,
10284         they must now be vectors.
10285         (check_valid_instantiator_list): ditto.
10286         (glyph_instantiator_to_glyph): use internal symbol rather than
10287         intern.
10288         (widget_update): renamed from widget_set_property. Call cascaded
10289         update methods.
10290         (redisplay_widget): renamed from update_widget.
10291         (widget_layout): image_instance_layout now takes position as well
10292         as size.
10293         (widget_normalize): ditto.
10294         (widget_instantiate): ditto.
10295         (tab_control_query_geometry) ditto.:
10296         (tab_control_update): renamed from tab_control_set_property.
10297         (progress_gauge_update): set_property -> update.
10298         (layout_normalize): rewrite so that child instantiators are
10299         normalized also.
10300         (layout_update): new function. Create glyphs from the normalized
10301         children and cope with any other layout keywords. We do not
10302         instantiate children here that will be take care of by
10303         redisplay_output_layout.
10304         (layout_instantiate): call layout_update and not much else.
10305         (layout_post_instantiate): not sure whether this is needed
10306         anymore.
10307         (layout_query_geometry): query glyph geometry rather than
10308         image_instance geometry.
10309         (layout_layout): set offsets from pass in parameters. Use glyph
10310         geometry and layout functions rather than image instance ones.
10311         (native_layout_layout): ditto.
10312         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10313         (image_instantiator_widget): set_property -> update.
10314         (image_instantiator_buttons): ditto.
10315         (image_instantiator_progress_guage): ditto.
10316         (image_instantiator_tab_control): ditto.
10317         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10318         (image_instantiator_layout): add update method.
10319
10320         * glyphs-msw.c (bmp_normalize):
10321         (mswindows_resource_normalize): add dest_mask so that it can be
10322         proprogated by layout_normalize.
10323         (begin_defer_window_pos): make optional because it may not be the
10324         right thing to do and it introduces differences with X.
10325         (mswindows_unmap_subwindow): ditto.
10326         (mswindows_map_subwindow): ditto.
10327         (mswindows_redisplay_subwindow): renamed from
10328         mswindows_update_subwindow.
10329         (mswindows_redisplay_widget): ditto.
10330         (mswindows_button_redisplay): renamed from
10331         mswindows_button_update. Update is now what the instantiation
10332         function does for a changed instantiator.
10333         (mswindows_progress_gauge_instantiate): set the progress value
10334         here if appropriate.
10335         (mswindows_tab_control_redisplay): cope with re-ordering of the
10336         members of the tab widget by simply selecting the new top
10337         widget. This makes things appear ok if you click on a tab.
10338         (mswindows_combo_box_instantiate): image_instance_layout now takes
10339         position as well as size.
10340         (mswindows_progress_gauge_redisplay): renamed from
10341         mswindows_progress_gauge_update.
10342         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10343         (image_instantiator_format_create_glyphs_mswindows): ditto.
10344
10345         * glyphs-eimage.c (jpeg_normalize):
10346         (gif_normalize):
10347         (png_normalize):
10348         (tiff_normalize): add dest_mask so that it can be proprogated by
10349         layout_normalize.
10350
10351         * elhash.c:
10352         (print_hash_table):
10353         (hash_table_weakness_validate):
10354         (decode_hash_table_weakness):
10355         (Fhash_table_weakness):
10356         (Fhash_table_type):
10357         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10358
10359         * console.h (struct console_methods): move update_* to
10360         redisplay_*.
10361
10362 2000-07-20  Ben Wing  <ben@xemacs.org>
10363
10364         * *.[ch] (XSETOBJ): remove unused middle argument.
10365         lisp-disunion.h: correct wrap_object() to one argument.
10366
10367 2000-07-15  Ben Wing  <ben@xemacs.org>
10368
10369         * s/cygwin32.h:
10370         * s/cygwin32.h (CYGWIN_CONV_PATH):
10371         Add missing logb prototype for v1.1.
10372         Use post-b20 names and alias to pre-b20 names when pre-b20.
10373
10374         * s/windowsnt.h: [5].
10375
10376 2000-07-15  Ben Wing  <ben@xemacs.org>
10377
10378         * Makefile.in.in (x_objs):
10379         * Makefile.in.in (sheap_objs):
10380         * Makefile.in.in (objs):
10381         added win32.o, cosmetic cleanups.
10382
10383         * alloc.c (Fmake_byte_code):
10384         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10385         etc. macros which declare their own args now.
10386
10387         * alloc.c (syms_of_alloc):
10388         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10389
10390         * buffer.c:
10391         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10392
10393         * buffer.c (Fget_file_buffer):
10394         Fixed GCPRO problem.
10395
10396         * buffer.c (get_truename_buffer):
10397         Fixed comment about GC checking.
10398
10399         * buffer.c (syms_of_buffer):
10400         Undeclared those dedicated frame funs.
10401         [2].
10402
10403         * buffer.h:
10404         Define convenience macros for internal/external conversions.
10405         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10406         and Qenvironment_variable_encoding for cleaner code.
10407
10408         * bufslots.h:
10409         Remove dedicated-frame; in lisp.
10410
10411         * bytecode.c (funcall_compiled_function):
10412         [1].
10413
10414         * bytecode.c (syms_of_bytecode):
10415         [2].
10416
10417         * console-msw.c:
10418         * console-msw.c (mswindows_show_console): Rewrote.
10419
10420         * console-msw.c (Fmswindows_debugging_output): New.
10421         Sends to OutputDebugString (special MSWin debugger interface).
10422
10423         * console-msw.c (Fmswindows_message_box):
10424         Fixed stupid bugs so it works when called from kill-emacs.
10425
10426         * console-msw.c (syms_of_console_mswindows):
10427         Declare Fmswindows_debugging_output.
10428
10429         * console-msw.h:
10430         New MSWin prototypes.
10431
10432         * console-msw.h (struct mswindows_frame):
10433         New entry last-click-mods for improved button-modifier support.
10434
10435         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10436         New struct entry `popup' with corresponding accessor.
10437
10438         * console-x.c:
10439         * console-x.c (split_up_display_spec):
10440         * console-x.c (get_display_arg_connection):
10441         * console-x.c (x_semi_canonicalize_console_connection):
10442         * console-x.c (x_canonicalize_device_connection):
10443         [[[6]]]: Change char to more specific type.
10444         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10445
10446         * console-x.c (x_semi_canonicalize_console_connection):
10447         * console-x.c (x_canonicalize_device_connection):
10448         [[[9]]]: Fix up error signalling to use new structured error system.
10449
10450         * console-x.h:
10451         [[[4]]]: Define codesys aliases:
10452         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10453         Qx_color_name_encoding, Qx_display_name_encoding.
10454
10455         * console.h (struct console_methods):
10456         New method make_dialog_box_internal supersedes older
10457         popup_dialog_box method.
10458
10459         * data.c:
10460         Define many new errors, part of new structured errors.
10461
10462         * data.c (init_errors_once_early):
10463         * data.c (syms_of_data):
10464         [2].
10465
10466         * device-msw.c (mswindows_init_device):
10467         [[[5]]]: Cleanup to support NT 3.51.
10468
10469         * device-msw.c (decode_devmode): Cleanup.
10470
10471         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10472         * device-msw.c (mswindows_handle_print_dialog_box):
10473         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10474         * device-msw.c (syms_of_device_mswindows):
10475         Delete the dialog box primitives recently introduced by Kirill and
10476         instead interface to general dialog box interface.
10477
10478         * device-x.c:
10479         * device-x.c (compute_x_app_name):
10480         * device-x.c (x_init_device):
10481         * device-x.c (Fx_valid_keysym_name_p):
10482         * device-x.c (Fx_set_font_path):
10483         [6].
10484         [7].
10485
10486         * device.h (wrap_device): New.
10487         First of its kind; meant to replace XSETDEVICE.
10488
10489         * dialog-msw.c: Many file-dialog symbols.
10490
10491         * dialog-msw.c (mswindows_register_popup_frame): New.
10492         * dialog-msw.c (mswindows_is_dialog_msg): New.
10493         For supporting kbd traversal in dialog boxes.
10494
10495         * dialog-msw.c (dialog_proc):
10496         Support hitting ESC in dialogs.
10497
10498         * dialog-msw.c (struct):
10499         Common dialog box errors.
10500
10501         * dialog-msw.c (handle_file_dialog_box): New.
10502         Add file dialog code.
10503
10504         * dialog-msw.c (handle_question_dialog_box):
10505         Redo existing code to support new question dialog syntax.
10506
10507         * dialog-msw.c (console_type_create_dialog_mswindows):
10508         We support new dialog console method.
10509
10510         * dialog-msw.c (syms_of_dialog_mswindows):
10511         * dialog-msw.c (vars_of_dialog_mswindows):
10512         New file dialog symbols, vars.
10513
10514         * dialog-x.c:
10515         * dialog-x.c (maybe_run_dbox_text_callback):
10516         * dialog-x.c (dbox_descriptor_to_widget_value):
10517         * dialog-x.c (x_make_dialog_box_internal):
10518         * dialog-x.c (console_type_create_dialog_x):
10519         Mule-ize entire file.
10520         Redo to support question dialog syntax.
10521         [6].
10522
10523         * dialog.c:
10524         * dialog.c (Fmake_dialog_box_internal):
10525         * dialog.c (syms_of_dialog):
10526         Kill old popup-dialog-box, replace with new primitive.
10527         Just call device method or signal error.
10528
10529         * eldap.c (Fldap_open):
10530         * eldap.c (Fldap_search_basic):
10531         * eldap.c (Fldap_add):
10532         * eldap.c (Fldap_modify):
10533         [1].
10534         [7].
10535
10536         * emacs.c:
10537         * emacs.c (make_arg_list_1):
10538         * emacs.c (make_arg_list):
10539         Mule-ize call to dll_init().
10540         [6].
10541         [8].
10542
10543         * emacs.c (make_argc_argv):
10544         * emacs.c (free_argc_argv):
10545         * emacs.c (init_cmdargs):
10546         * emacs.c (main_1):
10547         * emacs.c (Fkill_emacs):
10548         * emacs.c (Fdump_emacs):
10549         Update comments about what can be used in syms_* etc.
10550         Call init_win32() when necessary.
10551         Fix up MS Win dialog box in kill-buffer to actually work right.
10552         [7].
10553
10554         * eval.c:
10555         * eval.c (For):
10556         * eval.c (Fand):
10557         * eval.c (Fprogn):
10558         * eval.c (Fprog1):
10559         * eval.c (Fprog2):
10560         * eval.c (FletX):
10561         * eval.c (Flet):
10562         * eval.c (condition_case_3):
10563         * eval.c (Feval):
10564         * eval.c (function_argcount):
10565         * eval.c (funcall_lambda):
10566         [1].
10567
10568         * eval.c (type_error): New.
10569         * eval.c (maybe_type_error): New.
10570         * eval.c (continuable_type_error): New.
10571         * eval.c (maybe_continuable_type_error): New.
10572         * eval.c (type_error_with_frob): New.
10573         * eval.c (maybe_type_error_with_frob): New.
10574         * eval.c (continuable_type_error_with_frob): New.
10575         * eval.c (maybe_continuable_type_error_with_frob): New.
10576         New functions for use with structured errors.
10577
10578         * event-Xt.c:
10579         * event-Xt.c (x_event_to_emacs_event):
10580         Buttons are now modifiers too.
10581
10582         * event-Xt.c (emacs_Xt_current_event_timestamp):
10583         Implement new event method.
10584         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10585
10586         * event-msw.c:
10587         * event-msw.c (ntpipe_shove_writer): [5].
10588         * event-msw.c (mswindows_enqueue_mouse_button_event):
10589         * event-msw.c (mswindows_drain_windows_queue):
10590         * event-msw.c (mswindows_wnd_proc): [7].
10591         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10592         * event-msw.c (mswindows_modifier_state):
10593         Throughout: support new button modifiers.
10594
10595         * event-msw.c (emacs_mswindows_current_event_timestamp):
10596         Implement new event method.
10597         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10598
10599         * event-stream.c:
10600         * event-stream.c (event_stream_current_event_timestamp): New.
10601         * event-stream.c (maybe_kbd_translate): New functionality.
10602         * event-stream.c (vars_of_event_stream):
10603         Document new kbd-translate-table functionality.
10604
10605         * event-stream.c (Fcurrent_event_timestamp): New.
10606         New primitive for use in fabricated events.
10607         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10608
10609         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10610
10611         * events.c:
10612         * events.c (Fmake_event):
10613         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10614         [1].
10615         [9].
10616
10617         * events.c (format_event_object): fix gcc warnings.
10618
10619         * events.c (Fevent_timestamp): Document new primitives.
10620
10621         * events.c (TIMESTAMP_HALFSPACE): New.
10622
10623         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10624         comparing timestamps correctly (half-space algorithm).
10625
10626         * events.c (Fevent_modifier_bits): Doc fix.
10627
10628         * events.c (Fevent_modifiers): Major doc addition.
10629         * events.c (event_x_y_pixel_internal): Typo fix.
10630         * events.c (syms_of_events): Declare new primitives.
10631
10632         * events.h:
10633         Update long comment for button modifiers, timestamps.
10634
10635         * events.h (struct event_stream):
10636         New current_event_timestamp method.
10637
10638         * extents.c:
10639         * extents.c (extent_in_region_p):
10640         * extents.c (decode_extent):
10641         * extents.c (Fset_extent_parent):
10642         * extents.c (decode_map_extents_flags):
10643         Fix gcc warnings.
10644         [9].
10645
10646         * extents.c (struct extent_at_arg):
10647         * extents.c (decode_extent_at_flag):
10648         * extents.c (extent_at_mapper):
10649         * extents.c (extent_at_bytind):
10650         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10651         * extents.c (Fextents_at): New primitive. [9].
10652         * extents.c (symbol_to_glyph_layout): [9].
10653         Support new primitive `extents-at'.
10654
10655
10656         * extents.c (get_text_property_bytind):
10657         extent_at_bytind has another arg.
10658         [9].
10659
10660         * extents.c (syms_of_extents): New primitive.
10661
10662         * file-coding.c (Fmake_coding_system): [1].
10663         * file-coding.c (subsidiary_coding_system): fix gcc warning
10664         * file-coding.c (syms_of_file_coding): [2].
10665
10666         * fileio.c (Fexpand_file_name):
10667         * fileio.c (Fsysnetunam):
10668         * fileio.c (Ffile_exists_p):
10669         * fileio.c (Ffile_executable_p):
10670         * fileio.c (Fverify_visited_file_modtime):
10671         Clean up GCPROing.
10672
10673         * fileio.c (syms_of_fileio): [2].
10674
10675         * filelock.c (lock_file_1):
10676         * filelock.c (current_lock_owner):
10677         * filelock.c (lock_if_free):
10678         * filelock.c (lock_file):
10679         * filelock.c (unlock_file):
10680         Clean up GCPROing.
10681
10682         * fns.c (concat): Fix gcc warning.
10683
10684         * fns.c (Fmember):
10685         * fns.c (Fold_member):
10686         * fns.c (Fmemq):
10687         * fns.c (Fold_memq):
10688         * fns.c (memq_no_quit):
10689         * fns.c (Fassoc):
10690         * fns.c (Fold_assoc):
10691         * fns.c (Fassq):
10692         * fns.c (Fold_assq):
10693         * fns.c (assq_no_quit):
10694         * fns.c (Frassoc):
10695         * fns.c (Fold_rassoc):
10696         * fns.c (Frassq):
10697         * fns.c (Fold_rassq):
10698         * fns.c (rassq_no_quit):
10699         * fns.c (Fdelete):
10700         * fns.c (Fold_delete):
10701         * fns.c (Fdelq):
10702         * fns.c (Fold_delq):
10703         * fns.c (delq_no_quit):
10704         * fns.c (Fremassoc):
10705         * fns.c (Fremassq):
10706         * fns.c (remassq_no_quit):
10707         * fns.c (Fremrassoc):
10708         * fns.c (Fremrassq):
10709         * fns.c (remrassq_no_quit):
10710         * fns.c (Freverse):
10711         * fns.c (mapcar1):
10712         [1].
10713
10714         * frame-msw.c (mswindows_init_frame_1):
10715         * frame-msw.c (mswindows_delete_frame):
10716         Register popups with dialog code so keyboard traversing works.
10717
10718         * frame-tty.c (tty_raise_frame_no_select): [1].
10719
10720         * frame-x.c:
10721         * frame-x.c (x_set_frame_text_value):
10722         * frame-x.c (x_set_frame_properties):
10723         * frame-x.c (x_create_widgets):
10724         [7].
10725
10726         * frame.c:
10727         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10728
10729         * frame.h (wrap_frame): New.
10730         Macro like wrap_device.
10731
10732         * general.c:
10733         * general.c (SYMBOL):
10734         * general.c (syms_of_general):
10735         Major reorg.  This is now just a wrapper and symbols themselves
10736         are listed in general-slots.h.
10737
10738         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10739         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10740
10741         * glyphs-msw.c (mswindows_native_layout_instantiate):
10742         Add DS_CONTROL so keyboard traversal will work.
10743
10744         * glyphs-widget.c:
10745         * glyphs-widget.c (syms_of_glyphs_widget):
10746         Move some symbols to general-slots.h.
10747
10748         * glyphs-x.c:
10749         * glyphs-x.c (xbm_instantiate_1):
10750         * glyphs-x.c (x_xbm_instantiate):
10751         * glyphs-x.c (x_xface_instantiate):
10752         * glyphs-x.c (autodetect_instantiate):
10753         * glyphs-x.c (cursor_font_instantiate):
10754         * glyphs-x.c (x_update_widget):
10755         * glyphs-x.c (x_widget_instantiate):
10756         * glyphs.c (bitmap_to_lisp_data):
10757         * glyphs.c (pixmap_to_lisp_data):
10758         [7].
10759
10760         * glyphs.c (syms_of_glyphs):
10761         [2].
10762
10763         * gui-x.c:
10764         * gui-x.c (print_widget_value):
10765         * gui-x.c (menu_separator_style_and_to_external):
10766         * gui-x.c (add_accel_and_to_external):
10767         * gui-x.c (button_item_to_widget_value):
10768         * gui-x.c (gui_items_to_widget_values_1):
10769         * gui-x.c (gui_items_to_widget_values):
10770         * gui-x.c (syms_of_gui_x):
10771         * gui-x.c (vars_of_gui_x):
10772         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10773         [9].
10774
10775         * gui-x.h:
10776         Muleize, prototype changes matching gui-x.c.
10777
10778         * gui.c:
10779         * gui.c (separator_string_p):
10780         * gui.c (gui_item_add_keyval_pair):
10781         * gui.c (make_gui_item_from_keywords_internal):
10782         * gui.c (signal_too_long_error):
10783         * gui.c (parse_gui_item_tree_item):
10784         * gui.c (syms_of_gui):
10785         * gui.c (vars_of_gui):
10786         * gui.h:
10787         menu-no-selection-hook moved here (used by MSWin).
10788         Move some symbols to general-slots.h.
10789         [6].
10790         [9].
10791
10792         * insdel.c (get_buffer_pos_char):
10793         * insdel.c (get_buffer_range_char):
10794         Add GC comments.
10795
10796         * keymap.c (keymap_lookup_directly):
10797         * keymap.c (keymap_store):
10798         * keymap.c (ensure_meta_prefix_char_keymapp):
10799         * keymap.c (describe_map):
10800         * keymap.h:
10801         Support new button modifiers.
10802
10803         * lisp-disunion.h (wrap_object):
10804         * lisp-disunion.h (XSETOBJ):
10805         Rename make_obj to wrap_object.
10806
10807         * lisp-union.h:
10808         * lisp-union.h (make_int):
10809         * lisp-union.h (make_char):
10810         Support wrap_object.
10811
10812         * lisp.h:
10813         * lisp.h (LIST_LOOP):
10814         * lisp.h (EXTERNAL_LIST_LOOP):
10815         * lisp.h (LIST_LOOP_2):
10816         * lisp.h (EXTERNAL_LIST_LOOP_1):
10817         * lisp.h (EXTERNAL_LIST_LOOP_2):
10818         * lisp.h (EXTERNAL_LIST_LOOP_3):
10819         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10820         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10821         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10822         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10823         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10824         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10825         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10826         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10827         * lisp.h (struct Lisp_Symbol):
10828         * lisp.h (maybe_continuable_error_with_frob):
10829         Fix up section comments.
10830         Add new types for char to indicate usage.
10831         Delete symbols auto-generated from general-slots.h.
10832         Add prototypes for structured error functions.
10833         Add long comments describing looping macros and change interface
10834         so that lvalues are automatically declared.
10835         Add NO_DECLARE macro in case callers want to declare lvalues
10836         themselves.
10837
10838         * lread.c (read_syntax_error):
10839         * lread.c (continuable_read_syntax_error):
10840         * lread.c (read_structure):
10841         * lread.c (sequence_reader):
10842         * lread.c (read_list_conser):
10843         * lread.c (read_compiled_function):
10844         Rename syntax_error and continuable_syntax_error to avoid clash
10845         with same-named structured error functions.
10846
10847         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10848         * menubar-msw.c (populate_menu_add_item):
10849         * menubar-msw.c (populate_or_checksum_helper):
10850         [5].
10851         [9].
10852
10853         * menubar-x.c:
10854         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10855         Mule-ize whole file.
10856
10857         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10858
10859         * mule-charset.c (Fmake_charset):
10860         * mule-wnnfns.c (Fwnn_set_param):
10861         [1].
10862
10863         * ntproc.c (create_child):
10864         * ntproc.c (Fwin32_set_current_locale):
10865         Add comments portending doom.
10866
10867         * objects-msw.c:
10868         * objects-msw.c (old_font_enum_callback_2):
10869         * objects-msw.c (font_enum_callback_1):
10870         * objects-msw.c (mswindows_enumerate_fonts):
10871         [5].
10872
10873         * objects-x.c:
10874         * objects-x.c (allocate_nearest_color):
10875         * objects-x.c (x_parse_nearest_color):
10876         * objects-x.c (x_initialize_color_instance):
10877         * objects-x.c (x_print_color_instance):
10878         * objects-x.c (x_finalize_color_instance):
10879         * objects-x.c (x_valid_color_name_p):
10880         * objects-x.c (x_initialize_font_instance):
10881         * objects-x.c (x_print_font_instance):
10882         * objects-x.c (valid_x_font_name_p):
10883         * objects-x.c (truename_via_FONT_prop):
10884         * objects-x.c (truename_via_random_props):
10885         * objects-x.c (truename_via_XListFonts):
10886         * objects-x.c (x_font_truename):
10887         * objects-x.c (x_font_instance_truename):
10888         * objects-x.c (x_font_instance_properties):
10889         * objects-x.c (x_list_fonts):
10890         * objects-x.c (x_find_charset_font):
10891         Mule-ize entire file.
10892         [7].
10893
10894         * objects-x.h:
10895         Mule-verify.
10896
10897         * print.c:
10898         * print.c (std_handle_out_external):
10899         * print.c (debug_print_no_newline):
10900         * print.c (syms_of_print):
10901         Output to all debugger kinds in debug-print.
10902         Fix console-output code under MSWin to actually work.
10903
10904         * process-nt.c (send_signal):
10905         * process-nt.c (nt_create_process):
10906         Use newer Unicode macros.
10907
10908         * process-unix.c (unix_create_process):
10909         * process-unix.c (unix_canonicalize_host_name):
10910         * process-unix.c (unix_open_network_stream):
10911         [7].
10912
10913         * scrollbar-x.c:
10914         Mule-verify.
10915
10916         * search.c (syms_of_search):
10917         [2].
10918
10919         * select-msw.c (mswindows_destroy_selection):
10920         Use LIST_LOOP_2.
10921
10922         * select-x.c (symbol_to_x_atom):
10923         [7].
10924
10925         * select.c (syms_of_select):
10926         [2].
10927
10928         * sound.c (Fplay_sound_file):
10929         [7].
10930
10931         * specifier.c:
10932         * specifier.c (decode_specifier_type):
10933         * specifier.c (Fvalid_specifier_locale_type_p):
10934         * specifier.c (check_valid_locale_or_locale_type):
10935         * specifier.c (decode_locale):
10936         * specifier.c (decode_locale_type):
10937         * specifier.c (decode_locale_list):
10938         * specifier.c (check_valid_domain):
10939         * specifier.c (decode_specifier_tag_set):
10940         * specifier.c (Fcanonicalize_tag_set):
10941         * specifier.c (Fdefine_specifier_tag):
10942         * specifier.c (Fspecifier_tag_predicate):
10943         * specifier.c (check_valid_inst_list):
10944         * specifier.c (check_valid_spec_list):
10945         * specifier.c (decode_how_to_add_specification):
10946         * specifier.c (check_modifiable_specifier):
10947         * specifier.c (specifier_add_spec):
10948         * specifier.c (boolean_validate):
10949         * specifier.c (display_table_validate):
10950         [9].
10951
10952         * specifier.c (syms_of_specifier):
10953         Move some symbols to general-slots.h.
10954         [2].
10955
10956         * symbols.c:
10957         * symbols.c (Fmapatoms):
10958         * symbols.c (Fapropos_internal):
10959         Add GCPROs.
10960
10961         * symbols.c (set_default_buffer_slot_variable):
10962         * symbols.c (set_default_console_slot_variable):
10963         [1].
10964
10965         * symbols.c (defsymbol_massage_name_1):
10966         * symbols.c (defkeyword_massage_name):
10967         * symbols.c (deferror_1):
10968         * symbols.c (deferror):
10969         * symbols.c (deferror_massage_name_and_message):
10970         * symeval.h:
10971         * symeval.h (DEFSYMBOL):
10972         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10973
10974         * symbols.c (syms_of_symbols):
10975         [2].
10976
10977         * symsinit.h:
10978         * symsinit.h (init_win32): New.
10979         Also new is syms_of_dialog_mswindows.
10980
10981         * syswindows.h:
10982         Add new Unicode macros, missing Cygwin wide-char functions,
10983         convenience conversion macros for Qmswindows_tstr, macros for
10984         encapsulating required MSWin <-> Cygwin filename conversions,
10985         prototype for dynamically-extracted (not in NT 3.51) functions.
10986
10987         * toolbar-x.c:
10988         Mule-verify.
10989
10990         * tooltalk.c (Fadd_tooltalk_message_arg):
10991         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10992         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10993         [7].
10994
10995         * tooltalk.c (syms_of_tooltalk):
10996         [2].
10997
10998         * unexnt.c:
10999         * unexnt.c (unexec):
11000         Fix up headers, declaration of unexec() to be more standard.
11001
11002 2000-07-20  Martin Buchholz  <martin@xemacs.org>
11003
11004         * offix.h: Revert change to guard macros - they're used in offix.c!
11005
11006 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11007
11008         * lisp.h: Defsubred Fdelete.
11009
11010         * console-msw.h:  (msprinter_default_printer): Added.
11011
11012         * console-msw.c (msprinter_canonicalize_console_connection):
11013         (msprinter_canonicalize_device_connection): Added.
11014
11015         * device-msw.c (msprinter_default_printer):
11016         (Fmswingows_get_default_printer):
11017         (signal_enum_priner_error):
11018         (Fmswingows_printer_list): Added.
11019
11020 2000-07-19  Martin Buchholz <martin@xemacs.org>
11021
11022         * XEmacs 21.2.35 is released.
11023
11024 2000-07-19  Martin Buchholz  <martin@xemacs.org>
11025
11026         * select-x.c (x_handle_selection_request):
11027         Text selected in xemacs and pasted into xterm failed to appear.
11028         Spelling fixes and cosmetic changes.
11029
11030 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11031
11032         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
11033         XEmacs frame (fix for doubling chars in dialog boxes).
11034
11035 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11036
11037         * select.c (select_convert_in, select_convert_out):
11038         Don't call intern() every time.
11039
11040         * select.c (Qselect_convert_in, Qselect_convert_out): New.
11041         * select.c (vars_of_select): Initialise them.
11042
11043 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11044
11045         * select.c (selection-coercible-types): New.
11046
11047         * select.c (own-selection-internal):
11048         * select.c (get-selection-internal):
11049         MULE bug fix - these should default to COMPOUND_TEXT and not
11050         STRING for MULE. I think.
11051
11052         * select.c (select_convert_out): Use selection-coercible-types
11053         to find types that we can attempt to perform coercions on.
11054
11055 2000-07-18  Martin Buchholz  <martin@xemacs.org>
11056
11057         * mule-wnnfns.c:
11058         * mule-canna.c:
11059         Add coding: cookie to identify encoding.
11060
11061         * mule-canna.c (CANNA_mode_keys): make static.
11062         Use proper prototypes, even for functions of no arguments.
11063         Remove external prototype for Fding().
11064
11065         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11066
11067         * select.c (syms_of_select): Add missing DEFSUBR.
11068
11069 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11070
11071         * select.c (get_selection_internal, own_selection_internal):
11072         Make the type default to STRING, rather than placing a nil type
11073         into Vselection_alist.
11074
11075 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11076
11077         * gpmevent.c (tty_selection_exists_p):
11078         * gpmevent.c (tty_own_selection):
11079         Updated parameter lists.
11080
11081 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11082
11083         * select.h (selection-alist): Removed declaration.
11084
11085         * select.h (get_local_selection):
11086         * select.c (get_local_selection):
11087         Made static.
11088
11089         * select.h (convert_selection): Removed declaration.
11090         * select.c (convert_selection): Removed.
11091         This function belongs in Lisp.
11092
11093         * select.h (select_convert_in): Declare.
11094         * select.h (select_convert_out): Declare.
11095         * select.c (select_convert_in): New.
11096         * select.c (select_convert_out): New.
11097         New conversion functions for other files to call.
11098
11099         * select.h (select_notify_buffer_kill): Declare.
11100         * select.c (select_notify_buffer_kill): New.
11101         New functions that get called from kill-buffer.
11102
11103         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11104         X-specific lisp code.
11105
11106         * select.h: Declare some of the lisp-visible functions for
11107         external use.
11108
11109         * select.c (clean_local_selection_data): Removed. This was
11110         a disgusting function, and previously should have been in
11111         select-x.c in any case. The functionality is now provided
11112         in select-convert-from-integer (select.el).
11113
11114         * select.c (available-selection-types): Fixed stupidity where
11115         INTEGER and ATOM got added twice. Also add STRING when we see an
11116         extent.
11117
11118         * select.c (get-selection-internal): Removed symbol stripping. No
11119         longer causes conversion when data comes from the internal cache.
11120
11121         * select.c (syms_of_select): Added new functions.
11122
11123         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11124         error checking - previously this called abort!
11125
11126         * select-x.c (x_own_selection): Changed comment.
11127
11128         * select-x.c (x_handle_selection_request): Use select_convert_out.
11129         Don't mess with selection-alist; it's an internal variable of select.c.
11130
11131         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11132
11133         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11134         rather than messing with selection-alist.
11135
11136         * select-msw.c (mswindows_get_foreign_selection):
11137         Use TO_INTERNAL_FORMAT rather than hacking.
11138
11139 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11140
11141         * process-unix.c (unix_open_multicast_group):
11142         (unix_open_multicast_group): Remove useless casts.
11143
11144 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11145
11146         * sound.c (Fplay_sound): Fix `unused variable' warning.
11147
11148         * emacs.c (main): Use correct type for _environ on SCO5.
11149
11150 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11151
11152         * console.h (own_selection_method):
11153         * console.h (selection_exists_p_method):
11154         * console.h (available_selection_types_method): New.
11155         * console.h (register_selection_data_type_method): New.
11156         * console.h (selection_data_type_name): New.
11157
11158         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11159         function & alist to track GlobalAlloc()'d handles that need
11160         releasing when the clipboard data gets replaced or emptied.
11161
11162         * event-msw.c (mswindows_wnd_proc): Call it.
11163
11164         * lisp.h, general.c (Qappend): New symbol representing a
11165         `how-to-add' mode.
11166
11167         * select.c (own-selection-internal):
11168         * select.c (selection-exists-p):
11169         * select.c (available-selection-types): New.
11170         * select.c (register-selection-data-type): New.
11171         * select.c (selection-data-type-name): New.  New functions to deal
11172         with device-specific selection data formats.
11173         * select.c (selection-converter-out-alist): Renamed.
11174         * select.c (selection-converter-in-alist): New.
11175         * select.c (selection-appender-alist): New.  Added new alists.
11176         * select.c (syms_of_select, vars_of_select): Added new symbols &
11177         variables.
11178         * select.c (get_local_selection): Split.
11179         * select.c: Removed spurious type checking - selections may now be
11180         of any type, not just strings.
11181         * select.c (own-selection-internal):
11182
11183         * select.h, select.c (convert_selection): New. Created
11184         convert_selection() function based on get_local_selection().
11185         * select.h, select.c (QCF_*): New symbols representing mswindows
11186         clipboard formats.
11187         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11188         symbols representing `how-to-add' modes.
11189
11190         * select-msw.c (x_sym_p): New.
11191         * select-msw.c (symbol_to_ms_cf): New.
11192         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11193         symbols & clipboard formats. Can also handle string names.
11194         * select-msw.c (mswindows_own_selection):
11195         * select-msw.c (mswindows_selection_exists_p):
11196         Added `data-type' parameter. Use it.
11197         * select-msw.c (mswindows_available_selection_types): New.
11198         * select-msw.c (mswindows_register_selection_data_type): New.
11199         * select-msw.c (mswindows_selection_data_type_name): New.
11200         * select-msw.c (mswindows_own_selection):
11201         * select-msw.c (mswindows_get_foreign_selection):
11202         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11203         * select-msw.c (console_create_select_mswindows): Added new methods.
11204         * select-msw.c (mswindows_destroy_selection): New.
11205         * select-msw.c (Vhandle_alist): New list.
11206         * select-msw.c (mswindows_own_selection):
11207
11208         * select-x.c (x_own_selection):
11209         * select-x.c (x_selection_exists_p):
11210         * select-x.c: Added some comments about maybe using new
11211         functionality.
11212         * select-x.c (x_own_selection):
11213
11214         * specifier.c: Remove definition of Qappend (now in general.c)
11215         * specifier.c (syms_of_specifier): Remove Qappend.
11216
11217 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11218
11219         * config.h.in: Add socklen_t.
11220
11221         * s/decosf4-0.h: No special compiler flags needed or desired.
11222         In particular, undefine _BSD for DEC OSF 4.0.
11223
11224 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11225
11226         * redisplay-msw.c (msprinter_frame_output_end): Added.
11227         (console_type_create_redisplay_mswindows): Referred the above.
11228
11229         * frame.c (setup_frame_without_minibuffer): Do not create a
11230         default minibuffer frame on a printer device.
11231
11232         * frame-msw.c (apply_dc_geometry): Added.
11233         (msprinter_start_page):
11234         (msprinter_init_frame_3):
11235         (msprinter_eject_page): Use it.
11236
11237         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11238         and removed residual duplex and orientation properties.
11239
11240 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11241
11242         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11243
11244         * unexalpha.c: Remove system prototypes from C sources!
11245
11246 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11247
11248         * eval.c: Remove references to M-x edit-options in DEFUNs for
11249         `defvar' and `defconst'.
11250
11251 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11252
11253         * config.h.in: Remove SMART_INCLUDE hackery.
11254
11255         PostgreSQL hacking:
11256         * config.h.in: Don't use SMART_INCLUDE.
11257
11258         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11259         * inline.c: Simply #include "postgresql.h"
11260         * postgresql.c:
11261         - Don't use SMART_INCLUDE
11262         - Use simply "const".
11263         - Use standard doc string conventions.
11264         - Use correct type for result of PQstatus.
11265
11266 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11267
11268         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11269
11270         C++ compilation changes.
11271         * config.h.in (EXTERN_C): Define.
11272         * config.h.in (not): This is also a C++ keyword.
11273         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11274         * cm.c: Use EXTERN_C.
11275         * redisplay-tty.c: Use EXTERN_C.
11276         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11277
11278 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11279
11280         * general.c: Remove duplicate definition for Qfunction.
11281
11282 2000-07-08  Ben Wing  <ben@xemacs.org>
11283
11284         * device-msw.c (msprinter_init_device):
11285         * device-msw.c (sync_printer_with_devmode):
11286         * device-msw.c (handle_devmode_changes):
11287         * device-msw.c (print_dialog_worker):
11288         * device-msw.c (Fmsprinter_apply_settings):
11289         * device-msw.c (hash_devmode):
11290         * device-msw.c (Fmsprinter_settings_despecialize):
11291         use Qmswindows_tstr, not Qctext.
11292
11293         * vm-limit.c (check_memory_limits):
11294         avoid infinite loop printing warning messages.
11295
11296 2000-07-05  Craig Lanning  <lanning@scra.org>
11297
11298         * Makefile.in.in: Add support for including the Windows resources
11299         when building with the cygwin and mingw targets.
11300
11301         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11302         not set or not correct.
11303         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11304         (init_initial_directory): Don't try to use $PWD on the
11305         WIN32_NATIVE target.
11306
11307         * s\cygwin32.h:
11308         [[Add -mwindows to eliminate console window.]] not required --ben
11309         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11310         (MAIL_USE_POP): removed; now handled by configure.
11311
11312         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11313         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11314         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11315         (MAIL_USE_POP): removed; now handled by configure.
11316         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11317         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11318         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11319         constant string.
11320         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11321         up from <winsock.h> via systime.h.
11322         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11323         (getpagesize): from Dan Holmsand, added.
11324         Added #endif which was left dangling by Ben's mega patch; added
11325         comment to help prevent this in the future.
11326
11327         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11328
11329 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11330
11331         * console-msw.h (struct mswindows_device): Removed unnecessary
11332         cached device geometry values.
11333         Added update_tick and an accessor macro.
11334         (Lisp_Devmode): Added lrecord declaration.
11335         (struct msprinter_device): Contain devmode as a Lisp object.
11336         Added mswindows_get_selected_frame_hwnd();
11337
11338         * console.h (struct console_methods): Indentation nitpicking.
11339
11340         * device-msw.c (mswindows_init_device): Do not initialize geometry
11341         cache. Initialize update tick.
11342         (mswindows_device_system_metrics): Ask the device for its geometry.
11343         (global_free_2_maybe):
11344         (devmode_to_hglobal):
11345         (handle_printer_changes):
11346         (ensure_not_printing):
11347         (print_dialog_worker):
11348         (Fmsprinter_print_setup_dialog):
11349         (Fmsprinter_print_dialog):
11350         (plist_get_margin):
11351         (plist_set_margin):
11352         (Fmsprinter_page_setup_dialog): Added functions.
11353         (sync_printer_with_devmode):
11354         (handle_devmode_changes):
11355         (Fmsprinter_get_settings):
11356         (Fmsprinter_select_settings):
11357         (Fmsprinter_apply_settings):
11358         (allocate_devmode):
11359         (Fmsprinter_settings_copy):
11360         (Fmsprinter_settings_despecialize):
11361         (print_devmode):
11362         (finalize_devmode):
11363         (equal_devmode):
11364         (hash_devmode): Added functions
11365         (syms_of_device_mswindows): Init devmode lrecord class.
11366
11367         * device.h: Added an exfun for find-device.
11368
11369         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11370         geometry; although, recreate the device compatible DC.
11371
11372         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11373         (msprinter_init_frame_3):
11374         (msprinter_frame_property):
11375         (msprinter_internal_frame_property_p):
11376         (msprinter_frame_properties):
11377         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11378         print job properties (will move to device settings).
11379
11380         * lisp.h: Added symbols.
11381
11382         * general.c (syms_of_general): Declared them.
11383
11384         * hash.c (string_hash): Added.
11385
11386         * lrecord.h (lrecord_type): Added devmode lrecord type.
11387
11388 2000-07-02  Mike Sperber <mike@xemacs.org>
11389
11390         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11391         FreeBSD 4.0.
11392
11393 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11394
11395         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11396         integer.
11397
11398 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11399
11400         * data.c (Fstring_to_number): Don't recognize floating point if
11401         base is not 10.
11402
11403 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11404
11405         * glyphs-widget.c (tab_control_query_geometry):
11406         (widget_query_geometry):
11407         (button_query_geometry):
11408         * glyphs.c (text_query_geometry):
11409         Enforce type correctness.
11410
11411 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11412
11413         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11414         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11415
11416 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11417
11418         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11419         conflicts with gcc's fixincluded version of FOO.h.
11420
11421         * glyphs.h (image_instance_geometry): Remove trailing `,'
11422
11423 2000-06-08  Mike Alexander  <mta@arbortext.com>
11424
11425         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11426         (shove_thread): Don't write the same output twice
11427         (make_ntpipe_output_stream): Increase priority of shove thread
11428         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11429         chance to run
11430         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11431         it.
11432
11433 2000-06-12  Ben Wing  <ben@xemacs.org>
11434
11435         * s\mingw32.h (sigset):
11436         * s\windowsnt.h (sigset):
11437         rename msw_ to mswindows_ for consistency with general convention.
11438
11439 2000-06-12  Ben Wing  <ben@xemacs.org>
11440
11441         * console-msw.c:
11442         * console-msw.c (mswindows_get_console_hwnd):
11443         * console-msw.c (mswindows_ensure_console_allocated):
11444         * console-msw.c (mswindows_hide_console):
11445         * console-msw.c (mswindows_show_console):
11446         * console-msw.c (mswindows_ensure_console_buffered):
11447         * console-msw.c (mswindows_output_console_string):
11448         * console-msw.c (mswindows_windows9x_p):
11449         * console-msw.h:
11450         * device-msw.c (mswindows_get_workspace_coords):
11451         * device-msw.c (mswindows_device_system_metrics):
11452         * dialog-msw.c (mswindows_popup_dialog_box):
11453         * event-msw.c (mswindows_wnd_proc):
11454         * frame-msw.c (mswindows_size_frame_internal):
11455         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11456         * menubar-msw.c (displayable_menu_item):
11457         * menubar-msw.c (mswindows_char_is_accelerator):
11458         * nt.c:
11459         * nt.c (mswindows_sigset):
11460         * nt.c (mswindows_sigrelse):
11461         * nt.c (mswindows_sigpause):
11462         * nt.c (mswindows_raise):
11463         * nt.c (timer_proc):
11464         * ntproc.c:
11465         * ntproc.c (find_child_console):
11466         * ntproc.c (sys_kill):
11467         * print.c:
11468         * print.c (std_handle_out_external):
11469         * process-nt.c (find_child_console):
11470         * process-nt.c (send_signal_the_95_way):
11471         * process-nt.c (ensure_console_window_exists):
11472         * process-nt.c (nt_create_process):
11473         * syssignal.h:
11474         rename msw_ to mswindows_ for consistency with general convention.
11475
11476         * emacs.c:
11477         * dumper.c:
11478         include nt.h, not syswindows.h.
11479
11480         * nt.c (mswindows_fstat):
11481         * nt.c (mswindows_stat):
11482         prefix mswindows_ instead of attempting to directly override the
11483         library functions.  fix declarations.
11484
11485         * nt.h:
11486         include syswindows.h.  move some sysdep.h stuff here.
11487
11488         * ntheap.h:
11489         include syswindows.h, not <windows.h>.
11490
11491         * ntplay.c:
11492         clean up headers.
11493
11494         * sysdep.c:
11495         clean up headers.
11496
11497         * sysdep.c (sys_fstat):
11498         * sysdep.c (sys_stat):
11499         call mswindows versions when appropriate.
11500
11501         * sysdep.h:
11502         move mswin decls to nt.h.
11503
11504         * syswindows.h:
11505         add long comment describing appropriate use of the various windows
11506         headers.
11507
11508 2000-06-11  Ben Wing  <ben@xemacs.org>
11509
11510         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11511
11512 2000-06-10  Ben Wing  <ben@xemacs.org>
11513
11514         * Makefile.in.in (release):
11515         Correction to make sure xemacs.exe always dumped when correct.
11516
11517         * alloca.c:
11518         * balloon_help.c:
11519         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11520
11521         * buffer.c (set_buffer_internal):
11522         [[[[2]]]]: Remove HAVE_FEP code.
11523
11524         * buffer.c (init_initial_directory):
11525         [3].
11526
11527         * bytecode.c:
11528         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11529         individual files.
11530
11531         * callproc.c:
11532         * callproc.c (call_process_cleanup):
11533         * callproc.c (Fold_call_process_internal):
11534         * callproc.c (child_setup):
11535         * callproc.c (getenv_internal):
11536         * callproc.c (init_callproc):
11537         * callproc.c (vars_of_callproc):
11538         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11539         __CYGWIN32__ -> CYGWIN.
11540         DOS_NT -> WIN32_NATIVE.
11541         Remove MSDOS support/references, converting to WIN32_NATIVE
11542           where correct.
11543         __MINGW32__ -> MINGW.
11544         Fix windows.h includes.
11545         Remove bogus HAVE_NTGUI.
11546
11547         * config.h.in:
11548         [2].
11549
11550         * console-msw.c:
11551         mswindows_message_outputted added for use in allowing startup
11552         errors on the console to be seen.
11553
11554         * console-msw.c (msw_ensure_console_allocated):
11555         * console-msw.c (msw_output_console_string):
11556         * console-msw.c (DHEADER):
11557         * console-msw.c (DOPAQUE_DATA):
11558         * console-msw.c (DEVENT):
11559         * console-msw.c (DCONS):
11560         * console-msw.c (DCONSCDR):
11561         * console-msw.c (DSTRING):
11562         * console-msw.c (DVECTOR):
11563         * console-msw.c (DSYMBOL):
11564         * console-msw.c (DSYMNAME):
11565         Fix warnings.
11566
11567         * console-stream.c (stream_init_console):
11568         Fix text/binary problems.
11569
11570         * device-msw.c:
11571         * device-msw.c (mswindows_finish_init_device):
11572         * device-msw.c (mswindows_delete_device):
11573         [1].
11574
11575         * device.c (handle_asynch_device_change):
11576         [3].
11577
11578         * dgif_lib.c:
11579         * dgif_lib.c (DGifOpenFileName):
11580         * dgif_lib.c (DGifOpenFileHandle):
11581         * dgif_lib.c (DGifGetLine):
11582         * dgif_lib.c (DGifGetPixel):
11583         Added config.h/lisp.h, fix up includes.
11584         [1].
11585
11586         * dired-msw.c:
11587         [4].
11588
11589         * dired.c:
11590         * dired.c (file_name_completion):
11591         * dired.c (Ffile_attributes):
11592         * dired.c (syms_of_dired):
11593         [1].
11594
11595         * dumper.c:
11596         * dumper.c (pdump_file_unmap):
11597         * dumper.c (pdump_load):
11598         [1].
11599
11600         * editfns.c:
11601         * editfns.c (Ftemp_directory):
11602         * editfns.c (user_login_name):
11603         * editfns.c (Fuser_real_login_name):
11604         * editfns.c (get_home_directory):
11605         [1].
11606
11607         * elhash.c (finish_marking_weak_hash_tables):
11608         [[[[5]]]]: Fix GCC warnings.
11609
11610         * emacs.c:
11611         * emacs.c (mswindows_handle_hardware_exceptions):
11612         * emacs.c (make_arg_list_1):
11613         * emacs.c (main_1):
11614         * emacs.c (Fkill_emacs):
11615         * emacs.c (Fdump_emacs):
11616         [1].
11617         Fix problems with nested crashes, add long comment.
11618
11619         * event-Xt.c (init_event_Xt_late):
11620         [1].
11621
11622         * event-msw.c:
11623         * event-msw.c (mswindows_dde_callback):
11624         * event-msw.c (mswindows_handle_sticky_modifiers):
11625         * event-msw.c (mswindows_wnd_proc):
11626         [1].
11627         [5].
11628
11629         * events.c (character_to_event):
11630         [1].
11631
11632         * fileio.c:
11633         * fileio.c (Ffile_name_directory):
11634         * fileio.c (Ffile_name_nondirectory):
11635         * fileio.c (directory_file_name):
11636         * fileio.c (Fexpand_file_name):
11637         * fileio.c (Fsubstitute_in_file_name):
11638         * fileio.c (Ffile_name_absolute_p):
11639         * fileio.c (check_executable):
11640         * fileio.c (Ffile_readable_p):
11641         * fileio.c (Ffile_accessible_directory_p):
11642         * fileio.c (Ffile_modes):
11643         * fileio.c (Funix_sync):
11644         * fileio.c (vars_of_fileio):
11645         [1]. [4].
11646
11647         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11648
11649         Expand getdefdir defn.
11650         Fix bogus rename() comment.
11651
11652         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11653         to use standard XEmacs include files, e.g. sysfile.h, rather
11654         than system-specific includes.
11655
11656         * fns.c:
11657         * fns.c (Fsubseq):
11658         [5]. [6].
11659
11660         * frame.c (vars_of_frame):
11661         [1].
11662
11663         * getloadavg.c:
11664         * getloadavg.c (getloadavg):
11665         [1]. [6].
11666         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11667         (We don't use it elsewhere in the code; just add a comment.)
11668
11669         * gif_io.c:
11670         [6].
11671         Add config.h.
11672
11673         * glyphs-msw.c:
11674         * glyphs-msw.c (mswindows_resource_instantiate):
11675         [1].
11676
11677         * glyphs-x.c (x_native_layout_instantiate):
11678         [5].
11679
11680         * gui-msw.c (Fmswindows_shell_execute):
11681         [1].
11682
11683         * insdel.c:
11684         [4].
11685
11686         * lisp.h:
11687         [4]. [5].
11688
11689         * lread.c (locate_file_in_directory_mapper):
11690         [1].
11691
11692         * lstream.c:
11693         [4].
11694
11695         * mem-limits.h:
11696         * mem-limits.h (get_lim_data):
11697         [1].
11698
11699         * menubar-msw.c:
11700         [4].
11701
11702         * ndir.h:
11703         [1].
11704
11705         * nt.c:
11706         * nt.c (getwd):
11707         * nt.c (closedir):
11708         * nt.c (rva_to_section):
11709         * nt.c (mswindows_executable_type):
11710         [1]. [6].
11711         Fix closedir() defn.
11712
11713         * nt.h:
11714         [[[[8]]]]: *_OK defs moved to sysfile.h.
11715
11716         * ntproc.c:
11717         [6]. [7].
11718
11719         * objects-x.c:
11720         [4].
11721
11722         * print.c:
11723         * print.c (std_handle_out_external):
11724         [1]. [4].
11725
11726         * process-nt.c:
11727         * process-nt.c (nt_create_process):
11728         [6].
11729         try to fix process quoting somewhat.
11730
11731         * process-unix.c (unix_create_process):
11732         [1].
11733
11734         * process.c:
11735         * process.c (vars_of_process):
11736         Add Vnull_device.
11737
11738         * process.h:
11739         [1].
11740
11741         * realpath.c:
11742         * realpath.c (xrealpath):
11743         [1].
11744
11745         * redisplay-tty.c (init_tty_for_redisplay):
11746         [3].
11747
11748         * redisplay.c:
11749         [4]. [6].
11750
11751         * scrollbar-msw.c:
11752         [4].
11753
11754         * sheap.c:
11755         * sheap.c (more_static_core):
11756         * sheap.c (report_sheap_usage):
11757         [5]. [6].
11758
11759         * signal.c:
11760         * signal.c (alarm_signal):
11761         [1]. [6].
11762
11763         * sound.c:
11764         [6].
11765
11766         * strftime.c:
11767         * strftime.c (zone_name):
11768         [1]. [5].
11769
11770         * symsinit.h (init_sunpro):
11771         [1].
11772
11773         * syscommctrl.h:
11774         commctrl.h not in Cygwin b20.1.
11775
11776         * sysdep.c:
11777         * sysdep.c (endif):
11778         * sysdep.c (sys_subshell):
11779         * sysdep.c (init_baud_rate):
11780         * sysdep.c (emacs_get_tty):
11781         * sysdep.c (emacs_set_tty):
11782         * sysdep.c (tty_init_sys_modes_on_device):
11783         * sysdep.c (init_system_name):
11784         * sysdep.c (sys_open):
11785         * sysdep.c (interruptible_open):
11786         * sysdep.c (sys_fopen):
11787         * sysdep.c (sys_mkdir):
11788         * sysdep.c (sys_rename):
11789         * sysdep.c (get_process_times_1):
11790         [1]. [6].
11791
11792         * sysdep.h:
11793         [1].
11794
11795         * sysdir.h:
11796         * sysdir.h (DIRENTRY_NONEMPTY):
11797         [1]. [6].
11798
11799         * sysdll.c (dll_init):
11800         * sysdll.h:
11801         [1].
11802
11803         * sysfile.h:
11804         [1]. [6]. [8].
11805         added text/binary defs.
11806
11807         * sysfloat.h:
11808         [1].
11809
11810         * sysproc.h:
11811         * sysproc.h (EDESTADDRREQ):
11812         * sysproc.h (poll_fds_for_input):
11813         [1]. [6].
11814
11815         * syspwd.h:
11816         [6].
11817
11818         * syssignal.h:
11819         [1].
11820
11821         * systime.h:
11822         [1]. [6].
11823
11824         * systty.h:
11825         [1].
11826
11827         * syswindows.h:
11828         [1].
11829         Always define WIN32_LEAN_AND_MEAN.
11830
11831         * unexcw.c (unexec):
11832         [5].
11833
11834         * unexec.c:
11835         * unexec.c (copy_text_and_data):
11836         * unexec.c (adjust_lnnoptrs):
11837         [1].
11838
11839         * unexnt.c:
11840         * unexnt.c (_start):
11841         [1].
11842
11843 2000-06-07  Ben Wing  <ben@xemacs.org>
11844
11845         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11846         was used only as a model.  We've long since extracted any useful
11847         logic or code out of this. (I just did an exhaustive search.)
11848
11849         * s\msdos.h: Removed.
11850
11851         * s\windows95.h: Removed.
11852
11853 2000-06-10  Ben Wing  <ben@xemacs.org>
11854
11855         * s\cygwin32.h:
11856         [1]. [5].
11857         Don't use extern with fun defs.
11858
11859         * s\mingw32.h:
11860         [1]. [7].
11861         Remove nt\inc include.
11862         Remove getdisk, getdefdir. (The former is unused, the latter
11863         expanded in fileio.h.)
11864
11865         * s\windowsnt.h:
11866         * s\windowsnt.h (WIN32_NATIVE):
11867         * s\windowsnt.h (HAVE_STRCASECMP):
11868         [1]. [7].
11869         Add long comment about preprocessor changes.
11870         Remove getdisk, getdefdir. (The former is unused, the latter
11871         expanded in fileio.h.)
11872
11873 2000-06-10  Ben Wing  <ben@xemacs.org>
11874
11875         * m\arm.h:
11876         * m\delta.h:
11877         * m\intel386.h:
11878         * m\sequent.h:
11879         * m\template.h:
11880         * m\windowsnt.h:
11881         [1].
11882         Remove bogus/unused NO_SOCK_SIGIO.
11883
11884 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11885
11886         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11887         not an Emchar.
11888
11889 2000-06-04  Mike Sperber <mike@xemacs.org>
11890
11891         * casetab.c (set_case_table): For `set-standard-case-table',
11892         actually deposit the new case tables where the rest of XEmacs can
11893         see them.
11894
11895 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11896
11897         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11898
11899 2000-06-05  Ben Wing  <ben@xemacs.org>
11900
11901         * callproc.c (child_setup): Don't do close_load_descs() under
11902         MS Windows.  Put in a comment explaining why.
11903
11904 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11905
11906         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11907         Toolkit shell" which breaks `kill-compilation' on Windows NT
11908         native, retaining STDERR handling improvements.
11909
11910 2000-06-01  Andreas Jaeger  <aj@suse.de>
11911
11912         * s/s390.h: Support for S390, based on a patch by Martin
11913         Schwidefsky <schwidefsky@de.ibm.com>.
11914
11915 2000-05-30  Andy Piper  <andy@xemacs.org>
11916
11917         * window.c (allocate_window):
11918         (make_dummy_parent):
11919         (Fset_window_configuration): use new hashtable type.
11920
11921         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11922         (struct image_instantiator_methods):
11923         (struct Lisp_Image_Instance): make instance geometry signed.
11924
11925         * glyphs.c (instantiate_image_instantiator):
11926         (image_instance_query_geometry):
11927         (image_instance_layout):
11928         (image_instance_layout):
11929         (query_string_geometry):
11930         (text_query_geometry):
11931         (image_instantiate):
11932         (image_instantiate):
11933         (cache_subwindow_instance_in_frame_maybe):
11934         (subwindow_query_geometry): make instance geometry signed.
11935
11936         * glyphs-widget.c (widget_query_geometry):
11937         (widget_layout):
11938         (button_query_geometry):
11939         (tree_view_query_geometry):
11940         (tab_control_query_geometry):
11941         (layout_query_geometry):
11942         (layout_layout):
11943         (native_layout_layout): make instance geometry signed.
11944
11945 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11946
11947         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11948         constant.
11949
11950         * general.c (syms_of_general): Add Qfull_assoc symbol.
11951
11952         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11953         correctly.
11954         (decode_weak_list_type): Decode full-assoc type.
11955         (encode_weak_list_type): Encode full-assoc type.
11956         (Fmake_weak_list): Update doc string.
11957
11958 2000-05-30  Andy Piper  <andy@xemacs.org>
11959
11960         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11961
11962         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11963         (decode_hash_table_weakness): ditto.
11964         (Fhash_table_weakness): ditto.
11965         (Fhash_table_type): ditto.
11966         (finish_marking_weak_hash_tables): ditto.
11967         (hash_table_weakness_validate): ditto.
11968         (syms_of_elhash): ditto.
11969
11970 2000-05-28  Martin Buchholz <martin@xemacs.org>
11971
11972         * XEmacs 21.2.34 is released.
11973
11974 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11975
11976         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11977         start cache.
11978         (updating_line_start_cache): Gone.
11979         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11980         generic code to force a minimum of 1 line laid out in the
11981         CMOTION_DISP case.
11982
11983 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11984
11985         * glyphs.c (instantiate_image_instantiator): Check for initialized
11986         height & width no longer special cases IMAGE_NOTHING.
11987         (nothing_instantiate): Set height and width of instance.
11988
11989 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11990
11991         * unexelf.c (unexec): Search for ".data" section.
11992         Initialize new_data2_offset from old_data_index.
11993         Remove redundant check for ElfW.
11994
11995 2000-05-23  Andy Piper  <andy@xemacs.org>
11996
11997         * glyphs.c (get_image_instantiator_governing_domain): allow more
11998         specific domains as the governing domain rather than expecting an
11999         exact match. This fixes problems with layouts.
12000
12001 2000-05-22  Andy Piper  <andy@xemacs.org>
12002
12003         * redisplay-output.c (compare_runes): check for non-images
12004
12005         * glyphs.c (set_glyph_dirty_p): ditto.
12006         (update_glyph_cachel_data): ditto.
12007
12008         * glyphs-widget.c (layout_post_instantiate): ditto.
12009         (layout_post_instantiate): ditto.
12010
12011         * event-msw.c (mswindows_wnd_proc): warning removal.
12012
12013 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
12014
12015         * s\mingw32.h: Added #undef for CLASH_DETECTION.
12016
12017         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
12018
12019         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
12020
12021         * nt.c (rva_to_section): mingw32 needs rva_to_section.
12022         (mswindows_executable_type): mingw32 now has enough headers for
12023         this to work.
12024
12025 2000-05-20  Andy Piper  <andy@xemacs.org>
12026
12027         * console-msw.c (mswindows_output_last_error): ; -> ,
12028
12029 2000-05-12  Andy Piper  <andy@xemacs.org>
12030
12031         * console-msw.c (FROB): compare ints with ints.
12032
12033 2000-05-11  Andy Piper  <andy@xemacs.org>
12034
12035         * glyphs-x.c (x_finalize_image_instance): make minimal build
12036         happy.
12037
12038 2000-05-20  Ben Wing  <ben@xemacs.org>
12039
12040         * event-Xt.c:
12041         * event-Xt.c (vars_of_event_Xt):
12042         move modifier-keys-are-sticky to event-stream.c.
12043
12044         * event-msw.c:
12045         * event-msw.c (mswindows_enqueue_mouse_button_event):
12046         * event-msw.c (key_needs_default_processing_p):
12047         * event-msw.c (XEMSW_LCONTROL):
12048         * event-msw.c (mswindows_handle_sticky_modifiers):
12049         * event-msw.c (FROB):
12050         * event-msw.c (clear_sticky_modifiers):
12051         * event-msw.c (output_modifier_keyboard_state):
12052         * event-msw.c (output_alt_keyboard_state):
12053         * event-msw.c (mswindows_wnd_proc):
12054         * event-msw.c (mswindows_modifier_state):
12055         * event-msw.c (emacs_mswindows_handle_magic_event):
12056         implement sticky modifiers.
12057
12058         * event-stream.c:
12059         * event-stream.c (vars_of_event_stream):
12060         move modifier-keys-are-sticky here.
12061
12062         * lisp.h:
12063         add CHECK_FUNCTION.
12064
12065         * rangetab.c:
12066         implement map-range-table.
12067
12068
12069 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12070
12071         * redisplay-tty.c (reset_tty_modes):
12072         (tty_redisplay_shutdown): Adjust argument type to
12073         tty_frame_output_end.
12074
12075 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12076
12077         * eval.c (Fbacktrace): Don't output a line with only right
12078         parenthesis.
12079
12080 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12081
12082         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12083         (Fpq_reset_poll): Ditto.
12084
12085 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12086
12087         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12088
12089 2000-05-16  Ben Wing  <ben@xemacs.org>
12090
12091         * buffer.c:
12092         * buffer.c (dfc_convert_to/from_internal_format):
12093         * buffer.c (reinit_vars_of_buffer):
12094         Fix conversion functions to allow reentrancy.
12095
12096         * console-msw.c:
12097         * console-msw.c (mswindows_output_last_error):
12098         New fun, generally useful -- output a human-readable
12099         version of GetLastError() on the console.
12100
12101         * console-msw.h:
12102         * console-msw.h (struct mswindows_frame):
12103         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12104
12105         * console-stream.c (stream_output_begin):
12106         * console-stream.c (stream_output_end):
12107         * console-stream.c (stream_output_vertical_divider):
12108         * console-stream.c (stream_clear_region):
12109         * console-stream.c (stream_flash):
12110         * console-stream.c (console_type_create_stream):
12111         Delete blank stream methods, not needed.
12112
12113         * console.h (struct console_methods):
12114         Split begin/end methods into window and frame.
12115
12116         * event-msw.c:
12117         * event-msw.c (mswindows_handle_paint):
12118         * event-msw.c (output_alt_keyboard_state):
12119         * event-msw.c (mswindows_wnd_proc):
12120         * event-msw.c (vars_of_event_mswindows):
12121         Comment about problems with ignored-expose.
12122         Define mswindows-debug-events; not really implemented.
12123
12124         * frame-msw.c (mswindows_init_frame_1):
12125         random cleanups.
12126
12127         * glyphs-msw.c:
12128         * glyphs-msw.c (begin_defer_window_pos):
12129         * glyphs-msw.c (mswindows_unmap_subwindow):
12130         * glyphs-msw.c (mswindows_map_subwindow):
12131         * glyphs-msw.c (mswindows_resize_subwindow):
12132         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12133
12134         * glyphs.c (make_image_instance_1):
12135         Fix crash.
12136
12137         * gutter.c (Fredisplay_gutter_area):
12138         Use new begin/end methods.
12139
12140         * lisp.h (Dynarr_new2):
12141         New creation fun.
12142
12143         * redisplay-msw.c:
12144         * redisplay-msw.c (mswindows_frame_output_begin):
12145         * redisplay-msw.c (mswindows_frame_output_end):
12146         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12147         New begin/end methods -- handle DeferWindowPos.
12148
12149         * redisplay-output.c (redisplay_move_cursor):
12150         * redisplay-output.c (redraw_cursor_in_window):
12151         * redisplay-output.c (redisplay_update_line):
12152         * redisplay-output.c (redisplay_output_window):
12153         New begin/end methods.
12154
12155         * redisplay-tty.c:
12156         * redisplay-tty.c (tty_frame_output_begin):
12157         * redisplay-tty.c (tty_frame_output_end):
12158         * redisplay-tty.c (console_type_create_redisplay_tty):
12159         New begin/end methods.
12160
12161         * redisplay-x.c:
12162         * redisplay-x.c (x_window_output_begin):
12163         * redisplay-x.c (x_window_output_end):
12164         * redisplay-x.c (console_type_create_redisplay_x):
12165         New begin/end methods.
12166
12167         * redisplay.c (redisplay_frame):
12168         * redisplay.c (Fredisplay_echo_area):
12169         New begin/end methods.
12170         use MAYBE_DEVMETH for clear_frame; it may not exist.
12171
12172         * window.h (WINDOW_XFRAME):
12173         WINDOW_XFOO macros -- get locale and decode struct pointer.
12174
12175
12176 2000-05-12  Ben Wing  <ben@xemacs.org>
12177
12178         * emacs.c:
12179         * emacs.c (ensure_no_quitting_from_now_on):
12180         * emacs.c (fatal_error_signal):
12181         * emacs.c (mswindows_handle_hardware_exceptions):
12182         * emacs.c (main):
12183         * emacs.c (Fkill_emacs):
12184         * emacs.c (shut_down_emacs):
12185         * emacs.c (assert_failed):
12186         various improvements in fatal error handling.
12187
12188         * eval.c:
12189         move preparing_for_armageddon to emacs.c.
12190
12191         * lisp.h:
12192         declare fatal_error_in_progress.
12193
12194         * print.c:
12195         * print.c (std_handle_out_external):
12196         * print.c (std_handle_out_va):
12197         * print.c (stderr_out):
12198         * print.c (stdout_out):
12199         use console under mswin when no standard output.
12200         don't do code conversion during fatal error.
12201
12202         * scrollbar.c (Fscrollbar_page_up):
12203         * scrollbar.c (Fscrollbar_page_down):
12204         fix missing else.  reindent.
12205
12206 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12207
12208         Emergency fix.
12209
12210         * glyphs.h (GLYPH_CACHEL_DESCENT):
12211         (GLYPH_CACHEL_DESCENT):
12212         (GLYPH_CACHEL_DESCENT):
12213         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12214         used in case these are inline functions.
12215         Use more absurd values to error check.
12216
12217         include window.h for error check functions.
12218
12219 2000-05-11  Ben Wing  <ben@xemacs.org>
12220
12221         * cmdloop.c (Freally_early_error_handler):
12222         Display message box under windows; otherwise, message will disappear
12223         before it can be viewed.
12224
12225         * console-msw.c:
12226         * console-msw.c (Fmswindows_message_box):
12227         * console-msw.c (FROB):
12228         * console-msw.c (syms_of_console_mswindows):
12229         Define new fun `mswindows-message-box'.
12230         #### I will merge this into `popup-dialog-box'; just give me
12231         a bit of time.
12232
12233         * general.c:
12234         * general.c (syms_of_general):
12235         Some new symbols used in `mswindows-message-box'.
12236
12237         * glyphs.c:
12238         * glyphs.c (Fset_image_instance_property):
12239         put warning in this fun.
12240
12241         * glyphs.h:
12242         * glyphs.h (GLYPH_CACHEL_WIDTH):
12243         * glyphs.h (GLYPH_CACHEL_ASCENT):
12244         * glyphs.h (GLYPH_CACHEL):
12245         * glyphs.h (GLYPH_CACHEL_GLYPH):
12246         define error-checking versions to try to catch a bug i've seen --
12247         redisplay gets in an infinite loop because the glyph width of the
12248         continuation glyph is 65535.
12249
12250         * lisp.h:
12251         Extern message-box stuff.
12252
12253         * window.c (allocate_window):
12254         * window.c (make_dummy_parent):
12255         * window.c (Fset_window_configuration):
12256         Use EQUAL not EQ for subwindow caches to make them work a bit
12257         better. (Something is still very broken.)
12258
12259
12260 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12261
12262         * glyphs.c (image_instantiate): Suppress gcc warnings.
12263         (Fmake_image_instance): Fix doc string.
12264         * specifier.c (Fmake_specifier): Ditto.
12265
12266 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12267
12268         * paths.h.in (PATH_LOCK): Removed.
12269         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12270         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12271
12272 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12273
12274         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12275         Document (featurep '(and xemacs 21.02)).
12276
12277 2000-05-09  Ben Wing  <ben@xemacs.org>
12278
12279         * buffer.c (complex_vars_of_buffer):
12280         update modeline-format doc.
12281
12282         * device.h:
12283         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12284
12285         * emacs.c:
12286         timeline of all released versions of Emacs, for use in creating
12287         authorship comments and in synching up.
12288
12289         * glyphs-widget.c (image_instantiator_buttons):
12290         * glyphs-widget.c (image_instantiator_edit_fields):
12291         * glyphs-widget.c (image_instantiator_combo_box):
12292         * glyphs-widget.c (image_instantiator_scrollbar):
12293         * glyphs-widget.c (image_instantiator_progress_guage):
12294         * glyphs-widget.c (image_instantiator_tree_view):
12295         * glyphs-widget.c (image_instantiator_tab_control):
12296         * glyphs-widget.c (image_instantiator_labels):
12297         * glyphs-widget.c (image_instantiator_layout):
12298         * glyphs-widget.c (image_instantiator_native_layout):
12299         rename decode_domain method to governing_domain.
12300
12301         * glyphs.c:
12302         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12303         * glyphs.c (add_entry_to_device_ii_format_list):
12304         make sure we don't put an entry more than once into the list.
12305         * glyphs.c (check_instance_cache_mapper):
12306         *************************************************************
12307         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12308         HAVE BEEN GETTING.
12309         *************************************************************
12310         * glyphs.c (get_image_instantiator_governing_domain):
12311         clean up, expand on new concept of governing domain.
12312         * glyphs.c (instantiate_image_instantiator):
12313         * glyphs.c (allocate_image_instance):
12314         use governing_domain instead of cache_domain in naming.
12315         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12316         * glyphs.c (make_image_instance_1):
12317         * glyphs.c (Fmake_image_instance):
12318         allow for any domain (not just device), and process the
12319         governing domain correctly.  very big doc fix.
12320         * glyphs.c (Fimage_instance_domain):
12321         new primitive, to retrieve the governing domain of an image instance.
12322         * glyphs.c (image_instantiate):
12323         use new governing_domain stuff.  this fixes a crash you could get
12324         by instantiating certain widget glyphs in frame locales. (should
12325         signal an error instead of crashing.)
12326         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12327         * glyphs.c (Fglyphp): clean up doc.
12328         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12329         * glyphs.c (syms_of_glyphs):
12330         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12331         * glyphs.c (image_instantiator_format_create): add some comments about
12332         bogus code.
12333         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12334         for current-display-table. (Apparently Hrjove implemented in 1998 a
12335         design I wrote up in 1996, but didn't update the doc string.)
12336
12337         * glyphs.h: clean up a doc string.
12338         * glyphs.h (governing_domain):
12339         * glyphs.h (struct image_instantiator_methods):
12340         changes for governing_domain stuff.
12341
12342         * gutter.c:
12343         * gutter.c (Fgutter_specifier_p):
12344         * gutter.c (Fgutter_size_specifier_p):
12345         * gutter.c (Fgutter_visible_specifier_p):
12346         * objects.c:
12347         * objects.c (Fcolor_specifier_p):
12348         * objects.c (Ffont_specifier_p):
12349         * objects.c (Fface_boolean_specifier_p):
12350         doc strings moved to make-*-specifier.
12351
12352         * redisplay.c (add_disp_table_entry_runes_1):
12353         * redisplay.c (generate_fstring_runes):
12354         * redisplay.c (screen):
12355         add random comments and doc strings.
12356
12357         * specifier.c:
12358         * specifier.c (Fmake_specifier):
12359         major overhaul of this doc string.
12360
12361         * specifier.c (Fvalid_specifier_domain_p):
12362         comment about the bogosity of image instances being domains.
12363         * specifier.c (decode_domain):
12364         now non-static, used in glyphs.c.
12365         * specifier.c (specifier_instance):
12366         comment about the bogosity of image instances being domains.
12367         * specifier.c (Fgeneric_specifier_p):
12368         move doc string to make-generic-specifier.
12369         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12370         rebackslashify.
12371
12372         * specifier.h:
12373         * specifier.h (DOMAIN_FRAME):
12374         * specifier.h (DOMAIN_LIVE_P):
12375         * specifier.h (DOMAIN_XDEVICE):
12376         rebackslashify.
12377         add comments about problems with these macros.
12378         prototype for decode_domain.
12379
12380         * toolbar.c:
12381         * toolbar.c (Ftoolbar_specifier_p):
12382         move doc string to `make-toolbar-specifier'.
12383
12384         * window.c (window_unmap_subwindows_cache_mapper):
12385         *************************************************************
12386         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12387         HAVE BEEN GETTING.
12388         *************************************************************
12389
12390 2000-05-09  Andy Piper  <andy@xemacs.org>
12391
12392         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12393
12394         * window.c (Fset_window_configuration): reset the frame subwindow
12395         cache and re-initialize the window subwindow caches.
12396
12397         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12398
12399 2000-05-09  Ben Wing  <ben@xemacs.org>
12400
12401         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12402         DWORD.
12403
12404 2000-04-26  Mike Woolley  <mike@bulsara.com>
12405
12406         * ntheap.c: Changed recreate_heap to limit the amount reserved
12407         for the heap to that which is actually available. Also now
12408         displays a message box (with some dignostics) in the event that
12409         it still can't start.
12410
12411 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12412
12413         * callproc.c (Fold_call_process_internal): GCPRO path
12414
12415 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12416
12417         Patch by Bill Perry.
12418
12419         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12420         back data instead of #ifdef.
12421         (Fscrollbar_page_down): ditto.
12422
12423 2000-05-07  Ben Wing  <ben@xemacs.org>
12424
12425         * buffer.h:
12426         Kludge for defining Qmswindows_tstr.
12427
12428         * nt.c:
12429         * nt.c (open_input_file):
12430         * nt.c (open_output_file):
12431         * nt.c (rva_to_section):
12432         * nt.c (mswindows_executable_type):
12433         Move all memory-mapped-file routines here (some were in unexnt.c,
12434         which is bad because they are used by process-nt.c, and unexnt
12435         won't be around when portable dumping).  Synched the above routines
12436         with FSF 20.6.
12437
12438         * nt.h:
12439         Removed ifdef'd out bogus code.
12440         Fixed some prototypes.
12441
12442         * nt.h (file_data):
12443         * nt.h (OFFSET_TO_RVA):
12444         * nt.h (RVA_TO_OFFSET):
12445         * nt.h (RVA_TO_PTR):
12446         Moved the memory-mapped-file structures, macros and prototypes
12447         here, to parallel nt.c.  ntheap.h should really be removed
12448         entirely, and it's a non-portable-dumper specific file.
12449
12450         * ntheap.h (round_to_next):
12451         Moved the memory-mapped-file structures, macros and prototypes
12452         to nt.h.
12453
12454         * ntproc.c (compare_env):
12455         Moved rva_to_section and mswindows_executable_type to nt.c.
12456         Moved compare_env to process-nt.c.
12457         ntproc.c will die, one day.
12458
12459         * ntproc.c (sys_spawnve):
12460         Account for win32_ -> mswindows_.
12461
12462         * process-nt.c:
12463         * process-nt.c (struct nt_process_data):
12464         * process-nt.c (ensure_console_window_exists):
12465         * process-nt.c (compare_env):
12466         * process-nt.c (nt_create_process):
12467         * process-nt.c (nt_kill_process_by_pid):
12468         * process-nt.c (syms_of_process_nt):
12469         * process-nt.c (vars_of_process_nt):
12470         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12471         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12472         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12473         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12474         Move compare_env here from ntproc.c.
12475
12476         * process.c (Fprocess_send_region):
12477         Takes an optional fourth argument, BUFFER, which should fix some
12478         problems with call-process.
12479
12480         * syscommctrl.h:
12481         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12482
12483         * syswindows.h:
12484         Move ICC_BAR_CLASSES to syscommctrl.h.
12485         Add preliminary macros for MSWindows/Mule.  More to come.
12486
12487         * unexnt.c:
12488         * unexnt.c (unexec):
12489         open_output_file moved to nt.c.
12490
12491
12492 2000-05-05  Andy Piper  <andy@xemacs.org>
12493
12494         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12495         instance from the frame cache also since GC may catch up too late
12496         to make frame deletion sane.
12497
12498 2000-05-04  Andy Piper  <andy@xemacs.org>
12499
12500         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12501         (x_finalize_image_instance): ungcpro on deletion.
12502
12503         * glyphs.c (image_instantiator_format_create): give pointers a
12504         query geometry method so that the geometry is at least set.
12505
12506         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12507         initialize layouts if using widgets.
12508
12509 2000-05-03  Andy Piper  <andy@xemacs.org>
12510
12511         * nt.c: remove bogus reference to sysmmsystem.h
12512
12513         * gui-x.c (popup_selection_callback): fix no selection abort.
12514
12515 2000-05-02  Andy Piper  <andy@xemacs.org>
12516
12517         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12518         (mswindows_widget_instantiate): ditto.
12519
12520         * glyphs-widget.c (initialize_widget_image_instance): initialize
12521         children correctly.
12522         (widget_instantiate): cope with children and items in the same
12523         instance.
12524
12525         * glyphs.c (mark_image_instance): cope with children as a first
12526         class member.
12527         (image_instance_equal): ditto.
12528         (image_instance_hash): ditto.
12529         (image_instance_changed): ditto.
12530
12531 2000-04-30  Andy Piper  <andy@xemacs.org>
12532
12533         * glyphs.c (subwindow_query_geometry): new function. Return some
12534         defaults.
12535         (subwindow_instantiate): don't assign dimensions if none have been
12536         given.
12537         (image_instantiator_format_create): add subwindow_query_geometry.
12538         (print_image_instance): cope with layouts as widgets.
12539
12540 2000-04-29  Andy Piper  <andy@xemacs.org>
12541
12542         * frame.c (delete_frame_internal): call
12543         free_frame_subwindow_instance_cache so that all subwindows are
12544         finalized before their parent.
12545         (mark_frame): remove subwindow_cachels.
12546         (Fmake_frame): remove subwindow_cachel manipulation.
12547         (allocate_frame_core): subwindow_instance_cache is a weak list.
12548         (delete_frame_internal): set subwindow_instance_cache to nil.
12549
12550         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12551         finalization safe.
12552         (mswindows_finalize_image_instance): use the device
12553         not the domain as the domain may have died already.
12554
12555         * glyphs-x.c (x_finalize_image_instance): ditto.
12556         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12557         HEIGHT.
12558
12559         * redisplay-output.c (redisplay_unmap_subwindows): update for
12560         subwindow instance cache as a weak list.
12561         (redisplay_unmap_subwindows_maybe): ditto.
12562         (redisplay_unmap_subwindows_except_us): ditto.
12563
12564         * glyphs.c (unmap_subwindow): error checking will check the domain
12565         so don't deal with it here. Don't use cachels anymore.
12566         (map_subwindow): ditto.
12567         (update_subwindow_cachel_data): remove old accessor names.
12568         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12569         (Fresize_subwindow): don't update cachel.
12570         (mark_subwindow_cachels):
12571         (update_subwindow_cachel_data):
12572         (add_subwindow_cachel):
12573         (get_subwindow_cachel_index):
12574         (update_subwindow_cachel):
12575         (reset_subwindow_cachels):
12576         (mark_subwindow_cachels_as_not_updated): deleted.
12577         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12578         subwindow instance to the frame cache.
12579         (find_matching_subwindow): update for subwindow instance cache as
12580         a weak list.
12581         (update_widget_instances): ditto.
12582         (image_instance_type_to_mask):inlined.
12583         (free_frame_subwindow_instance_cache): new function. finalize all
12584         subwindows that are instantiated.
12585
12586         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12587         of cachel information.
12588         (IMAGE_INSTANCE_DISPLAY_X):
12589         (IMAGE_INSTANCE_DISPLAY_Y):
12590         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12591         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12592         (XIMAGE_INSTANCE_DISPLAY_X):
12593         (XIMAGE_INSTANCE_DISPLAY_Y):
12594         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12595         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12596         remove subwindow_cachel structure and function references.
12597         (image_instance_type_to_mask): inline from glyphs.c
12598
12599         * redisplay.c (redisplay_frame): remove subwindow_cachel
12600         references.
12601
12602         * frame.h (struct frame): remove subwindow_cachels.
12603         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12604
12605         * frameslots.h: add subwindow_instance_cache.
12606
12607         * window.c (replace_window): check subwindow cache of replacement.
12608         (window_unmap_subwindows_cache_mapper):
12609         (window_unmap_subwindows): new functions. Unmap all subwindows
12610         cached on this window.
12611         (mark_window_as_deleted): unmap all subwindows.
12612
12613 2000-04-27  Andy Piper  <andy@xemacs.org>
12614
12615         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12616
12617         * glyphs-widget.c (widget_layout): return something.
12618         (layout_layout): return something. Fail if not initialized.
12619         (layout_query_geometry): ditto.
12620         (image_instantiator_native_layout): new function. Initialized the
12621         native layout type.
12622         (widget_instantiate): don't do layout stuff here.
12623
12624         * glyphs.c (instantiate_image_instantiator): reorded calling or
12625         instantiate and post_instantiate with layout in between.
12626         (image_instance_layout): be more selective about deciding whether
12627         the layout has been done or not.
12628
12629         * glyphs.h (struct image_instantiator_methods): return a value
12630         from layout_method.
12631
12632 2000-04-26  Andy Piper  <andy@xemacs.org>
12633
12634         * glyphs.c (allocate_image_instance): make initial width and
12635         height unspecified. Set initialized to 0.
12636
12637         * syscommctrl.h new file. Encapsulates commctrl.h.
12638
12639         * syswindows.h new file. Encapsulates windows.h.
12640
12641         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12642         * nt.c: ditto.
12643         * console-msw.h: ditto.
12644
12645         * redisplay-tty.c (tty_output_display_block): remove layout references.
12646
12647         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12648         window handle rather than just the frame.
12649
12650         * glyphs.c (mark_image_instance): remove layout references.
12651         (print_image_instance): ditto.
12652         (image_instance_equal): ditto.
12653         (image_instance_hash): ditto.
12654         (decode_image_instance_type): ditto.
12655         (encode_image_instance_type): ditto.
12656         (image_instantiate): ditto.
12657         (allocate_glyph): ditto.
12658         (Fimage_instance_height): ditto.
12659         (Fimage_instance_width): ditto.
12660         (update_subwindow): ditto.
12661
12662         * redisplay-x.c (x_output_display_block): recode for layouts as
12663         widgets.
12664
12665         * redisplay-output.c (redisplay_output_layout): recode for layouts
12666         as widgets.
12667         (compare_runes): remove layout references.
12668
12669         * redisplay-msw.c (mswindows_output_display_block): recode for
12670         layouts as widgets.
12671
12672         * glyphs-widget.c (image_instantiator_layout): remove
12673         layout_possible_dest_types.
12674         (layout_possible_dest_types): deleted.
12675
12676         * glyphs.h (image_instance_type): remove layout references.
12677         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12678         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12679         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12680
12681 2000-04-25  Andy Piper  <andy@xemacs.org>
12682
12683         * glyphs-widget.c (image_instantiator_buttons):
12684         (image_instantiator_edit_fields):
12685         (image_instantiator_combo_box):
12686         (image_instantiator_scrollbar):
12687         (image_instantiator_progress_guage):
12688         (image_instantiator_tree_view):
12689         (image_instantiator_tab_control):
12690         (image_instantiator_labels):
12691         (image_instantiator_layout): call default post_instantiate method.
12692         (widget_post_instantiate): new function. Simply lays out the
12693         widgets.
12694
12695         * glyphs.h (struct image_instantiator_methods): add
12696         post_instantiate method.
12697
12698         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12699         method calls.
12700
12701 2000-04-23  Andy Piper  <andy@xemacs.org>
12702
12703         * glyphs.h (struct image_instantiator_methods): add
12704         decode_domain_method.
12705         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12706         derived from the domain.
12707         (IMAGE_INSTANCE_FRAME): new accessor.
12708         (XIMAGE_INSTANCE_FRAME): ditto.
12709
12710         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12711         instead of _SUBWINDOW_FRAME.
12712         (finalize_image_instance): ditto.
12713         (Fimage_instance_foreground): ditto.
12714         (Fimage_instance_background): ditto.
12715         (image_instantiate): ditto.
12716         (update_subwindow_cachel): ditto.
12717         (update_subwindow): ditto.
12718         (unmap_subwindow): ditto.
12719         (map_subwindow): ditto
12720         (subwindow_instantiate): ditto.
12721         * glyphs-msw.c (mswindows_update_widget): ditto.
12722         (mswindows_progress_gauge_instantiate): ditto.
12723         (mswindows_tab_control_update): ditto.
12724         * glyphs-x.c (x_update_widget): ditto.
12725         (x_widget_instantiate): ditto.
12726         (x_tab_control_instantiate): ditto.
12727         (x_tab_control_update): ditto.
12728         * event-msw.c (mswindows_wnd_proc): ditto
12729
12730         * glyphs-widget.c (image_instantiator_layout): use
12731         subwindow_decode_domain.
12732         (image_instantiator_buttons): ditto.
12733         (image_instantiator_edit_fields): ditto.
12734         (image_instantiator_combo_box): ditto.
12735         (image_instantiator_scrollbar): ditto.
12736         (image_instantiator_progress_guage): ditto.
12737         (image_instantiator_tree_view): ditto.
12738         (image_instantiator_tab_control): ditto.
12739         (image_instantiator_labels): ditto.
12740         (image_instantiator_layout): ditto.
12741
12742         * glyphs.c: add instance error checking to many functions.
12743         (instantiate_image_instantiator): decode device from cache_domain.
12744         (image_instantiate): partially rewrite by using
12745         decode_image_instantiator_domain to determine what domain the
12746         instance needs to be cached in.
12747         (decode_image_instantiator_domain): new function. Determine what
12748         domain the image needs to be cached in.
12749         (check_window_subwindow_cache): new error checking function.
12750         (check_instance_cache_mapper): ditto.
12751         (check_image_instance_structure): ditto.
12752         (subwindow_decode_domain): new function. Encodes a window as a
12753         subwindow's cache domain.
12754         (image_instantiator_format_create): use it for text and
12755         subwindows.
12756
12757 2000-04-21  Andy Piper  <andy@xemacs.org>
12758
12759         * glyphs.c (image_instance_device): new function.
12760         (image_instance_frame): new function.
12761         (image_instance_window): new function.
12762         (image_instance_live_p): new function.
12763
12764         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12765         cache to nil.
12766
12767         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12768         (IMAGE_INSTANCE_DOMAIN): new accessor.
12769         (XIMAGE_INSTANCE_DOMAIN): ditto.
12770
12771         * glyphs-x.c (x_finalize_image_instance): device->domain.
12772
12773         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12774         (mswindows_finalize_image_instance): ditto.
12775
12776         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12777         (gif_instantiate): ditto.
12778         (png_instantiate): ditto.
12779         (tiff_instantiate): ditto.
12780
12781         * glyphs.c (instantiate_image_instantiator): use domain rather
12782         than device.
12783         (mark_image_instance): device -> domain.
12784         (print_image_instance): ditto.
12785         (finalize_image_instance): ditto.
12786         (image_instance_equal): ditto.
12787         (allocate_image_instance): ditto.
12788         (Fcolorize_image_instance): ditto.
12789         (query_string_geometry): ditto.
12790         (image_instantiate): ditto
12791         (query_string_font): ditto.
12792         (image_instantiate): ditto.
12793         (update_subwindow): ditto.
12794         (unmap_subwindow): ditto.
12795         (map_subwindow): ditto.
12796         (subwindow_instantiate): ditto.
12797
12798         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12799         (DOMAIN_FRAME): ditto.
12800         (DOMAIN_WINDOW): ditto.
12801         (DOMAIN_LIVE_P): ditto.
12802         (XDOMAIN_DEVICE): ditto.
12803         (XDOMAIN_FRAME): ditto.
12804         (XDOMAIN_WINDOW): ditto.
12805
12806         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12807         a valid specifier domain.
12808
12809 2000-04-19  Andy Piper  <andy@xemacs.org>
12810
12811         * glyphs-widget.c (syms_of_glyphs_widget): remove
12812         widget-callback-current-channel.
12813         (vars_of_glyphs_widget): ditto.
12814         * glyphs.h: ditto
12815
12816         * gui.c (get_gui_callback): revert to previous behaviour.
12817
12818 2000-04-18  Andy Piper  <andy@xemacs.org>
12819
12820         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12821         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12822         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12823
12824         * glyphs.c (image_instance_equal): add margin_width.
12825         (image_instance_hash): ditto.
12826
12827         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12828         (layout_query_geometry): ditto.
12829         (layout_layout): ditto.
12830         (syms_of_glyphs_widget): add margin-width.
12831         (image_instantiator_layout): allow margin-width.
12832
12833         * glyphs.c (update_widget_instances): make a normal function.
12834         (syms_of_glyphs): remove Qupdate_widget_instances.
12835         * glyphs.h: ditto.
12836
12837         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12838         so that we don't corrupt ideas about the last event or
12839         command. Remove widget-callback-current-channel fiddling.
12840         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12841
12842 2000-05-01  Martin Buchholz <martin@xemacs.org>
12843
12844         * XEmacs 21.2.33 is released.
12845
12846 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12847
12848         * make-src-depend: Allow dots in header file name.
12849
12850 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12851
12852         * mule-charset.h (struct charset_lookup): Add
12853         next_allocated_1_byte_leading_byte and
12854         next_allocated_2_byte_leading_byte.
12855         * mule-charset.c: Move above two variables so that those values
12856         will be dumped.
12857
12858 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12859
12860         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12861         when string length is zero.
12862         (find_charsets_in_emchar_string): Ditto.
12863
12864 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12865
12866         * lisp.h: extern Qdialog and Qmenubar.
12867
12868         * gui-x.c: added events.h.
12869                 also fixed typo which made the file uncompilable.
12870
12871         * general.c: Added Qmenubar and Qdialog
12872
12873 2000-04-28  Ben Wing  <ben@xemacs.org>
12874
12875         * frame-msw.c (mswindows_init_frame_1):
12876         * frame-msw.c (mswindows_mark_frame):
12877         * event-msw.c (mswindows_enqueue_dispatch_event):
12878         * console-msw.h:
12879         * console-msw.h (struct mswindows_frame):
12880         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12881         there are now three hash tables for callbacks.
12882         mswindows_enqueue_dispatch_event is no longer static.
12883
12884         * dialog-x.c (maybe_run_dbox_text_callback):
12885         * dialog-x.c (dbox_descriptor_to_widget_value):
12886         switch to new cons3 form for callbacks.
12887
12888         * glyphs-msw.c (mswindows_register_gui_item):
12889         * glyphs-msw.c (mswindows_widget_instantiate):
12890         * glyphs-msw.c (add_tree_item):
12891         * glyphs-msw.c (add_tab_item):
12892         new image instance parameter, so it can be passed to callback-ex.
12893         respect :callback-ex as well as :callback.
12894
12895         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12896         add :callback-ex.
12897
12898         * glyphs.c (print_image_instance):
12899         prettify, e.g. now prints widget type.
12900
12901         * gui-x.h:
12902         certain funs have new image instance parameter.
12903
12904         * gui.c:
12905         * gui.c (get_gui_callback):
12906         * gui.c (gui_item_add_keyval_pair):
12907         * gui.c (gui_item_init):
12908         * gui.c (gui_add_item_keywords_to_plist):
12909         * gui.c (mark_gui_item):
12910         * gui.c (gui_item_hash):
12911         * gui.c (gui_item_equal):
12912         * gui.c (copy_gui_item):
12913         * gui.c (syms_of_gui):
12914         recognize callback-ex in a number of places.
12915         also, fix the annoying "can't get out of yes-no dialog" bug.
12916
12917         * gui.h:
12918         * gui.h (struct Lisp_Gui_Item):
12919         recognize callback-ex in a number of places.
12920
12921         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12922         new parameter in button_item_to_widget_value.
12923
12924         * glyphs-x.c (x_update_widget):
12925         * glyphs-x.c (x_button_instantiate):
12926         * glyphs-x.c (x_button_update):
12927         * glyphs-x.c (x_progress_gauge_instantiate):
12928         * glyphs-x.c (x_edit_field_instantiate):
12929         * glyphs-x.c (x_combo_box_instantiate):
12930         * glyphs-x.c (x_tab_control_instantiate):
12931         * glyphs-x.c (x_label_instantiate):
12932         new image instance parameter in various places.
12933
12934         * event-Xt.c:
12935         * event-Xt.c (enqueue_Xt_dispatch_event):
12936         this fun gets exported.
12937
12938         * gui-msw.c:
12939         * gui-msw.c (mswindows_handle_gui_wm_command):
12940         handle both :callback and :callback-ex, and generate our own
12941         event because it's one of the callback-ex arguments.
12942
12943         * gui-x.c:
12944         * gui-x.c (popup_selection_callback):
12945         handle both :callback and :callback-ex, and generate our own
12946         event because it's one of the callback-ex arguments.
12947         * gui-x.c (button_item_to_widget_value):
12948         * gui-x.c (gui_items_to_widget_values_1):
12949         * gui-x.c (gui_item_children_to_widget_values):
12950         * gui-x.c (gui_items_to_widget_values):
12951         new image instance parameter in various places.
12952
12953         * fns.c (Freplace_list):
12954         fix small typo in doc string.
12955
12956         * lisp.h:
12957         declare enqueue_Xt_dispatch_event.
12958
12959 2000-04-28  Ben Wing  <ben@xemacs.org>
12960
12961         * buffer.c:
12962         * buffer.c (Frecord_buffer):
12963         * buffer.c (syms_of_buffer):
12964         delete record-buffer-hook.
12965
12966         * fns.c:
12967         * fns.c (Freplace_list):
12968         * fns.c (syms_of_fns):
12969         new primitive replace-list.
12970
12971         * frameslots.h:
12972         slot for old buffer-alist.
12973
12974         * lisp.h:
12975         exfun replace-list.
12976
12977         * redisplay.c:
12978         * redisplay.c (redisplay_frame):
12979         * redisplay.c (syms_of_redisplay):
12980         * redisplay.c (vars_of_redisplay):
12981         new hook buffer-list-changed-hook.
12982         call it.
12983
12984 2000-04-27  Ben Wing  <ben@xemacs.org>
12985
12986         * extents.h: extern in_modeline_generation.
12987
12988         * redisplay.c (generate_formatted_string_db): set
12989         in_modeline_generation.
12990
12991         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12992         flags if in modeline generation.  otherwise frame-modified-tick
12993         is ticked far too often.
12994         Declare in_modeline_generation.
12995
12996 2000-04-26  Ben Wing  <ben@xemacs.org>
12997
12998         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12999         option.
13000         (vars_of_emacs): add quick-build as an error-checking option.
13001         A bit kludgy, but there doesn't seem much point in creating
13002         a real var for this.
13003
13004         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
13005
13006 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13007
13008         * redisplay.h (struct display_line): Add a new variable,
13009         line_continuation.
13010
13011         * redisplay.c (create_text_block): Set dl->line_continuation if
13012         the line continues.
13013         (create_string_text_block): Ditto.
13014         (regenerate_window_incrementally): Use line_continuation instead
13015         of searching continuation glyph.
13016         (add_margin_runes): Call add_glyph_rune.
13017         (add_glyph_rune): Handle margin glyph.
13018
13019 2000-04-20  Martin Buchholz  <martin@xemacs.org>
13020
13021         * filelock.c (fill_in_lock_file_name):
13022         ANSIfy.
13023         Check for IS_ANY_SEP instead of '/'.
13024         (lock_file_1):
13025         Avoid generating gratuitous garbage.  Call user_login_name() directly.
13026         Never check errno without first seeing that system call failed.
13027         (unlock_file): Add GCPRO.
13028         (Flock_buffer): Fix docstring.
13029         (Ffile_locked_p): Fix docstring.  Add GCPRO.
13030
13031 2000-04-19  Martin Buchholz  <martin@xemacs.org>
13032
13033         * sysdep.c (get_pty_max_bytes):
13034         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
13035         strings longer than 252 bytes.
13036
13037         * md5.c: Unconditionally include ANSI header <limits.h>
13038
13039         * glyphs-x.c (convert_EImage_to_XImage):
13040         * lisp-union.h (union Lisp_Object):
13041         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
13042
13043 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
13044
13045         * filelock.c (current_lock_owner): Remove unused variable o, p.
13046
13047 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
13048
13049         * callint.c: Remove multiply defined symbol Qlet
13050         (syms_of_callint): ditto.
13051
13052 2000-04-14  Andy Piper  <andy@xemacs.org>
13053
13054         * general.c (syms_of_general): add last-command, this-command, let
13055         and funcall.
13056
13057         * lisp.h: declare various symbols.
13058
13059         * glyphs.h: declare Qwidget_callback_current_channel;
13060
13061         * glyphs-widget.c (syms_of_glyphs_widget): add
13062         Qgui_callback_current_channel.
13063         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13064
13065         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13066         widget-callback-current-channel when invoking the interactive
13067         arg. Also bind last-command and next-command when invoking the
13068         widget updates.
13069         * gui-x.c (popup_selection_callback): ditto.
13070
13071         * gui.c (get_gui_callback): massage args so that we are always
13072         calling eval. This allows us to add our own variable bindings
13073         outside.
13074
13075         * glyphs-x.c (x_button_instantiate): use
13076         gui_items_to_widget_values since this is GC safe.
13077         (x_progress_gauge_instantiate): ditto.
13078         (x_edit_field_instantiate): ditto.
13079         (x_label_instantiate): ditto.
13080
13081         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13082         (emacs_Xt_event_widget_focus_out): new function
13083         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13084         focus.
13085         (emacs_Xt_event_add_widget_actions): new function. add focus
13086         functions as actions.
13087         (init_event_Xt_late): use it.
13088
13089 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13090
13091         * event-stream.c (Fdispatch_event): Doc fix.
13092
13093 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13094
13095         * postgresql.c: Remove all references to PQsetenv*.
13096
13097         * postgresql.h: Remove references to PGsetenvHandler object.
13098         * lrecord.h (lrecord_type): Ditto.
13099
13100 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13101
13102         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13103         real_heigh and real_width members, and accessor macros for these.
13104
13105         * glyphs-msw.c (init_image_instance_geometry): New function.
13106         (init_image_instance_from_dibitmap): Use it.
13107         (mswindows_resource_instantiate): Use it.
13108         (init_image_instance_from_xbm_inline): Use it.
13109         (mswindows_initialize_image_instance_mask): Use real bitmap
13110         geometry.
13111         (mswindows_create_resized_bitmap): Ditto.
13112         (mswindows_create_resized_mask): Ditto.
13113
13114         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13115         and bitmap to their surface size.
13116
13117 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13118
13119         * process-unix.c (unix_send_process): Guard against process MIA
13120         after Faccept_process_output.
13121
13122 2000-04-11  Ben Wing  <ben@xemacs.org>
13123
13124         * eval.c (unbind_to_hairy): fix brokenness introduced by
13125         nanosecond speed improvements.
13126
13127 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13128
13129         * sunplay.c (init_device): To play sounds correctly, the device
13130         apparently needs to be initialized at least once by XEmacs.  Make
13131         it so.
13132
13133 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13134
13135         * redisplay.c (add_margin_runes): Add text image glyph
13136           handling.
13137
13138 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13139
13140         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13141         gcc is newer than 2.5.
13142
13143 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13144
13145         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13146
13147         * fns.c (size_bit_vector):
13148         * alloc.c (size_vector):
13149         (make_vector_internal):
13150         (make_bit_vector_internal):
13151         (sweep_bit_vectors_1):
13152         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13153
13154 2000-04-06  Andy Piper  <andy@xemacs.org>
13155
13156         * gmalloc.c (malloc): undo previous change.
13157         (malloc): ditto.
13158         (free): ditto.
13159         (realloc): ditto.
13160
13161 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13162
13163         * line-number.c (buffer_line_number): Revert to former version.
13164
13165 2000-04-06  Andy Piper  <andy@xemacs.org>
13166
13167         * gmalloc.c (malloc): add error checking.
13168         (malloc): ditto.
13169         (free): ditto.
13170         (realloc): ditto.
13171
13172         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13173         button_item_to_widget_value arg.
13174
13175         * glyphs-x.c (x_button_instantiate): add extra
13176         button_item_to_widget_value arg.
13177         (x_progress_gauge_instantiate): ditto.
13178         (x_edit_field_instantiate): ditto.
13179         (x_label_instantiate): ditto.
13180
13181         * gui-x.c (gui_items_to_widget_values_1): add extra
13182         button_item_to_widget_value arg.
13183         (button_item_to_widget_value): add extra menu_item_p arg.
13184
13185         * gui-x.h: change signature of button_item_to_widget_value.
13186
13187         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13188         button_item_to_widget_value arg.
13189
13190 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13191
13192         * buffer.h (struct buffer): auto_save_modified should be long.
13193
13194 2000-04-05  Andy Piper  <andy@xemacs.org>
13195
13196         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13197         type.
13198         (button_query_geometry): give a little more room so that athena
13199         buttons fit.
13200
13201 2000-04-05  Andy Piper  <andy@xemacs.org>
13202
13203         * faces.c (complex_vars_of_faces): The widget face should inherit
13204         the font of the gui-element face.
13205
13206 2000-04-04  Andy Piper  <andy@xemacs.org>
13207
13208         * glyphs-x.c (x_button_update): new function. unconditionally
13209         update a button's state when the instance is dirty.
13210         (image_instantiator_format_create_glyphs_x): add x_button_update.
13211         (x_widget_instantiate): remove old resize cruft.
13212
13213 2000-04-02  Andy Piper  <andy@xemacs.org>
13214
13215         * frame.c (change_frame_size_1): The introduction of gutters means
13216         that we need to allow 0 as a potential frame dimension.
13217
13218 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13219
13220         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13221         image glyph if allow_cursor.
13222         (add_hscroll_rune): Don't allow cursor to border glyph.
13223         (create_text_block): Ditto.
13224
13225         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13226         text not in buffer.
13227         (redisplay_output_layout): Call ensure_face_cachel_complete for
13228         text image glyph.
13229
13230
13231 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13232
13233         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13234
13235         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13236         not in buffer
13237
13238         * redisplay-tty.c (tty_output_display_block): Delete the routine
13239         for text image glyph
13240         * redisplay-x.c (x_output_display_block): ditto
13241         * redisplay-msw.c (mswindows_output_display_block): ditto
13242
13243 2000-02-02  Mike Alexander  <mta@arbortext.com>
13244
13245         Note: Some of these were committed by accident as part of other
13246         patches.
13247
13248         * regex.c (regex_compile): Avoid compiler warnings.
13249
13250         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13251
13252         * nt.h: Declare term_ntproc correctly.
13253
13254         * nt.c: Remove incorrect declaration of get_home_directory which
13255         is declared correctly in lisp.h.
13256
13257         * keymap.c (get_keyelt): Avoid compiler warnings.
13258         (raw_lookup_key_mapper): Avoid compiler warnings.
13259
13260         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13261
13262         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13263
13264         * filemode.c (mode_string): Avoid compiler warnings.
13265
13266         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13267         avoid warning.
13268
13269         * events-mod.h: Undef some things that winuser.h defines differently.
13270
13271         * data.c (Faset): Avoid compiler warnings.
13272
13273         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13274
13275 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13276
13277         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13278         Fall through to simple beep on error.
13279         Replace "extern" by real header file.
13280
13281         * linuxplay.c: Use nativesound.h
13282         (play_sound_data): Return error code. Be less verbose on error.
13283
13284         * sunplay.c: Use nativesound.h
13285         (play_sound_data): Return error code. Be less verbose on error.
13286
13287         * ntplay.c: Use nativesound.h
13288         (play_sound_data): Return fake error code
13289
13290         * sgiplay.c: Use nativesound.h
13291         (play_sound_data): Return error code
13292
13293         * hpplay.c: Use nativesound.h, partially implement
13294         new error code. Break compilation until finished.
13295         (play_sound_data): error code.
13296
13297         * nativesound.h (play_sound_file):
13298           (play_sound_data): Prototype in new header.
13299
13300 2000-03-31  Andy Piper  <andy@xemacs.org>
13301
13302         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13303         for toggle and radio buttons.
13304         (image_instantiator_buttons): use it.
13305
13306 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13307
13308         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13309         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13310         found. Scrollbar event probably belonged to some old config.
13311
13312 2000-03-31  Andy Piper  <andy@xemacs.org>
13313
13314         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13315         than 1.
13316         (initialize_widget_image_instance): default layout to
13317         LAYOUT_HORIZONTAL rather than 0.
13318         (widget_instantiate): reverse the item list at the end rather than
13319         every iteration.
13320         (layout_layout): re-code for the border text at the front of the
13321         item list rather than at the end.
13322         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13323         provided by the user.
13324         (widget_query_geometry): comment.
13325
13326 2000-03-30  Andy Piper  <andy@xemacs.org>
13327
13328         * glyphs-widget.c (image_instantiator_layout): allow standard
13329         widget keywords in layouts.
13330
13331         * gutter.c (output_gutter): cope with nil gutter contents.
13332
13333         * frame.c (Fset_frame_properties): add gutter docs.
13334
13335 2000-03-29  Andy Piper  <andy@xemacs.org>
13336
13337         * toolbar-msw.c (TBSTYLE_FLAT): add.
13338         (mswindows_output_toolbar): minor fiddling.
13339
13340 2000-03-29  Andy Piper  <andy@xemacs.org>
13341
13342         * gutter.c (output_gutter): force gutter size recalculation if
13343         what we are trying to display won't fit.
13344         (update_gutter_geometry): new function. A per-gutter version of
13345         update_frame_gutter_geometry.
13346         (update_frame_gutter_geometry): use it.
13347         (redraw_exposed_gutter): add extra debugging output.
13348
13349 2000-03-28  Mike Alexander  <mta@arbortext.com>
13350
13351         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13352         (pdump_file_unmap): Implement it on Windows
13353         (pdump_file_get): Save alocated handles for pdump_file_unmap
13354
13355 2000-03-28  Andy Piper  <andy@xemacs.org>
13356
13357         * gui.c (get_gui_callback): treat Quit specially.
13358
13359 2000-03-27  Andy Piper  <andy@xemacs.org>
13360
13361         * glyphs.c (image_instantiate): be careful to check in the same
13362         way we assigned.
13363
13364 2000-03-27  Didier Verna  <didier@xemacs.org>
13365
13366         * config.h.in: define the proper SMART_INCLUDE macro.
13367         handle renaming of `foo_h_path' to `foo_h_file'.
13368
13369         * database.c: ditto.
13370
13371         * emacs.c: ditto.
13372
13373         * linuxplay.c: ditto.
13374
13375         * terminfo.c: ditto.
13376
13377         * tooltalk.h: ditto.
13378
13379 2000-03-27  Andy Piper  <andy@xemacs.org>
13380
13381         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13382         gets updated whenever the face might have changed.
13383
13384 2000-03-26  Mike Alexander  <mta@arbortext.com>
13385
13386         * dumper.c (pdump_resource_free): Fix the comment.
13387
13388 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13389
13390         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13391
13392 2000-03-22  Mike Alexander  <mta@arbortext.com>
13393
13394         * dumper.c: Include Windows headers on Windows
13395         (pdump_resource_free): Add a body to the function
13396         (pdump_load): exe_name -> exe_path and add some comments.
13397
13398 2000-03-25  Mike Alexander  <mta@arbortext.com>
13399
13400         * gui.c (copy_gui_item_tree): Return a value in all cases
13401
13402 2000-03-21  Didier Verna  <didier@xemacs.org>
13403
13404         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13405         lwlib/config.h.in.
13406         (SMART_INCLUDE): new macro.
13407         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13408         the proper location.
13409
13410         * postgresql.c: use it.
13411
13412         * inline.c: ditto.
13413
13414 2000-03-24  Andy Piper  <andy@xemacs.org>
13415
13416         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13417         do this.
13418
13419 2000-03-24  Andy Piper  <andy@xemacs.org>
13420
13421         * redisplay-output.c (compare_runes): use image_instance_changed
13422         to detect changes. Do not depend on glyphs_changed, only depend on
13423         dirtiness.
13424          (redisplay_output_layout): add debug messages.
13425         (compare_runes): ditto.
13426
13427         * glyphs.h: declare new functions.
13428         (struct Lisp_Image_Instance): remove percent and associated
13429         accessors.
13430
13431         * gui.h: declare new copying functions.
13432
13433         * gui.c (copy_gui_item_tree): new function.
13434         (copy_gui_item): new function.
13435         (gui_item_id_hash): revert to standard hash.
13436         (gui_item_hash): ditto.
13437         (gui_item_hash_internal): deleted.
13438         (mark_gui_item): mark value.
13439         (gui_item_add_keyval_pair): add value.
13440         (gui_item_init): ditto.
13441         (gui_add_item_keywords_to_plist): ditto.
13442         (gui_item_equal): ditto.
13443         (syms_of_gui): add Q_value.
13444
13445         * glyphs-x.c (x_progress_gauge_update): use pending items and
13446         value for setting the state.
13447         (x_update_widget): don't set items from pending here.
13448
13449         * glyphs-widget.c (update_widget): update items here.
13450         (progress_gauge_set_property): use items for storing value. Put
13451         new value in pending items.
13452
13453         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13454         items for new value. Convert percent -> value.
13455         (mswindows_tab_control_update): don't update items here.
13456
13457         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13458         (update_subwindow): ditto.
13459         (image_instance_changed): new function. Compare hash values and
13460         past and present widget items.
13461         (image_instantiate): We more careful about where we instantiate
13462         things.
13463         (image_instantiate): add error checking.
13464
13465         * gutter.c (syms_of_gutter): use -hook.
13466
13467 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13468
13469         * console-tty.c (Fset_console_tty_input_coding_system): Use
13470         Qkeyboard.
13471         (Fset_console_tty_output_coding_system): Use Qterminal.
13472         (tty_init_console): Use Qkeyboard and Qterminal.
13473
13474 2000-03-21  Ben Wing  <ben@xemacs.org>
13475
13476         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13477         From Mike Alexander <mta@arbortext.com>.
13478
13479 2000-03-21  Ben Wing  <ben@xemacs.org>
13480
13481         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13482         process brokenness.  Proper implementation to come.
13483         * callproc.c:
13484         Rename call-process-internal to old-call-process-internal.
13485         New impl. in process.el.
13486
13487 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13488
13489         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13490
13491 2000-03-20  Andy Piper  <andy@xemacs.org>
13492
13493         * glyphs.c (full_list_hash): make hashes of the same elements in
13494         different orders return different values.
13495
13496 2000-03-20  Martin Buchholz <martin@xemacs.org>
13497
13498         * XEmacs 21.2.32 is released.
13499
13500 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13501
13502         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13503         (DFC_MALLOC_USE_CONVERTED_DATA):
13504         Add aliasing-safe casts to allow use with char* or unsigned char*
13505         lvalues.
13506
13507         * eldap.c (Fldap_open):
13508         (Fldap_search_basic):
13509         (Fldap_add):
13510         (Fldap_modify):
13511         Make C++-compilable.
13512         Make sure GCPRO'ed variables are initialized.
13513         Use temp variables to avoid repeated calls to Flength.
13514
13515 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13516
13517         * sysfile.h:
13518         Make sure PATH_MAX is always defined.
13519         Include limits.h for PATH_MAX.
13520         Deprecate use of MAXPATHLEN.
13521
13522 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13523
13524         * emacs.c: Add reinit_vars_of_fileio.
13525         * symsinit.h: Add reinit_vars_of_fileio.
13526         * fileio.c (reinit_vars_of_fileio): New.
13527         * fileio.c (Fmake_temp_name):
13528         Initialize temp_name random number from microseconds to make
13529         collisions even less likely.  Initialize always at process startup
13530         time.  (make-temp-name) used to return the same file name twice in
13531         a row when PDUMP.
13532         Random stylistic fiddling.
13533         Comment fixes.
13534
13535 2000-03-20  Andy Piper  <andy@xemacs.org>
13536
13537         * glyphs.c (image_instantiate): allow text glyphs to be
13538         instantiated in the minibuffer window.
13539
13540 2000-03-19  Andy Piper  <andy@xemacs.org>
13541
13542         * glyphs.c (image_instance_hash): be careful about which items we
13543         hash on.
13544
13545         * glyphs-widget.c (tab_control_set_property): record into pending
13546         items rather than the actual items.
13547
13548         * glyphs-x.c (x_update_widget): use pending items to update with.
13549
13550         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13551         to update with.
13552
13553         * glyphs.c (mark_image_instance): mark pending items.
13554
13555         * window.c (Fset_window_configuration): record the buffer.
13556         (Fselect_window): totally revert previous change which breaks many
13557         things.
13558
13559 2000-03-18  Andy Piper  <andy@xemacs.org>
13560
13561         * glyphs-msw.c (mswindows_tab_control_update): force selected
13562         item.
13563
13564         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13565         window domain cache, otherwise we get inconsistencies at
13566         startup. There is something fishy at startup which can lead to the
13567         minibuffer being the selected window when the gutter content is
13568         instantiated.
13569
13570         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13571         gcpros.
13572         (parse_gui_item_tree_children): ditto.
13573         (parse_gui_item_tree_item): ditto.
13574
13575         * glyphs.c (Fupdate_widget_instances): return something.
13576
13577 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13578
13579         * window.c (Fselect_window): Undo 2000-03-17 change.
13580
13581 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13582
13583         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13584         against v7.0 libraries.  Insta-coredump city until the postgres
13585         folks fix it.
13586
13587 2000-03-17  Andy Piper  <andy@xemacs.org>
13588
13589         * faces.c (complex_vars_of_faces): don't give the widget face an
13590         inherited background pixmap.
13591
13592         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13593         selected item.
13594
13595         * event-stream.c (Fdispatch_non_command_events): return something.
13596
13597         * gutter.c (output_gutter): use widget face.
13598         (clear_gutter): ditto.
13599
13600         * NEWS: adjust again.
13601
13602         * window.c (Fselect_window): make sure this runs to completion to
13603         avoid oddities with Fset_window_configuration.
13604         (Fcurrent_window_configuration): in general do not save the
13605         minibuffer as the selected window.
13606
13607         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13608
13609 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13610
13611         * emacs.c (Frunning_temacs_p): Revert previous patch.
13612         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13613
13614 2000-03-16  Andy Piper  <andy@xemacs.org>
13615
13616         * glyphs-x.c (x_tab_control_update): if no widget values then
13617         return.
13618
13619         * NEWS: update for new features.
13620
13621         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13622         synthetic event to the native system.
13623         (reinit_vars_of_event_Xt): set force_event_pending to
13624         emacs_Xt_force_event_pending.
13625
13626         * events.h (struct event_stream): add force_event_pending.
13627
13628         * specifier.c (recompute_one_cached_specifier_in_window): add
13629         comment.
13630
13631         * redisplay.c (redisplay_frame): don't call
13632         update_frame_subwindows. Reset subwindow cachels when
13633         subwindows_changed, removing this was an optimization too far.
13634
13635         * redisplay-output.c (compare_runes): reorganize so that we catch
13636         glyph changes when we want them. Set optimize_output when this
13637         would help layouts.
13638         (redisplay_output_layout): remove frame_really_changed, use
13639         optimize_output instead.
13640
13641         * redisplay-msw.c (mswindows_output_display_block): reset
13642         optimize_output after outputting a glyph.
13643         * redisplay-x.c (x_output_display_block): ditto.
13644         * redisplay-tty.c (tty_output_display_block): ditto.
13645
13646         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13647         functions.
13648         (gutter_specs_changed): do specific gutter positions.
13649         (top_gutter_specs_changed): new function. Only update the
13650         specified gutter specs.
13651         (bottom_gutter_specs_changed): ditto.
13652         (left_gutter_specs_changed): ditto.
13653         (right_gutter_specs_changed): ditto.
13654
13655         * gui.c (gui_item_hash_internal): new function, does a real hash.
13656         (gui_item_id_hash): use it.
13657         (gui_item_hash): hash the eval'ed gui_item.
13658
13659         * gui-x.c (popup_selection_callback): send an eval event to call
13660         Fupdate_widget_instances.
13661
13662         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13663         to call Fupdate_widget_instances.
13664
13665         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13666         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13667
13668         * glyphs.c: (update_frame_subwindows): deleted.
13669         (Fupdate_widget_instances): new function for updating the dirty
13670         state of widgets that might have changed.
13671         (syms_of_glyphs): add Qupdate_widget_instances.
13672         (full_list_hash): hash a list completely.
13673         (image_instance_hash): use it for items and properties.
13674
13675         * frame-msw.c (mswindows_size_frame_internal): remove unused
13676         variable.
13677
13678         * faces.h (struct face_cachel): fix comment.
13679
13680         * event-stream.c (Fdispatch_non_command_events): new
13681         function. Process non-command events, forcing an event cycle
13682         beforehand.
13683         (syms_of_event_stream): declare.
13684         (event_stream_force_event_pending): new function. Force an event
13685         on the native event queue so that an event cycle will occur next
13686         time we check.
13687
13688         * event-msw.c:
13689         (struct ntpipe_shove_stream):
13690         (mswindows_enqueue_dispatch_event):
13691         (mswindows_dequeue_dispatch_event):
13692         (mswindows_cancel_dispatch_event):
13693         (mswindows_pump_outstanding_events):
13694         (mswindows_drain_windows_queue):
13695         (mswindows_handle_paint):
13696         (mswindows_wnd_proc):
13697         (mswindows_key_to_emacs_keysym):
13698         (get_process_input_waitable):
13699         (emacs_mswindows_delete_stream_pair): re-indent file.
13700         (mswindows_need_event): do not process further fds if the windows
13701         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13702         fixes the 100% cpu problem.
13703         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13704
13705 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13706
13707         * alloc.h: New.
13708         * dumper.h: New.
13709         * dumper.c: New.
13710
13711         * emacs.c: Moved dump file searching to dumper.c.
13712         (Frunning_temacs_p): Fixed.
13713
13714         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13715         last_lrecord_type_index_assigned.
13716
13717 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13718
13719         * symsinit.h: Added reinit parameter to init_console_stream
13720         declaration.
13721
13722         * lisp.h: Added file parameter to pdump_load declaration.
13723
13724         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13725         support.  Added dump file searching.
13726
13727         * config.h.in: Added EMACS_PROGNAME.
13728
13729         * console-stream.c (init_console_stream): Fix reinitialisation
13730         when running from temacs.
13731
13732         * alloc.c (pdump): Add id support.
13733         (pdump_load): Add file parameter and signature/id support.
13734
13735         * Makefile.in.in: Add full pdump support.
13736
13737 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13738
13739         * postgresql.c: Update documentation to reflect latest code
13740         status.
13741         (print_result): Show tuple counts in printed representation when
13742         appropriate.
13743         (Fpq_put_nbytes): MULE-ize.
13744         (Fpq_get_line_async): Ditto.
13745
13746 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13747
13748         * postgresql.c (Fpq_lo_import): Fix return value.
13749         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13750
13751 2000-03-13  Ben Wing  <ben@xemacs.org>
13752
13753         * alloc.c (pdump_load):
13754         Fix compile warning under mswin.
13755
13756 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13757
13758         * postgresql.c: Mule-ization, bug fixes.
13759         Use PG_CODING to encapsulate coding system name changes.
13760         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13761         (pg-coding-system): Create.
13762
13763         (Fpq_conn_defaults): Mule-ize.
13764         (Fpq_connectdb): Mule-ize & bug fix.
13765         (Fpq_connect_start): Mule-ize.
13766         (Fpq_set_client_encoding): Mule-ize.
13767         (Fpq_finish): Document `DEAD' connection status.
13768         (Fpq_clear): Ditto.
13769         (Fpq_pgconn): Mule-ize.
13770         (Fpq_exec): Mule-ize & bug fix.
13771         (Fpq_send_query): Ditto.
13772         (Fpq_get_result): Ditto.
13773         (Fpq_res_status): Mule-ize.
13774         (Fpq_result_error_message): Mule-ize.
13775         (Fpq_ntuples): fix comments.
13776         (Fpq_fname): Mule-ize.
13777         (Fpq_fnumber): Mule-ize.
13778         (Fpq_ftype): fix comments.
13779         (Fpq_get_value): Mule-ize.
13780         (Fpq_cmd_status): Ditto.
13781         (Fpq_cmd_tuples): Ditto.
13782         (Fpq_oid_value): Ditto.
13783         (Fpq_notifies): Ditto.
13784         (Fpq_lo_import): Ditto.
13785         (Fpq_lo_export): Ditto.
13786         (Fpq_get_line): Ditto.
13787         (Fpq_put_line): Mule-ize and bug fix.
13788         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13789
13790 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13791
13792         * postgresql.c (vars_of_postgresql): Mule-ize.
13793         (Fpq_conn_defaults): Ditto.
13794
13795 2000-03-12  Ben Wing  <ben@xemacs.org>
13796
13797         * alloc.c (Fmake_byte_code):
13798         * alloc.c (debug_string_purity_print):
13799         * alloc.c (pdump_backtrace):
13800         * alloc.c (pdump_get_indirect_count):
13801         * alloc.c (pdump_register_sub):
13802         * alloc.c (pdump_register_object):
13803         * alloc.c (pdump_register_struct):
13804         * alloc.c (pdump_dump_data):
13805         * alloc.c (pdump_reloc_one):
13806         Minor cleanups.
13807
13808         * console-msw.c:
13809         * console-msw.c (GetConsoleHwnd):
13810         * console-msw.c (msw_hide_console):
13811         * console-msw.c (msw_show_console):
13812         * console-msw.c (msw_ensure_console_buffered):
13813         * console-msw.c (msw_output_console_string):
13814         * console-msw.c (console_type_create_mswindows):
13815
13816         a) Added functions to manipulate the console window for use with
13817         shell support.
13818
13819         b) Added support for writing text to the console, which is now
13820         used under Windows when xemacs is not being run non-interactively,
13821         to write text that would otherwise be destined for stdout because
13822         under these circumstances, text written to stdout tends to
13823         disappear and not be seen.
13824
13825         * console-msw.h:
13826         * event-Xt.c:
13827         * event-Xt.c (x_event_to_emacs_event):
13828         * event-Xt.c (describe_event_window):
13829         * events-mod.h (XEMACS_MOD_CONTROL):
13830         * events.c:
13831         * events.c (Fmake_event):
13832         * events.c (character_to_event):
13833         * events.c (event_to_character):
13834         * events.c (format_event_object):
13835         * events.c (Fevent_modifiers):
13836         * events.h:
13837         * events.h (struct key_data):
13838         * events.h (struct button_data):
13839         * events.h (struct misc_user_data):
13840         * frame-x.c (Fcde_start_drag_internal):
13841         * frame-x.c (Foffix_start_drag_internal):
13842         * gpmevent.c (Freceive_gpm_event):
13843         * keymap.c:
13844         * keymap.c (bucky_sym_to_bucky_bit):
13845         * keymap.c (control_meta_superify):
13846         * keymap.c (make_key_description):
13847         * keymap.c (keymap_lookup_directly):
13848         * keymap.c (create_bucky_submap):
13849         * keymap.c (keymap_store):
13850         * keymap.c (define_key_check_and_coerce_keysym):
13851         * keymap.c (define_key_parser):
13852         * keymap.c (define_key_alternate_name):
13853         * keymap.c (Fdefine_key):
13854         * keymap.c (raw_lookup_key_mapper):
13855         * keymap.c (struct map_keymap_unsorted_closure):
13856         * keymap.c (map_keymap_unsorted_mapper):
13857         * keymap.c (map_keymap_sort_predicate):
13858         * keymap.c (map_keymap_sorted):
13859         * keymap.c (accessible_keymaps_mapper_1):
13860         * keymap.c (where_is_recursive_mapper):
13861         * keymap.c (describe_map_mapper):
13862         * keymap.c (describe_map_sort_predicate):
13863         * keymap.c (describe_map):
13864         * keymap.c (complex_vars_of_keymap):
13865         And a number of other files, the key modifier preprocessor
13866         constants that xemacs uses have names that conflict with constants
13867         defined under MS Windows for other purposes, so they were renamed
13868         to begin with the prefix XEMACS_. The variables that hold such
13869         modifiers were changed to consistently be of type int to fix
13870         various compile warnings.
13871
13872         * console.c (complex_vars_of_console):
13873         * device.c:
13874         * device-msw.c:
13875         * device-msw.c (mswindows_finish_init_device):
13876         * device-msw.c (msw_get_workspace_coords):
13877         * device-msw.c (mswindows_device_system_metrics):
13878         and various other files, added support for a new
13879         device property called offset-workspace which returns the position
13880         of the upper left corner of the workspace area and goes along with
13881         the existing size-workspace property.
13882
13883         * dialog-msw.c:
13884         * dialog-msw.c (push_bufbyte_string_as_unicode):
13885         * dialog-msw.c (mswindows_popup_dialog_box):
13886         Added support for XEmacs-style accelerator specifications in
13887         button text.  Note: I didn't add support for this under X Windows,
13888         and somebody needs to do this.
13889
13890         * dialog.c:
13891         * dialog.c (Fpopup_dialog_box):
13892         Documented the support for accelerators that was just mentioned.
13893
13894         editfns.c (get_home_directory): Changed behavior under Windows
13895         when HOME not defined; former behavior was irretrievably broken.
13896
13897         * emacs.c:
13898         * emacs.c (main_1):
13899         * emacs.c (main):
13900         * minibuf.c (clear_echo_area_internal):
13901         * minibuf.c (echo_area_append):
13902         * print.c:
13903         * print.c (std_handle_out_external):
13904         * print.c (std_handle_out_va):
13905         * print.c (fatal):
13906         * print.c (write_string_to_stdio_stream):
13907         * print.c (output_string):
13908         * print.c (debug_print):
13909         * print.c (debug_backtrace):
13910         * print.c (debug_short_backtrace):
13911         Cleaned up the code that prints text to stdout so that this can be
13912         changed to output into a console window instead under MS Windows,
13913         as described above.
13914
13915         * eval.c:
13916         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13917         * eval.c (internal_catch):
13918         * eval.c (unwind_to_catch):
13919         * eval.c (throw_or_bomb_out):
13920         * eval.c (condition_case_1):
13921         * eval.c (signal_1):
13922         * eval.c (check_error_state_sanity):
13923         * eval.c (call_with_suspended_errors_1):
13924         * eval.c (call_with_suspended_errors):
13925         * eval.c (reinit_vars_of_eval):
13926         Added code to catch throw loops and check for a pesky bug that may
13927         be gone now.
13928
13929         * event-msw.c:
13930         * event-msw.c (key_needs_default_processing_p):
13931         * event-msw.c (mswindows_wnd_proc):
13932         * event-msw.c (mswindows_modifier_state):
13933         * event-msw.c (emacs_mswindows_quit_p):
13934         * event-msw.c (vars_of_event_mswindows):
13935         a) Added support for using the alt key to select menu items as is
13936         standard under MS Windows.  This is controlled using the variable
13937         menu-accelerator-enabled, just like under X Windows.  There is an
13938         option on the options menu to turn this support on.  I really
13939         think that it should be on by default under Windows, but I'm not
13940         going to make this change yet.
13941
13942         b)  Added support for dynamic display size changes under Windows.
13943
13944         * event-stream.c:
13945         * event-stream.c (maybe_echo_keys):
13946         * event-stream.c (Fnext_event):
13947         * event-stream.c (command_builder_find_leaf):
13948         * event-stream.c (lookup_command_event):
13949         * event-stream.c (execute_command_event):
13950         * event-stream.c (pre_command_hook):
13951         * event-stream.c (post_command_hook):
13952         * event-stream.c (syms_of_event_stream):
13953         * event-stream.c (vars_of_event_stream):
13954         * event-stream.c (complex_vars_of_event_stream):
13955         * events.h (struct command_builder):
13956
13957         a) Tried to clean up a little bit the horribly written x-specific
13958         accelerator code that crept into this file.  I moved this code
13959         into menubar-x.c where it belongs. I also needed to move the
13960         command builder structure into the file events.h because it is
13961         accessed directly by this accelerator code.  What I didn't do, but
13962         which should be done at some point, is to properly abstract this
13963         code using device methods instead of the kludgy way that it
13964         currently hooks into the event code.
13965
13966         b) Added the lisp variables this-command-properties and
13967         last-command- properties, which should be used to synchronize two
13968         adjacent commands in preference to playing games with the variable
13969         this-command, which is typically what happens.
13970
13971         c) Added some slightly nasty code to hook into the lisp support
13972         for shifted- motion-key selection.  This is actually necessary for
13973         somewhat complicated reasons, which are described in
13974         simple.el. (NB: I think the proper thing would be to have the code
13975         that calls the pre and post command hooks also call out to generic
13976         lisp functions in simple.el, where all built-in stuff could be
13977         added.  I will think about this more.)
13978
13979         * event-unixoid.c (poll_fds_for_input):
13980         * lread.c (readchar):
13981         * redisplay-tty.c (tty_clear_frame):
13982         * redisplay-x.c (x_get_gc):
13983         * signal.c (interrupt_signal):
13984         And a whole bunch of other files: fixed up places that printed
13985         directly to stderr to instead call the function stderr_out so that
13986         the changes I made under Windows work correctly.
13987
13988         * filemode.c (mode_string):
13989         Warning fixes.
13990
13991         * frame-msw.c:
13992         * frame-msw.c (mswindows_size_frame_internal):
13993         Fixed the computation of frame size and position to keep the frame
13994         within the workspace area, rather than within the physical
13995         dimensions of the screen, so that the frame doesn't overlap window
13996         manager decorations, such as the start menu and toolbar, typically
13997         at the bottom of the screen.
13998
13999         * frame.c (vars_of_frame):
14000         Changed the default frame title format under MS Windows to consist
14001         of buffername-XEmacs, which is standard under MS Windows.  I think
14002         it might be a good idea to change this everywhere because I think
14003         it is superior to the current frame title format, but this is the
14004         kind of change that is likely to cause some people to get annoyed,
14005         so I'm not making it.
14006
14007         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
14008
14009         * gui-msw.c (mswindows_handle_gui_wm_command):
14010         Fixed compile warnings.
14011
14012         * gui-x.c:
14013         * gui-x.c (strdup_and_add_accel):
14014         * gui-x.c (button_item_to_widget_value):
14015         * gui-x.h:
14016         Added code to automatically put an accelerator onto the beginning
14017         of menu items that don't have one as is now the standard, and is
14018         described more later.  Also fixed things so that the menu item
14019         name can be an evaluated expression, again a new standard.
14020
14021         * gui.c:
14022         * gui.c (gui_item_add_keyval_pair):
14023         * gui.c (make_gui_item_from_keywords_internal):
14024         * gui.c (gui_add_item_keywords_to_plist):
14025         * gui.c (gui_item_accelerator):
14026         * gui.c (gui_name_accelerator):
14027         * gui.c (gui_item_included_p):
14028         * gui.c (gui_item_display_flush_left):
14029         * gui.c (gui_item_display_flush_right):
14030         * gui.c (parse_gui_item_tree_item):
14031         * gui.c (parse_gui_item_tree_children):
14032         * gui.c (parse_gui_item_tree_list):
14033         Mule-ized.  Cleanup.  GCPRO addition.
14034
14035         * line-number.c (buffer_line_number):
14036         * lisp.h:
14037         * lisp.h (EMACS_INT_MAX):
14038         Added the manifest constant EMACS_INT_MIN corresponding to the
14039         existing constant EMACS_INT_MAX.  This is partially to fix compile
14040         warnings under Windows, and partly for cleanliness.
14041
14042         * menubar-msw.c:
14043         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
14044         * menubar-msw.c (msw_translate_menu_or_dialog_item):
14045         * menubar-msw.c (displayable_menu_item):
14046         * menubar-msw.c (populate_menu_add_item):
14047         * menubar-msw.c (populate_or_checksum_helper):
14048         * menubar-msw.c (populate_menu):
14049         * menubar-msw.c (update_frame_menubar_maybe):
14050         * menubar-msw.c (prune_menubar):
14051         * menubar-msw.c (msw_char_is_accelerator):
14052         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
14053         * menubar-msw.c (mswindows_handle_wm_command):
14054         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
14055         * menubar-msw.c (mswindows_handle_wm_initmenu):
14056         * menubar-msw.c (mswindows_update_frame_menubars):
14057         * menubar-msw.c (mswindows_free_frame_menubars):
14058         * menubar-msw.c (mswindows_popup_menu):
14059         Fixed a bug in handling accelerators where an extra character
14060         would be displayed in the menu item.  Also generalized the
14061         function displayable_menu_item because it is now used by the
14062         dialog box code as well.  And finally, added code in the functions
14063         that create the menubar to extract a list of accelerators for the
14064         top level menubar, which is used in the event code to determine
14065         whether a particular alt-key combination should be used to invoke
14066         a menu item, or should be passed through to access the standard
14067         XEmacs keymap binding for this key combination.
14068
14069         Much needed GCPROing.
14070
14071         * menubar-x.c:
14072         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14073         * menubar-x.c (menu_item_descriptor_to_widget_value):
14074         * menubar-x.c (restore_in_menu_callback):
14075         * menubar-x.c (x_popup_menu):
14076         * menubar-x.c (menu_move_up):
14077         * menubar-x.c (menu_move_down):
14078         * menubar-x.c (menu_move_left):
14079         * menubar-x.c (menu_move_right):
14080         * menubar-x.c (menu_select_item):
14081         * menubar-x.c (command_builder_operate_menu_accelerator):
14082         * menubar-x.c (menu_accelerator_junk_on_error):
14083         * menubar-x.c (command_builder_find_menu_accelerator):
14084         * menubar-x.c (Faccelerate_menu):
14085         * menubar.h:
14086         Moved a whole bunch of code here that was previously in
14087         event-stream.c as described above.  There is also code connected
14088         to the new standard of adding an accelerator to the beginning of
14089         menu items that don't have one as described above and below.
14090
14091         * menubar.c:
14092         * menubar.c (menu_parse_submenu_keywords):
14093         * menubar.c (Fmenu_find_real_submenu):
14094         * menubar.c (Fnormalize_menu_item_name):
14095         * menubar.c (syms_of_menubar):
14096         * menubar.c (vars_of_menubar):
14097         * menubar.c (complex_vars_of_menubar):
14098
14099         a) Cleaned up a bunch of documentation and improved it.
14100
14101         b) XEmacs now automatically adds an accelerator onto the beginning
14102         of any menu items that don't have one.  I did this because there
14103         will inevitably be some menu items on the main menubar that don't
14104         have accelerators on them because the package that adds that
14105         particular menu item hasn't yet been fixed up to have accelerators
14106         in them and it looked rather strange to have some items with and
14107         some items without accelerators, especially since even in items
14108         without accelerators, you can, at least under windows, still
14109         access the item through an accelerator corresponding to the first
14110         character in the item's name.  If people don't like this behavior,
14111         I can add a variable to turn it off optionally, but I'm not sure
14112         this is a good idea because we really do need to have accelerators
14113         on all of the menu items, and if a package doesn't like the
14114         accelerators being put on the first character, then it should put
14115         the accelerators where they belong.
14116
14117         c) I made a behavior change, which is that the descriptor that
14118         specifies the text of the menu item, which formerly was just a
14119         string, can now also be an evaluated expression.  This makes this
14120         descriptor parallel with all of the others, which could also be
14121         evaluated expressions.  This also obviates the need for the
14122         keyword :label, which was previously listed in the documentation
14123         as unimplemented, and which was for the same purpose.
14124
14125         d) GCPROing.
14126
14127         * ntproc.c:
14128         * ntproc.c (new_child):
14129         * ntproc.c (sys_spawnve):
14130         * ntproc.c (find_child_console):
14131         * ntproc.c (sys_kill):
14132         Fixed compile warnings.  By the way, this file should really go
14133         away entirely, and this will happen as soon as Kirill makes his
14134         final round of process cleanups, which affect the function
14135         call-process.
14136
14137         * process-nt.c:
14138         * process-nt.c (struct nt_process_data):
14139         * process-nt.c (find_process_from_pid):
14140         * process-nt.c (send_signal_the_nt_way):
14141         * process-nt.c (enable_child_signals):
14142         * process-nt.c (find_child_console):
14143         * process-nt.c (send_signal_the_95_way):
14144         * process-nt.c (nt_finalize_process_data):
14145         * process-nt.c (ensure_console_window_exists):
14146         * process-nt.c (nt_create_process):
14147         * process-nt.c (nt_kill_child_process):
14148         * process-nt.c (nt_kill_process_by_pid):
14149         * process-nt.c (nt_open_network_stream):
14150         * process-nt.c (vars_of_process_nt):
14151         Copied over code from Emacs 20.5 to correctly send signals to sub-
14152         processes under Windows 95.  Also added code to automatically
14153         create and hide console window when a sub-process is created under
14154         Windows 95, which obviates the need for the separate runemacs.exe
14155         executable, and finally implemented some variables that were
14156         implemented in Emacs 20.5, but previously not in XEmacs.  These
14157         include mswindows- start-process-share-console and
14158         mswindows-start-process-inherit-error-mode. (Both of these only
14159         apply to Windows 95.)
14160
14161         * regex.c (regex_compile): Fixed a compile warning.
14162
14163         * select-msw.c:
14164         * select-msw.c (mswindows_own_selection):
14165         * select-msw.c (mswindows_get_foreign_selection):
14166         * select-msw.c (mswindows_disown_selection):
14167         * select-msw.c (console_type_create_select_mswindows):
14168         * select-msw.c (syms_of_select_mswindows):
14169         Cleaned up the file and implemented the device method
14170         selection_exists_p, which had accidentally been left out.  Also
14171         removed four lisp functions that were remnants from before the
14172         time when the selection code was properly device abstracted.
14173         These functions are no longer needed because there are generic
14174         equivalents, and because they were added recently and don't exist
14175         in FSF Emacs, I don't think there's any problem with just deleting
14176         them.
14177
14178         * sysdep.c:
14179         * sysdep.c (sys_subshell):
14180         Fixed a compile warning, although in this case there's probably
14181         something wrong with this code, and it ought to be looked into
14182         more thoroughly by somebody who understands it.
14183
14184         * window.c:
14185         * window.c (Fwindow_text_area_height):
14186         * window.c (Fwindow_width):
14187         * window.c (Fwindow_full_width):
14188         * window.c (Fwindow_pixel_width):
14189         * window.c (debug_print_window):
14190         * window.c (syms_of_window):
14191         Added functions window-text-area-height and window-full-width,
14192         which are functions for returning various width and height
14193         characteristics of a window. (One of these functions is necessary
14194         for making the file dialog box work correctly, and the other one
14195         was added for completeness.)  Also added a table to the
14196         documentation for window-height which describes the entire scheme
14197         for accessing width and height characteristics of a window.
14198
14199 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14200
14201         * nt.c (fstat): Added a comment for another problem with
14202         non-encapsulated [f]stat(), reported by Adrian Aichner
14203         <aichner@ecf.teradyne.com>.
14204
14205 2000-03-11  Andy Piper  <andy@xemacs.org>
14206
14207         * window.c (make_dummy_parent): initialize subwindow instance
14208         cache.
14209         (Fset_window_configuration): zero extent_modiff.
14210
14211 2000-03-10  Andy Piper  <andy@xemacs.org>
14212
14213         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14214         more changes can be triggered.
14215         (Fredisplay_frame): ditto.
14216         (Fredraw_device): ditto.
14217         (Fredisplay_device): ditto.
14218         (redisplay_frame): make non-static.
14219         (redisplay_frame): call update_frame_gutter_geometry outside of
14220         display proper.
14221
14222         * gutter.h: declare update_frame_gutter_geometry.
14223
14224         * redisplay.h: declare redisplay_frame.
14225
14226         * gutter.c (update_frame_gutter_geometry): move geometry changes
14227         in update_frame_gutters here. Geometry changes can only occur
14228         outside of redisplay.
14229         (update_frame_gutters): remove geometry change code.
14230         (Fredisplay_gutter_area): make sure that we are in display when we
14231         update and that we have flushed any size changes.
14232
14233 2000-03-11  Andy Piper  <andy@xemacs.org>
14234
14235         * alloc.c (pdump_dump_data): remove i & count shadows.
14236
14237 2000-02-27  Mike Alexander  <mta@arbortext.com>
14238
14239         * sysdep.h: Declare pdump_read_file
14240
14241         * sysdep.c (pdump_read_file): New function
14242
14243         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14244         dump data
14245
14246 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14247
14248         * lrecord.h: add `lrecord_type_pgsetenv'.
14249
14250 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14251
14252         * symsinit.h: declare (vars|syms)_of* functions.
14253         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14254
14255 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14256
14257         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14258
14259         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14260         GCCs.
14261
14262         * emacs.c (main_1): Call postgres initialization code.
14263
14264         * postgresql.h: New file.  PostgreSQL RDBMS support.
14265         * postgresql.c: New file.
14266
14267 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14268
14269         * redisplay-output.c (redisplay_output_display_block): Disable
14270         redundant code.
14271
14272 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14273
14274         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14275         (Fcanna_henkan_next): Ditto.
14276         (Fcanna_bunsetu_henkou): Ditto.
14277         (Fcanna_henkan_kakutei): Ditto.
14278         (Fcanna_henkan_end): Ditto.
14279         (Fcanna_henkan_quit): Ditto.
14280         (Fcanna_henkan_next): Set retun value correctly.
14281         (c2mu): Use unsigned char instead of signed char.
14282
14283 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14284
14285         * emacs.c (main_1): Always call syms_of_gui.
14286         * inline.c: include gui.h
14287
14288 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14289
14290         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14291         converted to Lisp_Object.
14292         (Qtop_bottom): New variable.
14293         (syms_of_redisplay): Initialize it.
14294         * redisplay.h (Vvisible_bell): Ditto.
14295         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14296         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14297         only flash top and bottom.
14298
14299 2000-03-08  Andy Piper  <andy@xemacs.org>
14300
14301         * buffer.c (Frename_buffer): record new buffer name the right way.
14302
14303 2000-03-08  Andy Piper  <andy@xemacs.org>
14304
14305         * glyphs.c (update_subwindow): increase hash depth so that widget
14306         items get picked up properly.
14307
14308         * redisplay-output.c (compare_runes): increase hash depth so that
14309         widget items get picked up properly.
14310
14311 2000-03-08  Andy Piper  <andy@xemacs.org>
14312
14313         * gutter.c (output_gutter): add some debug.
14314
14315         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14316         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14317         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14318
14319         * redisplay-output.c (compare_runes): use display_hash to
14320         determine if glyphs really are not the same.
14321
14322         * glyphs.c (update_subwindow): check display_hash to see if
14323         anything really needs to be updated. If not then do
14324         nothing. Record the display_hash after updating.
14325         (image_instance_equal): compare the image_instance face also.
14326
14327 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14328
14329         * redisplay.h: Fix comment style.
14330
14331 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14332
14333         * consle-msw.h (struct mswindows_frame):
14334         Added new member paint_pending to indicate whether a WM_PAINT
14335         magic event has been queued for this frame.
14336
14337         * event-msw.c (mswindows_drain_windows_queue):
14338         Don't queue a WM_PAINT magic event if one is already queued.
14339         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14340
14341         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14342
14343 2000-03-07  Didier Verna  <didier@xemacs.org>
14344
14345         * dired.c: #include `regex.h' after `sysfile.h'.
14346
14347 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14348
14349         * sound.c (init_nas_sound): Fix compiler warning.
14350
14351         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14352         (FREE_STRUCT_P):
14353         (MARK_STRUCT_AS_FREE):
14354         (MARK_STRUCT_AS_NOT_FREE):
14355         Make `gcc -fstrict-aliasing' work properly.
14356
14357 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14358
14359         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14360         (mswindows_delete_device): Call CoUnnitialize().
14361
14362         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14363
14364 2000-02-25    <CraigL@DyCon.com>
14365
14366         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14367         <errno.h>.
14368
14369         * sysdep.c: This extern declaration for environ prevents MinGW
14370         from finding the variable in CRTDLL.DLL.
14371
14372         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14373         windows headers.
14374         (SHGFI_EXETYPE): ..
14375         (WM_MOUSEWHEEL): ..
14376         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14377         definitions.
14378         (MMRESULT): Removed, now defined in cygwin's windows headers.
14379         (TIMECAPS): ..
14380         (uid_t,gid_t,pid_t,ssize_t): ..
14381         (_timeb): Removed, MinGW defines both _timeb and timeb.
14382         (HAVE_H_ERRNO): Added.
14383         (HAVE_TZNAME): Added, configure is not detecting this.
14384
14385 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14386
14387         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14388         * syntax.c (syntax_match): Use it.
14389
14390         * cmds.c: Import auto-fill-chars from FSF Emacs.
14391         (Vauto_fill_chars): New variables.
14392         (internal_self_insert): Check Vauto_fill_chars.
14393         (vars_of_cmds):
14394         Declare auto-fill-chars as a Lisp variable and initialize it.
14395
14396 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14397
14398         * fileio.c (Fmake_symbolic_link):
14399         (Ffile_symlink_p):
14400         Run handlers even if local machine doesn't have symlinks.
14401
14402 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14403
14404         * event-msw.c (mswindows_drain_windows_queue):
14405         Don't generate paint magic events for non-XEmacs frames.
14406
14407 2000-03-05  Andy Piper  <andy@xemacs.org>
14408
14409         * redisplay.c (redisplay_frame): generate_displayable_area and
14410         friends assumes that we are not in GC, we therefore have to make
14411         sure that this doesn't happen.
14412
14413         * gutter.c (calculate_gutter_size): generate_displayable_area
14414         assumes that we are not in GC, we therefore have to make sure that
14415         this doesn't happen.
14416
14417 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14418
14419         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14420
14421 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14422
14423         * redisplay.c (regenerate_window): Make sure we set a sane value
14424         for end_pos even if we jump out of the loop.
14425         (regenerate_window): Answer Ben's question :-).
14426         (start_end_of_last_line): Add may_error argument.
14427         (start_of_last_line):
14428         (end_of_last_line): Pass may_error = 0.
14429         (end_of_last_line_may_error): New function.
14430         (pixel_to_glyph_translation): Use it, so we don't crash in
14431         event_to_glyph.
14432
14433 2000-03-04  Andy Piper  <andy@xemacs.org>
14434
14435         * window.h (struct window): add gutter_extent_modiff.
14436
14437         * window.c (allocate_window): zero out gutter_extent_modiff.
14438
14439         * redisplay.h: declare sync_display_line_structs.
14440
14441         * redisplay.c (add_glyph_rune): add a better comment.
14442
14443         * redisplay-output.c (sync_display_line_structs): made non-static.
14444         (compare_runes): remove unneccesary glyph cachel access.
14445
14446         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14447
14448         * gutter.c (output_gutter): don't output the gutter if extent
14449         changes only involve extents in buffers. use 4 sets of display
14450         lines.
14451         (gutter_extent_signal_changed_region_maybe): new function. Mark
14452         extents in gutters as changed.
14453         (update_frame_gutters): use 4 sets of display lines.
14454         (reset_gutter_display_lines): ditto.
14455         (free_frame_gutters): ditto.
14456         (redraw_exposed_gutter): force output of gutters.
14457
14458         * frame.h (struct frame): add 4 sets of gutter display lines.
14459
14460         * extents.c: (extent_changed_for_redisplay): signal changes to
14461         extents in strings in the gutter as well as extents in buffers.
14462
14463 2000-03-02  Andy Piper  <andy@xemacs.org>
14464
14465         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14466
14467         * frame.c (Fmake_frame): make sure the gutters get initialized
14468         after the frame is visible.
14469         (set_frame_selected_window): re-arrange compilation macros a
14470         little.
14471         (change_frame_size_1): mark gutters changed.
14472
14473         * device.c (Fset_device_class): mark gutters changed.
14474
14475 2000-03-01  Andy Piper  <andy@xemacs.org>
14476
14477         * window.c (window_top_frame_gutter_height): deleted.
14478         (window_bottom_frame_gutter_height): ditto.
14479         (window_left_frame_gutter_height): ditto.
14480         (window_right_frame_gutter_height): ditto.
14481         (window_top_gutter_height): don't use them.
14482         (window_bottom_gutter_height): ditto.
14483         (window_left_gutter_width): ditto.
14484         (window_right_gutter_width): ditto.
14485         (Fsplit_window): ditto.
14486         (Fwindow_pixel_edges): don't use border dimensions here.
14487
14488         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14489         (update_scrollbar_instance): ditto.
14490
14491         * redisplay.c (generate_modeline): don't take gutters into account.
14492         (generate_modeline): ditto.
14493         (redisplay_frame): small gutter display optimization.
14494
14495         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14496
14497         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14498         gutters into account.
14499
14500         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14501         for window position and type.
14502
14503         * gutter.c (get_gutter_coords): fix for frame gutters.
14504         (update_frame_gutters): update frame geometry if the gutters have
14505         changed.
14506         (init_frame_gutters): record current gutter geometries.
14507
14508         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14509         var.
14510         (mswindows_widget_instantiate): ditto.
14511
14512         * frame.h (struct frame): add current_gutter_bounds.
14513
14514         * frame.c (change_frame_size_1): position window and minibuffer
14515         appropriately taking into account the frame gutters.
14516
14517         * frame-x.c: (x_initialize_frame_size): take into account the
14518         frame gutters.
14519
14520 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14521
14522         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14523
14524 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14525
14526         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14527
14528 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14529
14530         * file-coding.c (reset_decoding_stream): Clear previous
14531         detection state when autodetect.
14532
14533 2000-02-29  Didier Verna  <didier@xemacs.org>
14534
14535         * extents.c (set_extent_glyph_1): don't require extents to be
14536         attached.
14537
14538 2000-02-27  Andy Piper  <andy@xemacs.org>
14539
14540         * gutter.c (Fset_default_gutter_position): don't default left and
14541         right gutter visibility to t.
14542         (Fset_default_gutter_position): run
14543         default-gutter-position-changed-hook.
14544         (syms_of_gutter): add default-gutter-position-changed-hook.
14545
14546 2000-02-26  Andy Piper  <andy@xemacs.org>
14547
14548         * specifier.c (Fmake_specifier): add gutter references.
14549
14550         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14551
14552         * lisp.h: declare Fvalid_plist_p.
14553
14554         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14555         as changed.
14556         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14557         well as its visibility so that it gets reconstructed.
14558         (construct_window_gutter_spec): new function. Construct a string
14559         to be displayed in the gutter from a plist of strings. Take care
14560         to only use elements that are declared as visible.
14561         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14562         WINDOW_GUTTER.
14563         (gutter_validate): allow plists of strings in the specifier.
14564         (gutter_specs_changed): construct the real_gutter from the gutter
14565         specs using construct_window_gutter_spec.
14566         (gutter_visible_validate): gutter-visible is a new specifier type.
14567         (Fgutter_visible_specifier_p): new function for the new specifier.
14568         (syms_of_gutter): declare gutter-visible and
14569         Fgutter_visible_specifier_p.
14570         (specifier_type_create_gutter): intitalize new gutter-visible
14571         specifier.
14572         (reinit_specifier_type_create_gutter): ditto.
14573         (specifier_vars_of_gutter): use new specifier type for gutter
14574         visibility.
14575         (init_frame_gutters): construct real_gutter correctly.
14576         (Fgutter_specifier_p): beef up documentation.
14577         (Fgutter_size_specifier_p): ditto.
14578
14579         * winslots.h: add real_gutter slots.
14580
14581 2000-02-25  Andy Piper  <andy@xemacs.org>
14582
14583         * device-msw.c: Be kind to older cygwin versions. From Raymond
14584         Toy <toy@rtp.ericsson.se>.
14585
14586         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14587         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14588
14589 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14590
14591         * elhash.c (MARK_OBJ): Practice macro hygiene.
14592
14593 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14594
14595         * miscplay.c: s/__inline__/inline/g;
14596         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14597         (get_device_compdc): INLINE ==> static inline
14598         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14599         find -name '*.h' | \
14600         xargs global-replace \
14601         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14602
14603 2000-02-25  Andy Piper  <andy@xemacs.org>
14604
14605         * window.c (window_top_frame_gutter_height): new function.
14606         (window_top_window_gutter_height): ditto.
14607         (window_top_gutter_height): use them.
14608         (window_bottom_frame_gutter_height): new function.
14609         (window_bottom_window_gutter_height): ditto.
14610         (window_bottom_gutter_height): use them.
14611         (window_left_window_gutter_width): new function.
14612         (window_left_frame_gutter_width): ditto.
14613         (window_left_gutter_width): use them.
14614         (window_right_window_gutter_width): new function.
14615         (window_right_frame_gutter_width): ditto.
14616         (window_right_gutter_width): use them.
14617         (window_pixel_height): new function. calulate window pixel height
14618         with frame gutter involvement.
14619         (Fsplit_window): calculate new sizes taking frame gutters into
14620         account.
14621         (window_char_height_to_pixel_height): don't include frame gutters.
14622         (window_char_height): use window_pixel_height.
14623         (window_pixheight): rename from window_pixel_height.
14624         (change_window_height): use it.
14625         (window_pixel_height_to_char_height): don't include frame gutters.
14626         (window_char_width_to_pixel_width): ditto.
14627
14628 2000-02-25  Andy Piper  <andy@xemacs.org>
14629
14630         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14631         if it is.
14632
14633 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14634
14635         * alloc.c (staticpro):
14636         (staticpro_nodump):
14637         (dumpstruct):
14638         (dumpopaque):
14639         (pdump_wire):
14640         (pdump_wire_list):
14641         (compact_string_chars):
14642         (pdump_dump_wired):
14643         Convert:  if (foo) abort();  ==>  assert (! foo);
14644
14645         * eldap.c (Fldap_search_basic):
14646         (Fldap_add):
14647         (Fldap_modify):
14648         (Fldap_delete):
14649         Fix compiler warnings, and possible crashes if (random) return
14650         value were to be used.
14651
14652 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14653
14654         * device-msw.c: Workaround ResetDC failure.
14655
14656         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14657         applying a devmode.
14658
14659         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14660         (mswindows_text_width): Do not start printer page.
14661
14662         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14663
14664         * glyphs-msw.c: Added image methods to msprinter console and
14665         msprinter-specific image instantiation.
14666
14667 2000-02-20  Mike Alexander  <mta@arbortext.com>
14668
14669         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14670         to avoid crashes when selection-sets-clipboard is on
14671         (mswindows_own_selection): ditto
14672
14673 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14674
14675         * glyphs-msw.c:
14676         * redisplay-msw.c (get_frame_dc):
14677         (get_frame_compdc):
14678         * console-msw.h:
14679         * device-msw.c (mswindows_init_device):
14680         (mswindows_delete_device):
14681         (msprinter_init_device):
14682         (msprinter_delete_device):
14683         * frame-msw.c (mswindows_init_frame_1):
14684         (mswindows_delete_frame):
14685         (msprinter_init_frame_3):
14686         (msprinter_delete_frame): Move compatible DC to device object from
14687         frame object, for both mswindows and msprinter. Only one at a time
14688         is needed, it is a real waste to have one per frame!
14689
14690 2000-02-23  Andy Piper  <andy@xemacs.org>
14691
14692         * glyphs.c: add dynamic width and height elements.
14693         (image_instance_equal): ditto.
14694
14695         * glyphs-widget.c (widget_query_geometry): calculate width and
14696         height dynamically if required.
14697         (initialize_widget_image_instance): initialize dynamic dimensions.
14698         (widget_instantiate): pick-up dynamic dimensions.
14699
14700         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14701         dynamic determination. Add appropriate macros.
14702
14703         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14704         dimensions safe.
14705         (WINDOW_GUTTER_SIZE): ditto.
14706         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14707
14708         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14709         inline.
14710         (get_frame_dc): ditto.
14711
14712         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14713         here.
14714
14715 2000-02-23  Martin Buchholz <martin@xemacs.org>
14716
14717         * XEmacs 21.2.31 is released.
14718
14719 2000-02-22  Ben Wing <ben@xemacs.org>
14720
14721         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14722
14723 2000-02-22  Andy Piper  <andy@xemacs.org>
14724
14725         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14726
14727 2000-02-21  Mike Sperber <mike@xemacs.org>
14728
14729         * .dbxrc:
14730         * .gdbinit:
14731         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14732         variables.
14733
14734 2000-02-21  Mike Sperber <mike@xemacs.org>
14735
14736         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14737
14738 2000-02-21  Martin Buchholz <martin@xemacs.org>
14739
14740         * XEmacs 21.2.30 is released.
14741
14742 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14743
14744         Performance hacking.
14745         * *.c (syms_of_*):
14746         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14747         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14748         * emacs.c (main_1):
14749         * lisp.h (DEFUN):
14750         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14751         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14752         * symeval.h (DEFVAR_SYMVAL_FWD):
14753         * symbols.c (guts_of_unbound_marker):
14754         Make all c_readonly objects also lisp_readonly and marked for life.
14755         * lrecord.h (struct lrecord_implementation):
14756         Document flags better.
14757         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14758         * lrecord.h (DECLARE_LRECORD):
14759         * lrecord.h (XSETRECORD):
14760         * lrecord.h (RECORDP):
14761         * lrecord.h (RECORD_TYPEP):
14762         * lrecord.h (RECORD_MARKER): New.
14763         * lrecord.h (error_check_*):
14764         * lrecord.h (CONCHECK_NONRECORD):
14765         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14766         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14767         * lrecord.h (set_lheader_implementation):
14768         * lrecord.h (enum lrecord_type): New.
14769         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14770         * alloc.c (disksave_object_finalization_1):
14771         * alloc.c (mark_object):
14772         * alloc.c (lrecord_type_index):
14773         * alloc.c (tick_lcrecord_stats):
14774         * alloc.c (Fgarbage_collect):
14775         * alloc.c (init_alloc_once_early):
14776         * alloc.c (pdump_load):
14777         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14778         * alloc.c (lrecord_type_index): Delete.
14779         Make lisp object type indexes be constant.
14780           Makes (byte-compile) 5% faster.
14781         Put all marker functions into their own array.
14782           Makes (garbage-collect) 5% faster.
14783         Optimize SYMBOL_VALUE_MAGIC_P.
14784           Makes (byte-compile) 2-3% faster.
14785         * config.h.in (gc_checking_assert): New.
14786         * alloc.c: Use gc_checking_assert().
14787         * .dbxrc: Make compatible with new object type implementation.
14788         * .gdbinit: Make compatible with new object type implementation.
14789         * alloc.c: Delete all symbols defined only for debugging, such as
14790         Lisp_Type_Vector and lrecord_charset.
14791
14792 2000-02-21  Andy Piper  <andy@xemacs.org>
14793
14794         * gui-msw.c (Fmswindows_shell_execute): fix file location
14795         problems.
14796
14797         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14798         unshowing so that set_window_buffer doesn't undo
14799         kill_buffer_hook's hard work.
14800
14801         * glyphs-widget.c (tab_control_query_geometry): don't count the
14802         first item when calculating geometry.
14803
14804         * glyphs.c (map_subwindow): remove redundant code.
14805         (update_frame_subwindows): be more circumspect about when to
14806         update subwindows.
14807
14808         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14809         when items haven't changed. Update faces if faces have changed as
14810         well as just the widget face.
14811         (x_tab_control_update): Update faces if faces have changed as well
14812         as just the widget face.
14813
14814 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14815
14816         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14817         registration.
14818         (build_syscolor_string): Use mswindows_color_to_string to try to
14819         get a named color.
14820         (mswindows_device_system_metrics): Reverse the foreground and
14821         background colors so that they match the documentation.
14822
14823         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14824         they match the default Windows palette.
14825         (mswindows_color_to_string): New function.
14826
14827 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14828
14829         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14830
14831 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14832
14833         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14834         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14835
14836         * symbols.c (init_symbols_once_early): Removed obsolete
14837         DATA_SEG_BITS related kludge.
14838         (defvar_magic): Ditto.
14839
14840         * malloc.c: Removed obsolete DATA_SEG_BITS
14841         * ralloc.c: Ditto.
14842         * mem-limits.h: Ditto.
14843
14844         * Makefile.in.in: Removed obsolete HAVE_SHM
14845         * emacs.c: Ditto.
14846
14847 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14848
14849         *  device-msw.c (mswindows_delete_device): Free DDE string
14850         handles.
14851
14852 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14853
14854         * keymap.c (get_keyelt):
14855         * unexnt.c (unexec):
14856         * vm-limit.c (memory_warnings):
14857         * ntheap.c (recreate_heap):
14858         * ntheap.h (UNINIT_PTR):
14859         * select-msw.c (Fmswindows_get_clipboard):
14860         (Fmswindows_set_clipboard):
14861         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14862         * objects-msw.c:
14863         * menubar-msw.c (displayable_menu_item):
14864         * glyphs-msw.c:
14865         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14866         * sysdep.c (sys_subshell):
14867         * process-nt.c (nt_create_process):
14868         * nt.c (normalize_filename):
14869         (dostounix_filename):
14870         (unixtodos_filename):
14871         * ntproc.c (win32_executable_type):
14872         * ntplay.c (play_sound_data_1):
14873         (play_sound_file):
14874         * editfns.c (get_home_directory):
14875         * event-msw.c (struct winsock_stream):
14876         (mswindows_dde_callback):
14877         * device-msw.c (msprinter_init_device):
14878         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14879
14880         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14881         mswindows_clear_toolbar were swapped!
14882
14883         * objects-msw.c:(colormap_t):
14884         (fontmap_t):
14885         * emacs.c (struct standard_args): Fixed const jumble.
14886
14887         * glyphs-widget.c (update_widget): Fixed comparison notation.
14888
14889         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14890
14891         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14892         __declspec(noreturn) syntax.
14893
14894 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14895
14896         * eldap.c (Fldap_open):
14897         (Fldap_search_basic):
14898         (Fldap_add):
14899         (Fldap_modify):
14900         Use new coding system conversion macros.
14901
14902 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14903
14904         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14905
14906 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14907
14908         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14909         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14910
14911         * eldap.c (Qadd, Qreplace): New constant symbols
14912         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14913         interruptions by XEmacs signals
14914         Remove unnecessary calls to slow_down_interrupts and
14915         speed_up_interrupts
14916         (Fldap_search_basic): Renamed from Fldap_search_internal
14917         Added new optional parameter VERBOSE that triggers the
14918         display of progress messages
14919         Remove unnecessary calls to slow_down_interrupts and
14920         speed_up_interrupts
14921         LDAP result code analysis rewritten
14922         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14923         (syms_of_eldap): Define the new symbols and functions
14924
14925
14926 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14927
14928         * realpath.c: Determine PATH_MAX maximally portably.
14929
14930         * insdel.c (bytecount_to_charcount): Optimize.
14931         The function used to be optimized for entirely ASCII sequences.
14932         Now it is optimized for successive characters from the same
14933         charset.  This also wins big for _mostly_ ASCII sequences.
14934
14935         * fileio.c (Ffile_truename): convert return from realpath() using
14936         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14937         - Rewrite GCPROing slightly.
14938
14939         * sysdep.c (sys_open): Do filename conversion, like all other
14940         sys_* functions.  Fixes bug:
14941         (let ((file-name-coding-system 'iso-8859-2))
14942            (write-region x y latin2-name))
14943         ==> writes filename using internal encoding.
14944
14945 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14946
14947         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14948         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14949         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14950         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14951         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14952         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14953         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14954         (CONST_IF_NOT_DEBUG): Delete.
14955         * alloc.c (this_one_is_unmarkable): Delete.
14956         (mark_object): Don't check for this_one_is_unmarkable. Use the
14957         c_readonly flag instead.
14958         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14959
14960 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14961
14962         * event-msw.c (mswindows_drain_windows_queue):
14963         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14964         away redundant repaint events.
14965
14966 2000-02-17  Andy Piper  <andy@xemacs.org>
14967
14968         * redisplay.h: declare mark_redisplay_structs.
14969
14970         * redisplay.c (redisplay_window):
14971         (redisplay_frame): don't check subwindows_state_changed.
14972         (mark_redisplay): mark gutters here.
14973
14974         * glyphs.c: (instantiate_image_instantiator): always layout if we
14975         haven't done so already.
14976         (allocate_image_instance): don't mark as dirty.
14977         (update_subwindow): bind inhibit_quit.
14978
14979         * gutter.c (mark_gutters): new function.
14980
14981         * glyphs-x.c (x_update_widget): Always resize to get round a
14982         widget bug.
14983
14984         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14985         breaking absolutely everything.
14986
14987         * gutter.h: declare mark_gutters.
14988
14989 2000-02-16  Martin Buchholz <martin@xemacs.org>
14990
14991         * XEmacs 21.2.29 is released.
14992
14993 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14994
14995         * fns.c (size_bit_vector): Fix computation of the size.
14996
14997 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14998
14999         * *.[ch]: Change CONST to const globally.
15000         find -name '*.[ch]' | \
15001         xargs global-replace \
15002         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
15003         - Remove vestigial references to CONST_IS_LOSING
15004
15005 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15006
15007         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
15008         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
15009         events instead of dispatching them directly.
15010         (mswindows_handle_paint): New function to do repainting.
15011         (mswindows_wnd_proc):
15012         (emacs_mswindows_handle_magic_event): Call above function.
15013
15014 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15015
15016         * objects-msw.c (mswindows_create_font_variant): Return the new
15017         font handle.
15018         (initialize_font_instance): Get font metrics from the underlined
15019         variant of the font to cope with the case where the underlined
15020         font has a bigger descent.
15021
15022 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15023
15024         * gui.c (gui_item_accelerator): Return the first underlined
15025         character in item name.
15026
15027 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15028
15029         * lisp.h: Added Qprinter.
15030
15031         * general.c (syms_of_general): Initialized it.
15032
15033         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
15034         (get_frame_dc):
15035         (get_frame_compdc): Made inline.
15036
15037         * console.h (struct console_methods): Added eject_page method.
15038
15039         * frame.h: Added FRAME_DISPLAY_P and friends.
15040         Aligned backslahes in many macros in more readable fashion.
15041         Added page_number to struct frame, and an accessor macro
15042         for it.
15043
15044         * defice.h: Added DEVICE_DISPLAY_P and friends.
15045
15046         * device.c (Fdevice_printer_p): Used these.
15047
15048         * frame.c (allocate_frame_core): Initialize page number.
15049         (Fprint_job_page_number):
15050         (Fprint_job_eject_page): Implemented.
15051
15052         * frame-msw.c (msprinter_eject_page): Added method.
15053         (msprinter_start_page): Added.
15054
15055         * window.c (Fwindow_truncated_p): Fixed docstring.
15056         (Fwindow_last_line_visible_height): Implemented.
15057
15058 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15059
15060         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15061
15062 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15063
15064         * syntax.c (scan_words): Always advance at least one character.
15065
15066 2000-02-13  Andy Piper  <andy@xemacs.org>
15067
15068         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15069         to make sure the glyph is in the cachels.
15070
15071         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15072         global image instance flag.
15073         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15074         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15075
15076         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15077         (Fset_image_instance_property): mark layout as changed.
15078         (invalidate_glyph_geometry_maybe): mark layout as changed.
15079         (glyph_width): use new NEEDS_LAYOUT macro.
15080         (glyph_ascent): ditto.
15081         (glyph_descent): ditto.
15082         (glyph_height): ditto.
15083         (image_instance_layout): mark layout as clean after laying out.
15084         (update_subwindow): don't mark layout as clean here.
15085
15086         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15087         should no longer be needed.
15088
15089         * glyphs-x.c (x_update_widget): sanitize asserts.
15090         (x_finalize_image_instance): sanitize assignment to widgets.
15091
15092         * glyphs-widget.c (widget_instantiate): don't need to clear the
15093         layout flag here.
15094
15095 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15096
15097         * sysdep.c (getcwd): Use standard prototype.
15098         * sysdep.h (getcwd): Use standard prototype.
15099
15100         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15101         (sequence, start, end).
15102         Remove redundant type checking.
15103         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15104         view of `caller-protects') to avoid a crash where the real fix was
15105         found elsewhere.
15106
15107 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15108
15109         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15110
15111         * s/sol2.h: Remove feature macro initialization.
15112
15113         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15114         (vector_hash): New.  Code from internal_hash.
15115         * lrecord.h:
15116         Fix up allocation subsystem comments.
15117
15118         * config.h.in: Add __EXTENSIONS__ for Solaris.
15119
15120         * systime.h (EMACS_GETTIMEOFDAY): New.
15121         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15122         Remove Solaris-specific code.
15123         Use void* for the (ignored) second arg for gettimeofday().
15124
15125         * elhash.c (hash_table_hash): Implement it, finally.
15126         * elhash.c:  Use hashcode_t.
15127
15128         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15129         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15130
15131         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15132         * fns.c (size_bit_vector):
15133         * alloc.c (size_vector):
15134         (make_vector_internal):
15135         (make_bit_vector_internal):
15136         (sweep_bit_vectors_1):
15137         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15138
15139 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15140
15141         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15142         Include strings.h to avoid warnings for bzero and strcasecmp.
15143
15144 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15145
15146         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15147         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15148
15149         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15150         sequence.
15151
15152 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15153
15154         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15155         use a value field instead.
15156         (symbol_value_forward_forward): Use value field.
15157         (DEFVAR_SYMVAL_FWD): Use value field.
15158         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15159         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15160         (DEFVAR_CONST_INT): Ditto.
15161         (DEFVAR_BOOL): Ditto.
15162         (DEFVAR_CONST_BOOL): Ditto.
15163         (DEFVAR_INT_MAGIC): Ditto.
15164         (DEFVAR_BOOL_MAGIC): Ditto.
15165
15166         * symbols.c (guts_of_unbound_marker): Use value field.
15167         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15168         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15169
15170         * lisp.h: Declare dumpopaque and noninteractive1.
15171
15172         * alloc.c (dumpopaque): Added.
15173         (pdump_dump_opaquevec): Added.
15174         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15175         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15176         noninteractive.
15177
15178 2000-02-10  Andy Piper  <andy@xemacs.org>
15179
15180         * glyphs.c (image_instance_layout): if the size changes, mark it
15181         as such.
15182
15183         * redisplay-output.c (redisplay_output_layout): Update the
15184         subwindow here.
15185         (redisplay_output_subwindow): ditto.
15186
15187         * glyphs.c (update_subwindow): make sure we reset flags for
15188         layouts as well as everything else.
15189
15190         * glyphs-widget.c (layout_layout): don't need to set the instances
15191         dimensions here.
15192
15193 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15194
15195         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15196         not HAVE_DLOPEN, which is a lower-level thing.
15197
15198         * .cvsignore: Ignore gmon.out
15199
15200 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15201
15202         * .cvsignore: Ignore portable dumper xemacs.dmp file
15203
15204 2000-02-09  Andy Piper  <andy@xemacs.org>
15205
15206         * redisplay-output.c (redisplay_output_layout): be more clever
15207         about when we output based on the changed flags.
15208
15209         * glyphs.h (struct image_instantiator_methods): add update_method.
15210         (struct Lisp_Image_Instance): add changed flags. Declare new
15211         macros for manipulating them.
15212
15213         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15214         (image_instance_parent_glyph): find an image_instance's parent
15215         glyph or image_instance.
15216         (image_instance_layout): mark the size as changed.
15217         (set_image_instance_dirty_p): new function. mark an image
15218         instance, plus all of its parents, as dirty.
15219         (Fset_image_instance_property): use it.
15220         (Fglyph_animated_timeout_handler): use it.
15221         (update_subwindow): call update_widget and device methods for
15222         update_subwindow. Mark all changed flags as clean.
15223         (Fresize_subwindow): mark size as changed.
15224
15225         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15226         failures.
15227         (x_update_subwindow): only resize subwindows here.
15228         (x_update_widget): new function. Update all changed properties of
15229         a widget.
15230         (x_resize_subwindow): deleted.
15231         (x_widget_set_property): deleted.
15232         (x_progress_gauge_set_property): deleted.
15233         (x_progress_gauge_update): new function. Implement recorded
15234         changes.
15235         (x_tab_control_update): ditto.
15236         (x_tab_control_set_property): deleted.
15237         (console_type_create_glyphs_x): declare new functions.
15238         (image_instantiator_format_create_glyphs_x): ditto.
15239
15240         * glyphs-widget.c (widget_set_property): mark text changed.
15241         (update_widget): new function. Update properties of a widget.
15242         (widget_instantiate): for layouts make sure we set their
15243         children's parent correctly.
15244         (tab_control_set_property): new function. Record changes that will
15245         take place under redisplay's control.
15246         (progress_gauge_set_property): ditto.
15247         (image_instantiator_progress_guage): declare new functions.
15248         (image_instantiator_tab_control): ditto.
15249
15250         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15251         now.
15252         (mswindows_update_widget): new function. Update all properties on
15253         a widget that have changed.
15254         (mswindows_button_update): new function. Update a button's set
15255         state.
15256         (mswindows_tab_control_update): new function. Update the items in
15257         a tab.
15258         (mswindows_tab_control_set_property): deleted.
15259         (mswindows_progress_gauge_update): new function. Update the
15260         progress gauge's progress.
15261         (mswindows_widget_set_property): deleted. This is all done
15262         asynchronously now.
15263         (mswindows_progress_gauge_set_property): ditto.
15264         (console_type_create_glyphs_mswindows): declare new methods.
15265         (image_instantiator_format_create_glyphs_mswindows): ditto.
15266
15267         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15268         (msprinter_set_frame_properties): ditto.
15269
15270         * console.h (struct console_methods): Add update_widget_method.
15271
15272 2000-02-09  Andy Piper  <andy@xemacs.org>
15273
15274         * gui-msw.c (Fmswindows_shell_execute): Make
15275         mswindows-shell-execute industrial strength.
15276
15277 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15278
15279         * lrecord.h: Make macro argument `props' match member function `plist'.
15280         * fns.c (Fget):
15281         * fns.c (Fput):
15282         * fns.c (Fremprop):
15283         * fns.c (Fobject_plist):
15284         * alloc.c:
15285         * symbols.c:
15286         Object property list frobbing cleanup.
15287         - Allow any lisp object (compared with `eq'), not just symbols, as
15288           keys in object plists.
15289         - Move symbol plist frobbing into symbols.c, where it belongs.
15290         - Move string plist frobbing into alloc.c, where it belongs.
15291         - Everything's an lrecord now, so no need to test for symbolp, etc.
15292         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15293
15294         * extents.c: Reorder code to remove declarations.
15295
15296         * frame.h (store_in_alist): Remove useless declaration.
15297
15298 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15299
15300         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15301         * config.h.in: Add HAVE_XCONVERTCASE.
15302
15303 2000-02-07  Andy Piper  <andy@xemacs.org>
15304
15305         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15306         it breaks many things.
15307
15308 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15309
15310         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15311         actually can start a common comment type.
15312         * src/syntax.h (SYNTAX_END_P): ditto for end.
15313
15314 2000-02-07  Martin Buchholz <martin@xemacs.org>
15315
15316         * XEmacs 21.2.28 is released.
15317
15318 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15319
15320         * event-Xt.c (x_keysym_to_character): New.
15321         (maybe_define_x_key_as_self_inserting_character): New.
15322         (x_has_keysym): New.
15323         Auto-define all keys on the keyboard as self-insert-key.
15324
15325 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15326
15327         * menubar.c (vars_of_menubar): A small code simplification.
15328
15329         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15330
15331         * ExternalShell.c:
15332         * ExternalClient.c:
15333         * EmacsShell-sub.c:
15334         * EmacsManager.c:
15335         * EmacsFrame.c:
15336         Use consistent style for specifying X resources.
15337
15338         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15339         This makes (dontusethis-set-symbol-value-handler) actually usable.
15340
15341         * lrecord.h (lrecord_decription_type):
15342         * alloc.c (pdump_register_sub):
15343         (pdump_dump_data):
15344         (pdump_reloc_one):
15345         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15346         Comply with XEmacs coding style.
15347         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15348         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15349
15350         * keymap.c (Faccessible_keymaps):
15351         Make (accessible-keymaps map "\C-h") do the Right Thing.
15352         Make (accessible-keymaps map []) do the Right Thing.
15353         Make (accessible-keymaps map "") do the Right Thing.
15354         (check_keymap_definition_loop): New function.
15355         (keymap_store_internal): Keep luser from shooting self in foot,
15356           via (define-key ctl-x-4-map "p" global-map).
15357         Remove fullness slot from struct Lisp_Keymap, since hash tables
15358         are now reliable.
15359         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15360
15361 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15362
15363         * redisplay.c (init_redisplay): Fix small memory leak.
15364         * elhash.h:
15365         * elhash.c (pdump_reorganize_hash_table):
15366         Rename from reorganize_hash_table. Change prototype.
15367         Reuse the original memory for hentries.  Save 100k.
15368         * alloc.c (PDUMP_READ): new macro.
15369         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15370         * alloc.c: No need to #ifndef before #undef.
15371
15372         * print.c: Allow debug_print() to print readably by modifying
15373         debug_print_readably.  Use consistent variable names.
15374
15375         * .dbxrc: Try to get things to work even if stopped in a function
15376         without source available by explicitly specifying source files.
15377 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15378
15379         * unexnt.c (_start): Removed bogus code which caused loading heap
15380         from differrent executable file.
15381         Removed bogus assignment to _fmode, which caused inconsistencies.
15382
15383 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15384
15385         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15386         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15387         Do not preliminary `#define signal sigset'.
15388
15389         * systime.h: Do not prototype environ on windows nt and cygwin,
15390         this conflicts with system header.
15391
15392         * syssignal.h: Use correct define for WINDOWSNT
15393
15394         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15395         with system header.
15396
15397         * sysdep.c (near start of file): Fixed commentary and rearranged
15398         ifdefs in readable order.
15399         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15400         (start_of_text):
15401         (end_of_text):
15402         (end_of_data): Do not compile in if using PDUMP.
15403
15404         * symsinit.h: Prototyped vars_of_nt().
15405
15406         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15407         (find_child_console): Use it.
15408         (sys_kill): Use it.
15409
15410         * ntheap.h: Do not extern os_subtype.
15411
15412         * ntheap.c (cache_system_info): Do not cache unneeded:
15413         nt_major_version, nt_minor_version and os_subtype.
15414         (recreate_heap): Do not compile in when PDUMPing.
15415
15416         * nt.c (geteuid and friends): Use the new varibale
15417         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15418         (init_user_info): Removed the above mentioned hackery.
15419         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15420         stat has been fixed in the C runtime.
15421         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15422
15423         * file-coding.c (struct file_coding_dump): Do not define
15424         ucs_to_mule_table in the struct if not MULE.
15425         (struct struct lrecord_description fcd_description_1): Do not dump
15426         the above.
15427
15428         * emacs.c (main_1): Call vars_of_nt().
15429         (right before Fdump_emacs_data): Don't need lastfile if using both
15430         portabe dumper and system malloc.
15431
15432         * alloc.c (Fmemory_limit): Conditionalized out.
15433         (pdump): Use OPEN_BINARY for the portable dump file.
15434         (pdump_load): Ditto.
15435
15436 2000-02-02  Mike Alexander  <mta@arbortext.com>
15437
15438         * nt.c (convert_time): Set tm_isdst before calling mktime and
15439         avoid calling it at all if the compiler supports 64 bit integers.
15440         Also initialize utc_base_ft before using it.
15441
15442 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15443
15444         * frame.c (change_frame_size_1): Take f->internal_border_width
15445         into consideration when calculating the width of the frame.
15446
15447 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15448
15449         * window.c (frame_min_height):
15450         (frame_size_valid_p):
15451         (frame_pixsize_valid_p): Added.
15452         (check_frame_size): Generalized.
15453
15454         * window.h: Prototyped the above.
15455
15456         * lisp.h:
15457         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15458         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15459         Deleted Vwin32_* and Vbinary_process_* unused variables.
15460
15461         * device-msw.c (msprinter_init_device): Do not get printer font
15462         list; Added DEVMODE functions.
15463
15464         * frame-msw.c: Added lots of printer code.
15465
15466         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15467         general.c.
15468
15469         * console-msw.h: Added more msprinter device private slots.
15470
15471 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15472
15473         * event-msw.c (key_needs_default_processing_p): Added.
15474         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15475
15476 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15477
15478         * glyphs.c (image_instance_layout): Mark image instance as clean
15479         after layout.
15480         (glyph_dirty_p): Removed redundant function.
15481         (invalidate_glyph_geometry_maybe): Added.
15482         (update_glyph_cachel_data): Call it.
15483
15484         * glyphs.h: Prototyped it.
15485
15486         * redisplay.c (add_glyph_rune): Call it.
15487         (redisplay_window): Reset glyphs cachels when frame faces have
15488         changed, thus forcing recomputation of built-in border glyphs.
15489
15490 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15491
15492         * Makefile.in.in: Make portable dumper and purify play well together.
15493         Add imperfect, but better than nothing, support for pdump.
15494         Remove xemacs.dmp when temacs is re-generated.
15495         Don't ignore errors when dumping xemacs.
15496
15497         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15498
15499 2000-01-28  Andy Piper  <andy@xemacs.org>
15500
15501         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15502         (setup_normal_frame): ditto.
15503         (setup_frame_without_minibuffer): ditto.
15504         (setup_minibuffer_frame): ditto.
15505         (delete_frame_internal): ditto.
15506         (Fmake_frame_invisible): ditto.
15507         (Ficonify_frame): ditto.
15508
15509         * window.h: change Fset_window_buffer signature.
15510
15511         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15512         (Fset_window_buffer): allow recording of buffer if the window is
15513         the selected window.
15514         (window_loop): Use new Fset_window signature.
15515
15516 2000-01-23  Daniel Pittman  <daniel@danann.net>
15517
15518         * config.h.in: Added template for `HAVE_ATHENA_3D'
15519
15520 2000-01-29  Andy Piper  <andy@xemacs.org>
15521
15522         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15523
15524         * gutter.c (output_gutter): Don't output if the window isn't live.
15525
15526 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15527
15528         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15529         of 01/12/00: Moved SetFocus back here where it belongs.
15530
15531 2000-01-23  Andy Piper  <andy@xemacs.org>
15532
15533         * s/cygwin32.h: declare printer things.
15534
15535 2000-01-26  Andy Piper  <andy@xemacs.org>
15536
15537         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15538         Alexander.
15539
15540 2000-01-24  Andy Piper  <andy@xemacs.org>
15541
15542         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15543         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15544
15545         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15546
15547         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15548
15549         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15550
15551         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15552         (mswindows_output_display_block): Avoid local shadows.
15553
15554         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15555         (mswindows_enqueue_mouse_button_event): ditto.
15556         (mswindows_handle_gui_wm_command): remove declaration.
15557
15558         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15559         warnings.
15560
15561         * console-msw.h: Avoid shadows.
15562         (mswindows_get_toolbar_button_text):
15563         (emacs_mswindows_create_stream_pair):
15564         (emacs_mswindows_delete_stream_pair):
15565         (mswindows_handle_toolbar_wm_command): declare.
15566
15567         * device-msw.c (build_syscolor_string): Avoid shadows.
15568
15569 2000-01-23  Andy Piper  <andy@xemacs.org>
15570
15571         * glyphs-widget.c (widget_instantiate): reverse the items for
15572         layouts so that children are in the expected order.
15573
15574 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15575
15576         * ralloc.c: safe_bcopy ==> memmove
15577         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15578         * s/msdos.h: Remove BCOPY macros.
15579         * insdel.c (gap_right): Remove BCOPY conditional code.
15580         * insdel.c (gap_left): Remove BCOPY conditional code.
15581         XEmacs demands a working ANSI C compiler - hence memmove.
15582
15583         * regex.c (regex_compile): Remove accidental use of trigraphs.
15584
15585 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15586
15587         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15588         event timestamp.
15589
15590 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15591
15592         * event-msw.c (mswindows_drain_windows_queue): Added the
15593         parameter.
15594         (mswindows_need_event): Commented the call to
15595         mswindows_drain_windows_queue().
15596         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15597         only.
15598
15599         * console-msw.h: Moved a few function prototypes here from
15600         event-msw.c.
15601
15602         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15603         parameter from unsigned short to unsigned long.
15604         (Fmswindows_shell_execute): Added return value.
15605
15606 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15607
15608         * sysdep.c (init_system_name):
15609           process-unix.c (unix_canonicalized_host_name):
15610         Don't call freeaddrinfo() if getaddrinfo() fails.
15611
15612         * process-unix.c (unix_open_unix_network_stream):
15613         Moved the code to get a port # into address loop.
15614
15615 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15616
15617         * buffer.c (reinit_vars_of_buffer):
15618         The right place to initialize conversion_in_dynarr and
15619         conversion_out_dynarr.
15620
15621         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15622
15623         * process-unix.c (unix_canonicalize_host_name): Muleize.
15624         (unix_open_network_stream): Muleize.
15625
15626         * buffer.h: Fix up prototypes for ralloc.c functions.
15627
15628 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15629         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15630         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15631                 instead of gethostbyname()
15632         * process-unix.c: In unix_canonicalize_host_name() and
15633                 unix_open_network_stream(), add code to use getaddrinfo()
15634                 instead of gethostbyname().
15635
15636 2000-01-27  Daniel Pittman <daniel@danann.net>
15637
15638         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15639         libs when built with flat Athena.
15640
15641 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15642
15643         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15644         Use coding standards for function prototypes.
15645
15646 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15647
15648         * dialog-msw.c (push_lisp_string_as_unicode):
15649         * doc.c (unparesseuxify_doc_string):
15650         * dired.c (Fuser_name_completion_1):
15651         * dired.c (Fuser_name_all_completions):
15652         * dired.c (free_user_cache):
15653         * dired.c (user_name_completion):
15654         * console-x.c (get_display_arg_connection):
15655         * minibuf.c (clear_echo_area_internal):
15656         * minibuf.c (echo_area_append):
15657         * eldap.c (Fldap_open):
15658         * eldap.c (Fldap_search_internal):
15659         * frame-x.c (x_set_frame_text_value):
15660         * frame-x.c (x_set_frame_properties):
15661         * frame-x.c (x_create_widgets):
15662         * redisplay-tty.c (term_get_fkeys_1):
15663         * objects-x.c (x_parse_nearest_color):
15664         * objects-x.c (x_valid_color_name_p):
15665         * objects-x.c (x_initialize_font_instance):
15666         * objects-x.c (x_list_fonts):
15667         * objects-x.c (x_find_charset_font):
15668         * tooltalk.c (Fadd_tooltalk_message_arg):
15669         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15670         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15671         * process-unix.c (unix_create_process):
15672         * ntproc.c (sys_spawnve):
15673         * sound.c (Fplay_sound_file):
15674         * sound.c (Fplay_sound):
15675         * buffer.c (init_initial_directory):
15676         * buffer.c (init_buffer):
15677         * editfns.c (init_editfns):
15678         * editfns.c (Ftemp_directory):
15679         * editfns.c (Fuser_full_name):
15680         * editfns.c (uncache_home_directory):
15681         * editfns.c (get_home_directory):
15682         * editfns.c (Fuser_home_directory):
15683         * editfns.c (Fformat_time_string):
15684         * editfns.c (Fcurrent_time_string):
15685         * gui-x.c (button_item_to_widget_value):
15686         * database.c (Fopen_database):
15687         * event-Xt.c (x_to_emacs_keysym):
15688         * event-Xt.c (x_event_to_emacs_event):
15689         * event-Xt.c (describe_event_window):
15690         * event-msw.c (mswindows_wnd_proc):
15691         * glyphs-eimage.c (jpeg_instantiate):
15692         * glyphs-eimage.c (gif_instantiate):
15693         * glyphs-eimage.c (png_instantiate):
15694         * glyphs-eimage.c (tiff_instantiate):
15695         * glyphs-x.c (xbm_instantiate_1):
15696         * glyphs-x.c (x_xbm_instantiate):
15697         * glyphs-x.c (x_xface_instantiate):
15698         * glyphs-x.c (autodetect_instantiate):
15699         * glyphs-x.c (cursor_font_instantiate):
15700         * glyphs-x.c (x_widget_instantiate):
15701         * glyphs-x.c (x_widget_set_property):
15702         * glyphs-x.c (x_widget_property):
15703         * glyphs-x.c (BUILD_GLYPH_INST):
15704         * print.c (write_string_to_stdio_stream):
15705         * print.c (output_string):
15706         * print.c (Falternate_debugging_output):
15707         * print.c (Fexternal_debugging_output):
15708         * glyphs-msw.c (extract_xpm_color_names):
15709         * glyphs-msw.c (mswindows_xpm_instantiate):
15710         * glyphs-msw.c (bmp_instantiate):
15711         * glyphs-msw.c (resource_name_to_resource):
15712         * glyphs-msw.c (mswindows_resource_instantiate):
15713         * glyphs-msw.c (xbm_instantiate_1):
15714         * glyphs-msw.c (mswindows_xbm_instantiate):
15715         * glyphs-msw.c (mswindows_xface_instantiate):
15716         * glyphs-msw.c (mswindows_widget_instantiate):
15717         * glyphs-msw.c (add_tree_item):
15718         * glyphs-msw.c (add_tab_item):
15719         * glyphs-msw.c (mswindows_combo_box_instantiate):
15720         * glyphs-msw.c (mswindows_widget_property):
15721         * glyphs-msw.c (mswindows_combo_box_property):
15722         * glyphs-msw.c (mswindows_widget_set_property):
15723         * console.c (stuff_buffered_input):
15724         * objects-msw.c (mswindows_initialize_color_instance):
15725         * objects-msw.c (mswindows_valid_color_name_p):
15726         * objects-msw.c (mswindows_list_fonts):
15727         * objects-msw.c (mswindows_font_instance_truename):
15728         * bytecode.c (optimize_compiled_function):
15729         * select-x.c (symbol_to_x_atom):
15730         * select-x.c (x_atom_to_symbol):
15731         * select-x.c (hack_motif_clipboard_selection):
15732         * select-x.c (selection_data_to_lisp_data):
15733         * select-x.c (lisp_data_to_selection_data):
15734         * select-x.c (Fx_get_cutbuffer_internal):
15735         * select-x.c (Fx_store_cutbuffer_internal):
15736         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15737         * buffer.h (TO_INTERNAL_FORMAT): New function.
15738         * emacs.c (make_arg_list_1):
15739         * emacs.c (make_argc_argv):
15740         * emacs.c (main_1):
15741         * emacs.c (Fdump_emacs):
15742         * emacs.c (split_string_by_emchar_1):
15743         * file-coding.h:
15744         * lisp.h:
15745         * lstream.h:
15746         * symsinit.h:
15747         * device-x.c (x_init_device):
15748         * device-x.c (Fx_valid_keysym_name_p):
15749         * device-x.c (Fx_get_font_path):
15750         * device-x.c (Fx_set_font_path):
15751         * glyphs.c (bitmap_to_lisp_data):
15752         * glyphs.c (pixmap_to_lisp_data):
15753         * alloc.c (make_ext_string): Use coding system arguments.  Update
15754         all callers.
15755         * alloc.c (build_string):
15756         * callproc.c (child_setup):
15757         * callproc.c (init_callproc):
15758         * fileio.c (lisp_strerror):
15759         * fileio.c (directory_file_name):
15760         * fileio.c (Fexpand_file_name):
15761         * fileio.c (Ffile_truename):
15762         * fileio.c (Fsysnetunam):
15763         * fileio.c (Fdo_auto_save):
15764         * sysdep.c (sys_readdir):
15765         * tests.c: New file.  Allow adding C tests.
15766         Replace GET_* macros with a more comprehensible and flexible
15767         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15768         Modify all calls.
15769         Any coding system can be used to do format conversion.
15770         Eliminate enum external_data_format.
15771         Eliminate convert_to_external_format.
15772         Eliminate convert_to_internal_format.
15773         Make sure file-name, keyboard, terminal, and ctext are always
15774         defined as coding systems or aliases.  Make
15775         file-name-coding-system, terminal-coding-system, and
15776         keyboard-coding-system magical variables that are equivalent to
15777         defining the corresponding coding system aliases.
15778
15779         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15780         * file-coding.c (Fcoding_system_alias_p): New function.
15781         * file-coding.c (Fcoding_system_aliasee): New function.
15782         * file-coding.c (append_suffix_to_symbol): New function.
15783         * file-coding.c (dangling_coding_system_alias_p): New function.
15784         * file-coding.c (Ffind_coding_system):
15785         * file-coding.c (Fcopy_coding_system):
15786         * file-coding.c (encode_coding_no_conversion):
15787         * file-coding.c (syms_of_file_coding):
15788         * file-coding.c (vars_of_file_coding):
15789         Rewrite coding system alias code.
15790         Allow nested aliases, like symbolic links.
15791         Allow redefinition of coding system aliases.
15792         Prevent existence of dangling coding system aliases.
15793
15794         * dired.c (Fuser_name_completion_1):
15795         * dired.c (Fuser_name_all_completions):
15796         A crash would happen if user did QUIT in the middle of building
15797         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15798
15799         * lisp.h:
15800         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15801
15802         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15803         an unsigned char *.  Update all callers.
15804
15805 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15806
15807         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15808
15809 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15810
15811         * elhash.c (hentry_description): Use more portable definition.
15812         (resize_hash_table): Initialize new hentries using
15813         xnew_array_and_zero, thereby simplifying the code.
15814
15815         * mule-charset.c (make_charset): Make sure entire object is
15816         initialized, to avoid Purify warnings.
15817
15818         * alloc.c (resize_string): Fix unlikely crash with big strings.
15819
15820 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15821
15822         * realpath.c (xrealpath):
15823         Don't call getwd().
15824
15825 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15826
15827         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15828
15829 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15830
15831         * unexelfsgi.c (unexec): Change the way we decide which segment
15832         should be extended.
15833
15834         Assumption that .bss section should be outside the PT_LOADable
15835         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15836         it's present) is inside the 'data' segment. This would fail the
15837         test which was used to find a segment to grow and cover new
15838         heap. Instead of this assumption, I created another one - on IRIX
15839         the segment to grow should start below .bss and it's address
15840         should extent above the end of .bss. Once this segment is
15841         identified, it's grown to accommodate the new heap and new
15842         zero-length .bss section is added at the end of .data2.
15843
15844 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15845
15846         * eval.c (Feval): Wrong number of arguments should use original
15847         function, not the indirect_function version of it.
15848
15849 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15850
15851         * glyphs-x.c (x_button_instantiate): Don't add image if
15852         it is not a pixmap.
15853         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15854         is relative.
15855
15856 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15857
15858         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15859         declaration.
15860         (DEFVAR_INT_MAGIC): Ditto.
15861         (DEFVAR_BOOL_MAGIC): Ditto.
15862         * glyphs.h: Reindent backslash.
15863
15864 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15865
15866         * glyphs-widget.c (layout_query_geometry):
15867         (layout_layout): Use correct types for gheight, gwidth.
15868
15869 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15870
15871         * EmacsManager.c (QueryGeometry): Purified.
15872
15873 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15874
15875         * alloc.c (make_float): Make sure entire object is initialized, to
15876         avoid Purify warnings.
15877         (pdump_register_sub): Remove useless assignment.
15878         (pdump): Use xmalloc, not malloc.
15879         (pdump_load): Use xmalloc, not malloc.
15880
15881 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15882
15883         * callproc.c:
15884         * dired-msw.c:
15885         * fileio.c:
15886         * process-nt.c:
15887         * redisplay-msw.c:
15888         * sysdep.c: Removed redundant #include <windows.h>
15889
15890 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15891
15892         * frame.c (delete_frame_internal): Do not delete device when its
15893         implementation so declares.
15894         (delete_frame_internal): Set device selected frame to nil when
15895         last frame goes away.
15896
15897         * device-msw.c (msprinter_device_system_metrics): Implemented.
15898         (mswindows_device_system_metrics): Added 'device-dpi property.
15899
15900         * device.c: (Fdevice_printer_p): Added.
15901         Added 'offset-workspace device metric.
15902
15903         * console.h (device_metrics): Declared DM_offset_workspace.
15904
15905 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15906
15907         * fileio.c (Ffile_truename): Remove pointless and confusing
15908         initialization of elen.
15909
15910         * glyphs-widget.c: Compiler warning fixes.
15911
15912 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15913
15914         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15915         instead of a Lisp_Object as argument to make it consistent with
15916         the other LIVE_P macros.
15917         (CHECK_LIVE_PROCESS): New macro.
15918
15919         * process.c: Declare Qprocess_live_p.
15920         (Fprocess_live_p): New function.
15921         (create_process): Use PROCESS_LIVE_P.
15922         (read_process_output): Ditto.
15923         (set_process_filter): Ditto.
15924         (Fdelete_process): Ditto.
15925         (kill_buffer_processes): Ditto
15926         (process_send_signal): Use CHECK_LIVE_PROCESS.
15927         (Fprocess_input_coding_system): Check whether process is still
15928         alive (fix PR#1061).
15929         (Fprocess_output_coding_system): Ditto.
15930         (Fprocess_coding_system): Ditto.
15931         (Fset_process_input_coding_system): Ditto.
15932         (Fset_process_output_coding_system): Ditto.
15933
15934 2000-01-23  Andy Piper  <andy@xemacs.org>
15935
15936         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15937         layout and widget.
15938
15939         * glyphs.c (mark_image_instance): take into account changed
15940         image_instance format.
15941         (image_instance_equal): ditto.
15942         (image_instance_hash): ditto.
15943
15944         * glyphs-widget.c (widget_instantiate): Incorporate layout
15945         instantiation here. Delay layout of the layout until later.
15946         (layout_instantiate): deleted.
15947         (layout_query_geometry): new function. get the geometry of a
15948         layout.
15949         (layout_layout): layout a layout dynamically.
15950         (image_instantiator_widget): New function - splitting up
15951         image_instantiator_format_create_glyphs_widget for netwinder
15952         compilation.
15953         (image_instantiator_buttons):
15954         (image_instantiator_edit_fields):
15955         (image_instantiator_combo_box):
15956         (image_instantiator_scrollbar):
15957         (image_instantiator_progress_guage):
15958         (image_instantiator_tree_view):
15959         (image_instantiator_tab_control):
15960         (image_instantiator_labels):
15961         (image_instantiator_layout): ditto.
15962         (image_instantiator_format_create_glyphs_widget): Call preceding
15963         functions.
15964
15965 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15966
15967         * process.c (Fset_process_coding_system):
15968         * device-x.c (Fx_keysym_hash_table):
15969         Docstring fixes.
15970
15971         * lstream.c (Lstream_write): Return documented value, not 0.
15972
15973         * fileio.c (directory_file_name):
15974         (Fsubstitute_in_file_name):
15975         (Fsubstitute_insert_file_contents_internal):
15976         (Fwrite_region_internal):
15977         * emacs.c:
15978         * sysdep.c:
15979         * getloadavg.c:
15980         * systty.h:
15981         Remove vestigial APOLLO-conditional code.
15982
15983 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15984
15985         * getpagesize.h: Add guard macros.
15986         * libsst.h: Add guard macros.
15987         * libst.h: Add guard macros.
15988         * line-number.h: Add guard macros.
15989         * ndir.h: Add guard macros.
15990         * sysfloat.h: Add guard macros.
15991         * sysfile.h: Add guard macros.
15992         * sysproc.h: Add guard macros.
15993         * syswait.h: Add guard macros.
15994         * xintrinsic.h: Add guard macros.
15995         * xintrinsicp.h: Add guard macros.
15996         * xmmanager.h: Add guard macros.
15997         * xmmanagerp.h: Add guard macros.
15998         * xmprimitive.h: Add guard macros.
15999         * xmu.h: Add guard macros.
16000         * gpmevent.h: Add copyright statement. Add guard macros.
16001         * miscplay.h: Add guard macros.
16002         * *.h: Use consistent C-standards-approved guard macro names.
16003
16004         * opaque.c (make_opaque): Switch parameter order.
16005         * opaque.h (make_opaque): Switch parameter order.
16006         Update all callers.
16007         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
16008
16009         * config.h.in (type_checking_assert): Added.
16010         (bufpos_checking_assert): Added.
16011
16012 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16013
16014         * alloc.c: Harmless pdump changes.
16015         - Use countof().
16016         - spell alignment correctly.
16017         * sysdep.c: Use countof()
16018
16019 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16020
16021         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
16022         initially_selected_for_input() console method, default to 0.
16023         (semi_canonicalize_console_connection): Try to delegate to
16024         canonicalize_console_connection if no such console method.
16025         (canonicalize_console_connection): Vice versa.
16026         (print_console): Do not print nil connection.
16027
16028         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
16029         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
16030         (XDEVIMPF_FRAMELESS_OK): Added.
16031         (CONSOLE_INHERITS_METHOD): Added.
16032
16033         * console-msw.c (mswindows_canonicalize_console_connection):
16034         Added.
16035         (mswindows_canonicalize_device_connection): Added.
16036
16037         * console-msw.h (struct msprinter_device): Added this struct and
16038         accessor macros.
16039         (mswindows_device): Made fontlist a lisp object.
16040
16041         * device.c (semi_canonicalize_device_connection):  Try to delegate
16042         to canonicalize_device_connection if no such console method.
16043         (canonicalize_device_connection): Vice versa.
16044         (print_device): Do not print nil connection.
16045
16046         * device-msw.c (mswindows_init_device): Call InitCommonControls
16047         when have widgets.
16048         (mswindows_delete_device): Removed fontlist deallocation.
16049         (mswindows_mark_device): Added.
16050
16051         * events.c (event_equal): Added abort() at unreached code.
16052         (event_hash): Ditto.
16053
16054         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
16055         fallback tags of Windows devices.
16056
16057         * general.c (syms_of_general): Initialized Qmsprinter.
16058
16059         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16060         of fallback tags of Windows devices.
16061
16062         * lisp.h: Declared Qmsprinter.
16063
16064         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16065         of strings.
16066         (mswindows_list_fonts): Ditto.
16067         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16068         that it can be used by both mswindows and msprinter devices.
16069         (initialize_font_instance): Added.
16070         (mswindows_initialize_font_instance): Use it.
16071         (msprinter_initialize_font_instance): Added.
16072
16073         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16074         and implementation flags check.
16075         (redisplay_without_hooks): Changed the call to the above.
16076         (Fredraw_device): Ditto.
16077         (Fredisplay_device): Ditto.
16078
16079         * redisplay-msw.c (get_frame_dc): Implemented.
16080         (get_frame_compdc): Implemented.
16081         (many functions): Use the two functions above to get device
16082         contexts, ether for a window or a printer.
16083
16084 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16085
16086         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16087         initialization here.
16088         (init_symbols_once_early): Call it.
16089         * emacs.c (main_1): Call it.
16090         * symsinit.h: Declare it.
16091
16092 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16093
16094         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16095         Lisp_Object.
16096         (pdump_backtrace): Ditto.
16097         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16098         (pdump_get_entry): Abort if trying to register a null pointer.
16099         (pdump_dump_data): Cleanup types when relocating.
16100         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16101         (pdump_dump_rtables): Remove bad casts.
16102         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16103         Lisp_Object instead of a EMACS_INT for the hashtable
16104         reorganization.
16105
16106 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16107
16108         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16109
16110         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16111
16112         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16113
16114         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16115
16116 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16117
16118         * faces.h (FACE_STRIKETHRU_P): Added.
16119
16120         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16121         of font variants.
16122
16123         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16124         (mswindows_set_dc_font): New function, aware of font variants,
16125         separated from mswindows_update_dc.
16126
16127         * objects-msw.h (struct mswindows_font_instance_data): Added
16128         definition.
16129
16130         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16131         cached fonts and the data structure.
16132         (mswindows_initialize_font_instance): Added creation of font data
16133         structure.
16134         (mswindows_print_font_instance): Print at least something.
16135         (mswindows_create_font_variant): Implemented.
16136         (mswindows_get_hfont): Implemented.
16137
16138 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16139
16140         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16141         prototyping problem with msvc.
16142
16143         * emacs.c (main_1): added syms_of_gui_mswindows() call
16144
16145         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16146         syms_of_gui_mswindows() function
16147
16148         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16149
16150 2000-01-18  Martin Buchholz <martin@xemacs.org>
16151
16152         * XEmacs 21.2.27 is released.
16153
16154 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16155
16156         * glyphs-eimage.c (struct tiff_error_struct):
16157         (tiff_error_func):
16158         (tiff_warning_func):
16159         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16160
16161         * unexmips.c:
16162         * unexhp9k3.c:
16163         * unexfreebsd.c:
16164         * unexec.c: Remove vestigial Lucid C code.
16165         * unexalpha.c:
16166         * unexaix.c:
16167         * termcap.c:
16168         * libsst.c: Ansify.
16169         Remove declarations of errno and strerror().
16170
16171         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16172
16173         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16174
16175 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16176
16177         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16178         Optimize.
16179
16180 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16181
16182         * md5.c:
16183         * file-coding.c:
16184         * file-coding.h:
16185         Change enum eol_type to eol_type_t.
16186
16187 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16188
16189         * gui.c (get_gui_callback): Check cons before accessing car.
16190
16191 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16192
16193         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16194         (XSETSPECIFIER_TYPE): Ditto.
16195
16196 2000-01-17  Didier Verna  <didier@xemacs.org>
16197
16198         * redisplay.c (generate_fstring_runes): compute string size in
16199         characters, not bytes.
16200
16201 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16202
16203         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16204
16205 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16206
16207         * print.c (print_error_message): Call print_prepare().
16208
16209 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16210
16211         * .dbxrc: Renamed from dbxrc.
16212
16213         * events.c (event_to_character):
16214         Use `assert (foo)' instead of `if (!foo) abort()'
16215
16216         * .gdbinit (xtype): Add documentation.
16217         * .gdbinit (check-temacs): New function.
16218         * .gdbinit (check-xemacs): New function.
16219         * dbxrc (check-xemacs): New function.
16220         * dbxrc (check-xemacs): New function.
16221
16222 2000-01-14  Andy Piper  <andy@xemacs.org>
16223
16224         * glyphs-widget.c (widget_query_geometry): Make sure that we
16225         calculate default dimensions correctly.
16226
16227 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16228
16229         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16230
16231         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16232         pdump_wire'd variable.
16233
16234         * emacs.c: (main_1): Conditionalized calls to
16235         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16236
16237 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16238
16239         * window.c (Fset_window_configuration):
16240         * sysdep.c (_start):
16241         * input-method-motif.c (res):
16242         * event-Xt.c (Xt_process_to_emacs_event):
16243         Simple compiler warning fixes.
16244
16245         * bytecode.c (funcall_compiled_function): Use the original
16246         function symbol on the backtrace list in preference to the
16247         compiled_function object in error messages.
16248
16249 2000-01-13  Andy Piper  <andy@xemacs.org>
16250
16251         * glyphs-x.c (update_widget_face): Make sure we update the widget
16252         background as well as foreground.
16253
16254 2000-01-13  Andy Piper  <andy@xemacs.org>
16255
16256         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16257         fields to subwindow.
16258         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16259         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16260         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16261         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16262
16263         * glyphs-widget.c (check_valid_tab_orientation): new function.
16264         (initialize_widget_image_instance): zero orientation and
16265         justification.
16266         (widget_instantiate): pick up orientation.
16267         (tab_control_query_geometry): return appropriate values for
16268         vertical tabs.
16269
16270         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16271         appropriate creation flags for left, right and bottom tabs.
16272
16273         * s/cygwin32.h: add tab definitions.
16274
16275 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16276
16277         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16278         frame upon hiding a subwindow.
16279         (mswindows_button_instantiate): Changed the push button style to
16280         BS_PUSHBUTTON.
16281         (mswindows_button_instantiate): Removed button BS_NOTIFY
16282         style.
16283         (mswindows_button_instantiate): Removed redundant check for
16284         a disabled gui item.
16285         (mswindows_button_instantiate): Made use of WS_TABSTOP
16286         consistent: "operable" controls (edit, button, tree, scroll) have
16287         this style, "display-only" ones (static, progress gauge) do
16288         not. This style is currently ignored by XEmacs though. Also,
16289         removed the WS_EX_CONTROLPARENT style - it is not for children,
16290         it is for their parents!
16291         (mswindows_edit_field_instantiate): Ditto.
16292         (mswindows_progress_gauge_instantiate): Ditto.
16293         (mswindows_tree_view_instantiate): Ditto.
16294         (mswindows_tab_control_instantiate): Ditto.
16295         (mswindows_scrollbar_instantiate): Ditto.
16296         (mswindows_combo_box_instantiate): Ditto.
16297         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16298         style to the "clip" window.
16299         (mswindows_button_instantiate): Removed compilation warning by
16300         equally typing terms of the ?: operator.
16301
16302 2000-01-12  Didier Verna  <didier@xemacs.org>
16303
16304         * redisplay.c (generate_fstring_runes): new parameter holding the
16305         last modeline-format extent.
16306         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16307         extent, fill the glyph block with it.
16308         (generate_fstring_runes): handle these parameters.
16309         (generate_formatted_string_db): ditto.
16310
16311         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16312         glyphs'extents in the modeline.
16313
16314 1999-01-11  Mike Woolley  <mike@bulsara.com>
16315
16316         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16317         256Mb, as a workaround for the non-starting problem many people
16318         have experienced.
16319
16320 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16321
16322         * console-tty.c (Fset_console_tty_output_coding_system):
16323         Force redrawing tty frame.
16324
16325 2000-01-10  Didier Verna  <didier@xemacs.org>
16326
16327         * redisplay.c (generate_fstring_runes): fix size computation bug.
16328
16329 2000-01-09  William M. Perry <wmperry@aventail.com>
16330
16331         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16332
16333 2000-01-09  Andy Piper  <andy@xemacs.org>
16334
16335         * glyphs-msw.c: index -> i to avoid shadows.
16336         (xbm_create_bitmap_from_data): make static.
16337         (check_valid_string_or_int): deleted.
16338         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16339
16340         * glyphs-x.c (x_update_subwindow): remove unused args.
16341
16342         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16343         back pointer - this is done in allocate_image_instance.
16344         (query_string_font): return Qnil to make the compiler happy.
16345         (unmap_subwindow): set to ~0 to make the compiler happy.
16346         (glyph_query_geometry): comment out until used.
16347         (glyph_layout): ditto.
16348
16349 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16350
16351         * insdel.c (signal_after_change): Remove extraneous unbind_to().