(U-00020134): Use `ideographic-{radical|strokes}@{ucs|cns}' and
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Fput_char_attribute): When processing a reference of
4         a character, put into the end of the reversed reference of each
5         target character.
6
7 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
8
9         * chartab.c (Q_same): Deleted.
10         (Q_same_of): Deleted.
11         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
12         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
13         for `{<-|->}same'.
14         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
15
16 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
17
18         * chartab.c (Q_vulgar): Deleted.
19         (Q_vulgar_of): Deleted.
20         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
21         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
22         for `{<-|->}vulgar'.
23         (syms_of_chartab): Don't define `{<-|->}vulgar'.
24
25 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
26
27         * chartab.c (Fput_char_attribute): Convert char-refs in value of
28         `{<-|->}wrong[^*]*' to characters and put reverse links.
29         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
30         for `{<-|->}wrong[^*]*'.
31
32 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
33
34         * chartab.c (Q_vulgar): New variable.
35         (Q_vulgar_of): New variable.
36         (Fput_char_attribute): Convert char-refs in value of
37         `{->|<-}vulgar' to characters and put reverse links.
38         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
39         for `{->|<-}vulgar'.
40         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
41
42 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
43
44         * text-coding.c (decode_add_er_char): Must to quote prefix string
45         as regexp.
46
47 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
48
49         * mule-charset.c (put_char_ccs_code_point): Store characters of
50         =ucs whose code_points >= 0xF0000.
51
52 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
53
54         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
55         CHISE.
56         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
57         CHISE.
58         (complex_vars_of_mule_charset): Add new coded-charset
59         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
60         builtin characters over 0xEFFFF.
61
62         * chartab.c (syms_of_chartab): Don't define symbol
63         `system-char-id' in every case.
64
65         * char-ucs.h (Qsystem_char_id): New extern variable.
66         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
67
68 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
69
70         * text-coding.c (char_encode_utf8): Try to use entity-references
71         for U-000F0000 ...  U-0010FFFF.
72
73 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
74
75         * text-coding.c (ER_BUF_SIZE): New macro.
76         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
77         `er_buf'.
78         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
79         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
80
81 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
82
83         * chartab.c (find_char_feature_in_family): New function.
84         (Fchar_feature): Use `find_char_feature_in_family' with
85         `->identical', `<-subsumptive' and `<-denotational'.
86
87 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
88
89         * text-coding.c (char_encode_as_entity_reference): Allow prefix
90         within 8 characters; fix infinite loop.
91
92 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
93
94         * chartab.c (Q_same): New variable.
95         (Q_same_of): New variable.
96         (Fput_char_attribute): Convert char-refs in value of `{->|<-}same'
97         to characters and put reverse links.
98         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
99         for `{->|<-}same'.
100         (syms_of_chartab): Add new symbols `{->|<-}same'.
101
102 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
103
104         * chartab.c (Q_component): New variable.
105         (Q_component_of): Likewise.
106         (Fput_char_attribute): Convert char-refs in value of
107         `{->|<-}ideographic-component-forms' to characters and put reverse
108         links.
109         (syms_of_chartab): Add new symbols
110         `{->|<-}ideographic-component-forms'.
111
112 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
113
114         * chartab.c (Q_identical): New variable.
115         (Q_identical_from): New variable.
116         (Fchar_feature): Regard `->identical' as a feature to find
117         ancestors.
118         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
119         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
120         for `{->|<-}identical'.
121         (syms_of_chartab): Add new symbols `{->|<-}identical'.
122
123 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
124
125         * char-ucs.h (encode_char_2): New inline function.
126         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
127
128 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
129
130         * chartab.c (Fput_char_attribute): Convert char-specs to
131         characters in value of `ideographic-structure'.
132         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
133         for `{<-|->}simplified(@...)'.
134         (Fdefine_char): bTry to use predefined character's id.
135
136 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * fns.c (simplify_char_spec): Try to convert builtin chars to
139         defined chars.
140
141 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
142
143         * chartab.c (Fput_char_attribute): Convert char-refs in value of
144         `<-simplified[^*]*' to characters and put reverse links.
145
146 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * chartab.c (Q_subsumptive): Renamed from Q_unified.
149         (Q_subsumptive_from): Renamed from Q_unified_from.
150         (Fchar_feature): Use `Q_subsumptive_from' instead of
151         `Q_unified_from'.
152         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
153         `Q_unified'.
154         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
155         `<-unified' to `<-subsumptive'.
156
157 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
158
159         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
160         inheritance itself; fix typo; stop recursive search if cyclic
161         inheritance is found.
162
163 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
164
165         * chartab.c (Q_denotational): New variable.
166         (Q_denotational_from): New variable.
167         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
168         (put_char_attribute): New function.
169         (Fput_char_attribute): Use `put_char_attribute'; regard
170         `->denotational' and `<-denotational' as same as `->unified' and
171         `<-unified'.
172         (syms_of_chartab): Add new symbols `->denotational' and
173         `<-denotational'.
174
175 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
176
177         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
178         `Fget_char_attribute'.
179         (Fchar_variants): Likewise.
180         (get_char_table): Likewise.
181         (Fchar_feature): New function.
182         (put_char_composition): Use `Fchar_feature' instead of
183         `Fget_char_attribute'.
184         (Fput_char_attribute): Likewise; don't put the target character
185         into its `->unified' value.
186         (syms_of_chartab): Add new builtin function `char-feature'.
187
188 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
189
190         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
191         `Fget_char_attribute'.
192         (char_encode_utf8): Likewise.
193
194         * chartab.h: Add an EXFUN for `Fchar_feature'.
195
196 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
197
198         * chartab.c (Vnext_defined_char_id): New variable.
199         (Fput_char_attribute): Accept characters in `->unified'.
200         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
201         new characters which are not related with builtin char-id ranges.
202         (vars_of_chartab): Add new variable `next-defined-char-id'.
203
204 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
205
206         * chartab.c (Q_unified): New variable.
207         (Q_unified_from): New variable.
208         (Fput_char_attribute): Add code for `->unified'.
209         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
210         XEmacs CHISE.
211
212 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
213
214         * mule-charset.c (decode_ccs_conversion): New function.
215         (decode_defined_char): Use `decode_ccs_conversion'.
216         (decode_builtin_char): Likewise.
217
218 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
219
220         * char-ucs.h: Change some charset-ids of private coded-charsets.
221
222 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
223
224         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
225         (char_encode_as_entity_reference): Likewise.
226         (decode_coding_big5): Modify for `decode_defined_char' and
227         `DECODE_CHAR'.
228         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
229         avoid compiler warning.
230         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
231
232         * mule-charset.c (decode_defined_char): Add new argument
233         `without_inheritance'.
234         (Fdecode_char): Add new optional argument `without_inheritance'.
235         (Fdecode_builtin_char): Modify for `Fdecode_char'.
236
237         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
238         (simplify_char_spec): Likewise.
239
240         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
241         setting.
242
243         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
244         (map_char_table): Likewise.
245         (Fdefine_char): Use `Fdecode_char' without inheritance.
246         (Ffind_char): Modify for `Fdecode_char'.
247
248         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
249
250         * char-ucs.h (decode_defined_char): Add new argument
251         `without_inheritance'.
252         (DECODE_CHAR): Likewise.
253         (MAKE_CHAR): Modify for `DECODE_CHAR'.
254
255 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
256
257         * chartab.c (Vchise_system_db_directory): New variable.
258         (vars_of_chartab): Add new variable `chise-system-db-directory'.
259
260 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
261
262         * chartab.c: EXFUN `Fmount_char_attribute_table'.
263         (print_chartab_range): Don't define when `UTF2000' is defined.
264         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
265         `CHISE_DS_open'.
266
267 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
268
269         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
270         and optional argument `rehash' is specified, call
271         `open_chise_data_source_maybe' before
272         `chise_ds_foreach_char_feature_name' is called.
273
274 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
275
276         * chartab.c (char_attribute_list_reset_map_func): New function
277         when HAVE_LIBCHISE is defined.
278         (Fchar_attribute_list): Add new optional argument `rehash' when
279         HAVE_LIBCHISE is defined.
280         (open_chise_data_source_maybe): Use "chise-db" instead of
281         "char-db".
282         (char_attribute_system_db_file): Likewise.
283         (Fload_char_attribute_table): Use
284         `chise_feature_foreach_char_with_value' instead of
285         `chise_char_feature_value_iterate'.
286
287 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * chartab.c (Vchise_db_directory): New variable.
290         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
291
292 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
293
294         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
295         instead of HAVE_CHISE to specify using with libchise.
296
297         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
298
299         * chartab.h: Don't use HAVE_CHISE_CLIENT.
300
301         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
302         defined or HAVE_LIBCHISE_LIBCHISE is defined.
303         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
304         is defined.
305         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
306         HAVE_CHISE to specify using with libchise.
307         (syms_of_chartab): Don't define symbol `system-char-id' when
308         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
309
310 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
311
312         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
313         specify CHISE DB support.
314         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
315         of `char_attribute_system_db_file' to check feature DB file.
316
317         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
318         HAVE_CHISE_CLIENT to specify CHISE DB support.
319
320         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
321         specify CHISE DB support.
322         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
323         not defined.
324         (Freset_char_attribute_table): Use `chise_feature_setup_db'
325         instead of `char_attribute_system_db_file' to check feature DB
326         file.
327
328 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
329
330         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
331         `HAVE_CHISE_CLIENT'.
332
333 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
334
335         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
336         (Fsave_charset_mapping_table): Don't use
337         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
338
339         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
340         (HAVE_LIBCHISE): New macro.
341
342         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
343
344         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
345         (Fsave_char_attribute_table): Don't use
346         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
347
348 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
349
350         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
351         defined.
352         (save_uint16_byte_table): Likewise.
353         (save_byte_table): Likewise.
354         (char_table_get_db): Use `chise_ds_load_char_feature_value'
355         instead of `chise_char_load_feature_value'.
356         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
357
358 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
359
360         * chartab.h (struct Lisp_Char_Table): Delete member
361         `feature_table' if CHISE is defined.
362
363         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
364         (Fcopy_char_table): Likewise.
365         (char_table_open_db_maybe): Likewise.
366         (char_table_close_db_maybe): Likewise.
367         (char_table_get_db): Likewise.
368         (Fmount_char_attribute_table): Likewise.
369         (Fload_char_attribute_table): Likewise.
370
371 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
372
373         * mule-charset.c (load_char_decoding_entry_maybe): Use
374         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
375         `chise_ccs_decode'.
376
377 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
378
379         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
380         instead of `chise_open_data_source'.
381         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
382         `chise_ds_close'.
383
384 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
385
386         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
387         instead of `chise_ds_open_feature_table'.
388         (char_table_close_db_maybe): Don't use `chise_ft_close'.
389
390 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
391
392         * mule-charset.c (Fsave_charset_mapping_table): Use
393         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
394         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
395         `chise_ccs_sync' instead of `chise_ccst_close'.
396         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
397
398         * chartab.c (open_chise_data_source_maybe): Modify for
399         `chise_open_data_source'.
400         (char_table_open_db_maybe): Modify for
401         `chise_ds_open_feature_table'.
402
403 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
404
405         * mule-charset.c (load_char_decoding_entry_maybe): Use
406         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
407         `chise_ccst_close'.
408
409 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
410
411         * mule-charset.c (Fsave_charset_mapping_table): Use
412         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
413         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
414         `chise_dt_put_char' and `chise_dt_close'.
415         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
416         `chise_ccs_decode' and `chise_ccst_close' instead of
417         `chise_ds_open_decoding_table', `chise_dt_get_char' and
418         `chise_dt_close'.
419
420         * chartab.c (char_table_get_db): Use
421         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
422         (load_char_attribute_table_map_func): Modify for
423         `chise_char_feature_value_iterate'.
424         (Fload_char_attribute_table): Use
425         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
426
427 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
428
429         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
430
431 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
432
433         * chartab.c (put_char_table): Modify for inherited coded-charsets
434         in XEmacs CHISE.
435
436 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
437
438         * chartab.c (Fput_char_table_map_function): Fixed.
439         (word_boundary_p): Don't check charset in XEmacs CHISE.
440
441 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
442
443         * mule-charset.c (Fsave_charset_mapping_table): Use
444         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
445         instead of `chise_open_decoding_table'; refer
446         `default_chise_data_source'; use `chise_dt_close' instead of
447         `chise_close_decoding_table'.
448         (load_char_decoding_entry_maybe): Likewise.
449
450         * chartab.c (default_chise_data_source): New variable when `CHISE'
451         is defined.
452         (Fcopy_char_table): `ct->ds' is deleted.
453         (open_chise_data_source_maybe): New function.
454         (Fclose_char_data_source): New function.
455         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
456         use `chise_ds_open_feature_table' instead of
457         `chise_open_feature_table'.
458         (char_table_close_db_maybe): Use `chise_ft_close' instead of
459         `chise_close_feature_table'; `cit->ds' is deleted.
460         (syms_of_chartab): Add new builtin function
461         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
462
463         * chartab.h (default_chise_data_source): New extern variable.
464         (open_chise_data_source_maybe): New prototype.
465         (struct Lisp_Char_Table): Delete `ds'.
466
467 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
468
469         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
470         `CHISE' is defined.
471
472 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
473
474         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
475         not defined; add code for non-libchise setting.
476         (char_table_close_db_maybe): Likewise.
477         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
478         defined.
479         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
480         even if `CHISE' is not defined.
481         (Freset_char_attribute_table): Likewise.
482         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
483         `char_table_close_db_maybe' even if `CHISE' is not defined; use
484         `char_table_get_db'.
485         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
486         `char_table_close_db_maybe' even if `CHISE' is not defined.
487
488 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
489
490         * chartab.c (char_table_open_db_maybe): New function.
491         (char_table_close_db_maybe): New function.
492         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
493         (Freset_char_attribute_table): Likewise.
494         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
495         `char_table_close_db_maybe'.
496         (Fload_char_attribute_table): Likewise.
497
498 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
499
500         * chartab.c: Don't include <chise.h> because it is included in
501         chartab.h.
502         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
503         defined.
504         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
505         `CHISE' is defined.
506         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
507         `CHISE' is defined.
508         (Fclose_char_attribute_table): Close `ct->feature_table' and
509         `ct->ds' when `CHISE' is defined.
510         (Freset_char_attribute_table): Likewise.
511         (load_char_attribute_maybe): Use `cit->ds' and
512         `cit->feature_table' when `CHISE' is defined.
513         (Fload_char_attribute_table): Likewise.
514
515         * chartab.h: Include <chise.h> when `CHISE' is defined.
516         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
517         when `CHISE' is defined.
518
519 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
520
521         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
522         is defined.
523         (char_table_description): Likewise.
524         (Fmake_char_table): Likewise.
525         (Fcopy_char_table): Likewise.
526         (Fmount_char_attribute_table): Likewise.
527         (Fclose_char_attribute_table): Likewise.
528         (Freset_char_attribute_table): Likewise.
529         (load_char_attribute_maybe): Likewise.
530         (Fload_char_attribute_table): Likewise.
531
532         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
533         defined.
534
535 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
536
537         * chartab.c (load_char_attribute_table_map_func): New function
538         when CHISE is defined.
539         (Qload_char_attribute_table_map_function): Don't define when CHISE
540         is defined.
541         (Fload_char_attribute_table_map_function): Likewise.
542         (Fload_char_attribute_table): Use libchise when `CHISE' is
543         defined.
544         (syms_of_chartab): Don't define
545         `load-char-attribute-table-map-function' when CHISE is defined.
546
547 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
548
549         * chartab.c: Include <chise.h> when `CHISE' is defined.
550         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
551
552 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
553
554         * mule-charset.c (charset_code_point): Fix problem when searching
555         in mother CCS fails with `defined_only' mode.
556
557 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
558
559         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
560         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
561         (put_char_composition): Likewise.
562         (Fput_char_attribute): Likewise.
563         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
564
565 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
566
567         * chartab.c (Q_ucs): Deleted.
568         (Fput_char_attribute): Don't refer `->ucs'.
569         (Fdefine_char): Likewise.
570         (Ffind_char): Likewise.
571         (syms_of_chartab): Delete `->ucs'.
572
573 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
574
575         * mule-charset.c (Qmap_cns11643_2): Renamed from
576         `Qchinese_cns11643_2'.
577         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
578         `chinese-cns11643-2'.
579         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
580         `=cns11643-2'.
581
582 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
583
584         * mule-charset.c (Qmap_cns11643_1): Renamed from
585         `Qchinese_cns11643_1'.
586         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
587         `chinese-cns11643-1'.
588         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
589         `=cns11643-1'.
590
591 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
592
593         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
594         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
595         `chinese-gb12345'.
596         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
597         `=gb12345'.
598
599 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
600
601         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
602         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
603         `chinese-gb2312'.
604         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
605         `=gb2312'.
606
607 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
608
609         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
610         (syms_of_mule_charset): Add new symbol `=big5' instead of
611         `chinese-big5'.
612         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
613
614 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
615
616         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
617         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
618         `korean-ksc5601'.
619         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
620         `=ks-x1001'.
621
622 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
623
624         * mule-charset.c (Qmap_jis_x0212): Renamed from
625         `Qjapanese_jisx0212'.
626         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
627         `japanese-jisx0212'.
628         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
629         `=jis-x0212'.
630
631 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
632
633         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
634         `Qjapanese_jisx0208'.
635         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
636         of `japanese-jisx0208'.
637         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
638         `=jis-x0208-1983'.
639
640 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
641
642         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
643         `Qjapanese_jisx0208_1978'.
644         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
645         of `japanese-jisx0208-1978'.
646         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
647         `=jis-x0208-1978'.
648
649 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
650
651         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
652         only for XEmacs CHISE.
653
654 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
655
656         * char-ucs.h: Compact non-ISO-IR charset-ids.
657         (LEADING_BYTE_UCS): Changed to -177.
658         (LEADING_BYTE_CONTROL_1): Changed to -77.
659         (LEADING_BYTE_UCS_BMP): Changed to -176.
660         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
661
662 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
663
664         * mule-charset.c (Qiso_ir): New variable.
665         (Fmake_charset): Recognise new property `iso-ir'.
666         (syms_of_mule_charset): Add new symbol `iso-ir'.
667
668 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
669
670         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
671         n to -n; charset-id of non ISO-IR sets are changed to positive
672         numbers.
673
674 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
675
676         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
677         for &MCS-XXXXXXXX; values.
678
679 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
680
681         * mule.c (Vxemacs_chise_version): Renamed from
682         `Vutf_2000_version'.
683         (vars_of_mule): Add new variable `xemacs-chise-version'; define
684         `utf-2000-version' as an alias for `xemacs-chise-version'.
685
686 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
687
688         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
689         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
690         defined.
691
692         * config.h.in (CHISE): New macro.
693
694 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
695
696         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
697         of `ucs'.
698         (Qmap_ucs): New variable.
699         (syms_of_mule_charset): Add new symbol `=ucs'.
700         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
701
702         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
703         (simplify_char_spec): Likewise.
704
705         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
706
707         * char-ucs.h (Qmap_ucs): New extern variable.
708
709 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
710
711         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
712         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
713         don't define it when UTF2000 is not defined.
714         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
715         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
716         when UTF2000 is not defined.
717         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
718         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
719
720 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
721
722         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
723
724         * mule-charset.c (Vcharset_ucs_gb): Deleted.
725         (Qucs_gb): Deleted.
726         (syms_of_mule_charset): Delete `ucs-gb'.
727         (complex_vars_of_mule_charset): Likewise.
728
729 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
730
731         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
732
733         * mule-charset.c (Vcharset_ucs_cns): Deleted.
734         (Qucs_cns): Deleted.
735         (syms_of_mule_charset): Delete `ucs-cns'.
736         (complex_vars_of_mule_charset): Likewise.
737
738 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
739
740         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
741
742         * mule-charset.c (Vcharset_ucs_jis): Deleted.
743         (Qucs_jis): Deleted.
744         (syms_of_mule_charset): Delete `ucs-jis'.
745         (complex_vars_of_mule_charset): Likewise.
746
747 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
748
749         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
750
751         * mule-charset.c (Vcharset_ucs_ks): Deleted.
752         (Qucs_ks): Deleted.
753         (syms_of_mule_charset): Delete `ucs-ks'.
754         (complex_vars_of_mule_charset): Likewise.
755
756 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
757
758         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
759         (Qideograph_daikanwa_2): Deleted.
760         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
761         (complex_vars_of_mule_charset): Likewise.
762
763         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
764         (LEADING_BYTE_DAIKANWA_1): Deleted.
765         (LEADING_BYTE_DAIKANWA_2): Deleted.
766         (MIN_CHAR_DAIKANWA): Deleted.
767         (MAX_CHAR_DAIKANWA): Deleted.
768
769 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
770
771         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
772         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
773         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
774
775         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
776         (Vcharset_ideograph_daikanwa): Deleted.
777         (Qideograph_hanziku_{1..12}): Deleted.
778         (Qideograph_daikanwa): Deleted.
779         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
780         Vcharset_ideograph_daikanwa.
781         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
782         `ideograph-hanziku-{1..12}'.
783         (complex_vars_of_mule_charset): Likewise.
784
785 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
786
787         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
788
789         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
790         (Qideograph_gt_pj_{1..11}): Deleted.
791         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
792         (complex_vars_of_mule_charset): Likewise.
793
794 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
795
796         * mule-charset.c (Vcharset_ucs_big5): Deleted.
797         (Vcharset_ideograph_gt): Deleted.
798         (Qucs_big5): Deleted.
799         (Qideograph_gt): Deleted.
800         (syms_of_mule_charset): Delete symbol `ucs-big5' and
801         `ideograph-gt'.
802         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
803         and `ideograph-gt'.
804
805         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
806         (LEADING_BYTE_GT): Deleted.
807         (MIN_CHAR_GT): Deleted.
808         (MAX_CHAR_GT): Deleted.
809
810 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
811
812         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
813
814 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
815
816         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
817         (save_uint16_byte_table): Likewise.
818         (save_byte_table): Likewise; convert values by it.
819         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
820         for `ideographic-structure'.
821         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
822         as the filter for `ideographic-structure'.
823
824 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
825
826         * chartab.c (put_char_composition): New function.
827         (Fput_char_attribute): Use `put_char_composition'; use
828         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
829
830         * fns.c (simplify_char_spec): New function.
831         (char_ref_simplify_spec): New function.
832         (Fchar_refs_simplify_char_specs): New function.
833         (syms_of_fns): Add new builtin function
834         `char-refs-simplify-char-specs'.
835
836 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
837
838         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
839         (Qideograph_cbeta): Deleted.
840         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
841         (complex_vars_of_mule_charset): Likewise.
842
843         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
844         (MIN_CHAR_CBETA): Comment out.
845         (MAX_CHAR_CBETA): Likewise.
846
847 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
848
849         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
850         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
851         CHISE client feature.
852
853 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
854
855         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
856
857 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
858
859         * mule-charset.c (charset_lookup_description_1): Use
860         `NUM_LEADING_BYTES' in UTF-2000.
861
862 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
863
864         * char-ucs.h (GC_CHARSETP): Deleted.
865
866 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
867
868         * char-ucs.h (MAX_CHAR_GT): Updated.
869
870 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
871
872         * text-coding.c: Sync with XEmacs 21.4.10.
873
874 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
875
876         * mule-charset.c (Vcharset_china3_jef): Deleted.
877         (Qchina3_jef): Deleted.
878         (syms_of_mule_charset): Don't define `china3-jef'.
879         (complex_vars_of_mule_charset): Likewise.
880
881         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
882         (MIN_CHAR_CHINA3_JEF): Comment out.
883         (MAX_CHAR_CHINA3_JEF): Comment out.
884
885 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
886
887         * mule-charset.c (Vcharset_ucs_gb): New variable.
888         (Qucs_gb): New variable.
889         (syms_of_mule_charset): Add new symbol `ucs-gb'.
890         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
891
892         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
893
894 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
895
896         * mule-charset.c (charset_code_point): if a coded-charset has a
897         final-byte, don't inherit the builtin range of the mother CCS.
898
899 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
900
901         * mule-charset.c (charset_code_point): Fix problem about
902         inheritance.
903
904 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
905
906         * mule-charset.c (decode_builtin_char): Reorganized.
907
908 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
909
910         * text-coding.c (char_encode_as_entity_reference): Modify for
911         `charset_code_point'.
912         (char_encode_shift_jis): Likewise.
913         (char_encode_big5): Likewise.
914         (char_encode_utf8): Likewise.
915         (char_encode_iso2022): Likewise.
916
917         * mule-charset.c (charset_code_point): Add new argument
918         `defined_only'.
919         (Fencode_char): Add new optional argument `defined_only'.
920
921         * chartab.c (put_char_table): Modify for `charset_code_point'.
922
923         * char-ucs.h (charset_code_point): Add new argument
924         `defined_only'.
925         (encode_char_1): Modify for `charset_code_point'.
926
927 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
928
929         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
930         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
931
932 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
933
934         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
935         (Qjis_x0208): Likewise.
936         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
937         XCHARSET_FINAL(charset).
938         (charset_code_point): Modify condition for final-byte based
939         builtin-chars.
940         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
941         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
942         in UTF-2000; specify `=jis-x0208' as the mother of
943         `japanese-jisx0208-1978', `japanese-jisx0208' and
944         `japanese-jisx0208-1990' in UTF-2000.
945
946 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
947
948         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
949
950 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
951
952         * text-coding.c (decode_coding_utf16): Support UTF-16.
953         (char_encode_utf16): Fixed.
954
955 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
956
957         * text-coding.c (Qutf16): New variable in MULE.
958         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
959         (Fcoding_system_type): Add `utf-16' in MULE.
960         (struct detection_state): Add a structure for utf16 in MULE.
961         (detect_coding_type): Setup st->utf16.mask in MULE.
962         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
963         MULE.
964         (reset_encoding_stream): Use `char_encode_utf16' and
965         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
966         (detect_coding_utf16): New function [incomplete].
967         (decode_coding_utf16): New function [support only UCS-2].
968         (char_encode_utf16): New function.
969         (char_finish_utf16): New function.
970         (syms_of_file_coding): Add new symbol `utf-16'; setup
971         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
972
973         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
974         UTF-2000.
975         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
976         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
977
978 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
979
980         * chartab.c (put_char_table): When a charset is specified as a
981         range in UTF-2000, don't support builtin characters.
982
983 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
984
985         * mule-charset.c (decode_defined_char): Don't refer external
986         database if Qunbound or Qnil are found.
987         (Fsave_charset_mapping_table): Don't define it if
988         HAVE_CHISE_CLIENT is not defined.
989         (Freset_charset_mapping_table): New function.
990         (load_char_decoding_entry_maybe): Store Qnil if a character is not
991         found in external database.
992         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
993         if HAVE_CHISE_CLIENT is not defined; add new builtin function
994         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
995
996 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
997
998         * text-coding.c (decode_coding_utf8): Check CCS is specified or
999         not.
1000
1001 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1002
1003         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1004         Q_lowercase, Q_uppercase in UTF-2000.
1005
1006         * chartab.c (get_char_table): Add special code for the standard
1007         case table to use character attribute `->downcase' and
1008         `->uppercase' for case operations in UTF-2000.
1009
1010         * casetab.c (Qflippedcase): New variable in UTF-2000.
1011         (Q_lowercase): Likewise.
1012         (Q_uppercase): Likewise.
1013         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1014         and `->uppercase' in UTF-2000.
1015         (complex_vars_of_casetab): Assign attribute name `downcase' to
1016         downcase and CANON table of Vstandard_case_table in UTF-2000;
1017         assign attribute name `flippedcase' to upcase and EQV table of
1018         Vstandard_case_table in UTF-2000.
1019
1020 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1021
1022         * text-coding.c (decode_add_er_char): Support isolated-chars.
1023         (char_encode_as_entity_reference): Likewise.
1024
1025 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1026
1027         * emacs.c (Vutf_2000_lisp_directory): New variable.
1028         (Vconfigure_utf_2000_lisp_directory): Likewise.
1029         (complex_vars_of_emacs): Add new variable
1030         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1031
1032 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1033
1034         * char-ucs.h (DECODE_CHAR): Delete special code for
1035         `chinese-big5-1' and `chinese-big5-2'.
1036
1037         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1038         (Qbig5_2): Likewise.
1039         (decode_defined_char): Support CONVERSION_BIG5_1 and
1040         CONVERSION_BIG5_2.
1041         (decode_builtin_char): Likewise.
1042         (charset_code_point): Likewise.
1043         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1044         'conversion in UTF-2000.
1045         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1046         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1047         `chinese-big5-2' as children of `chinese-big5'.
1048
1049         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1050         (CONVERSION_BIG5_2): New macro.
1051
1052 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1053
1054         * text-coding.c (char_encode_big5): Support entity-reference.
1055
1056 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1057
1058         * text-coding.c (char_encode_as_entity_reference): New function.
1059         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1060
1061 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1062
1063         * text-coding.c (decode_coding_big5): Support entity-reference
1064         decoding feature.
1065
1066 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1067
1068         * text-coding.c (allocate_coding_system): Initialize initial
1069         charsets for CODESYS_UTF8.
1070         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1071         charset-g2 for CODESYS_UTF8.
1072         (decode_coding_utf8): Use charset-g0.
1073         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1074         to force variants to map to UCS.
1075
1076 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1077
1078         * text-coding.c (Qutf_8_mcs): New variable.
1079         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1080         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1081         instead of `utf-8' in UTF-2000.
1082
1083 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1084
1085         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1086         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1087         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1088         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1089         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1090         CONVERSION_96x96x96x96 are introduced.
1091         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1092         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1093         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1094
1095         * char-ucs.h (CONVERSION_94): New macro.
1096         (CONVERSION_96): New macro.
1097         (CONVERSION_94x94): New macro.
1098         (CONVERSION_96x96): New macro.
1099         (CONVERSION_94x94x94): New macro.
1100         (CONVERSION_96x96x96): New macro.
1101         (CONVERSION_94x94x94x60): New macro.
1102         (CONVERSION_94x94x94x94): New macro.
1103         (CONVERSION_96x96x96x96): New macro.
1104
1105 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1106
1107         * chartab.c (Vcharacter_variant_table): Deleted.
1108         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1109         of `Vcharacter_variant_table'.
1110         (Fput_char_attribute): Likewise.
1111         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1112         (complex_vars_of_chartab): Likewise.
1113
1114 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1115
1116         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1117
1118         * fns.c (Qideographic_structure): New variable.
1119         (Qkeyword_char): New variable.
1120         (ids_format_unit): New function.
1121         (Fideographic_structure_to_ids): New function.
1122         (syms_of_fns): Add new symbols `ideographic-structure' and
1123         `:char'; add new builtin function `ideographic-structure-to-ids'.
1124
1125         * data.c (Fchar_ref_p): New function.
1126         (syms_of_data): Add new builtin function `char-ref-p'.
1127
1128         * chartab.h: Add an EXFUN for `Ffind_char'.
1129
1130 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1131
1132         * text-coding.c (Vcharacter_composition_table): Deleted.
1133         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1134         in every UTF-2000.
1135
1136         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1137         UTF-2000.
1138         (Vcharacter_composition_table): Deleted.
1139         (Fget_composite_char): Use the implementation for external-DB
1140         support in every UTF-2000.
1141         (Fput_char_attribute): Likewise.
1142         (char_attribute_system_db_file): Don't define if external-DB
1143         feature is not available.
1144         (Fsave_char_attribute_table): Likewise.
1145         (Fmount_char_attribute_table): Likewise.
1146         (Fclose_char_attribute_table): Likewise.
1147         (Freset_char_attribute_table): Likewise.
1148         (Fload_char_attribute_table): Likewise.
1149         (syms_of_chartab): Don't define `save-char-attribute-table',
1150         `mount-char-attribute-table', `reset-char-attribute-table',
1151         `close-char-attribute-table' and `load-char-attribute-table' if
1152         external-DB feature is not available.
1153         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1154
1155 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1156
1157         * text-coding.c (Qcomposition): Add extern if external-DB feature
1158         is supported.
1159         (Vcharacter_composition_table): Don't add extern if external-DB
1160         feature is supported.
1161         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1162         character composition rule if external-DB feature is supported.
1163
1164         * chartab.c (Vcharacter_composition_table): Don't define if
1165         external-DB feature is supported.
1166         (Qcomposition): New variable.
1167         (Fget_composite_char): New implementation for external-DB support.
1168         (Fput_char_attribute): Use `composition' property of each
1169         character instead of `Vcharacter_composition_table' to store
1170         character-composition rules if external-DB feature is supported.
1171         (syms_of_chartab): Add new symbol `composition'.
1172         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1173         external-DB feature is supported.
1174
1175 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1176
1177         * chartab.c (Vchar_db_stingy_mode): New variable.
1178         (load_char_attribute_maybe): Close database if
1179         Vchar_db_stingy_mode is not NIL.
1180         (Fload_char_attribute_table_map_function): Use
1181         `get_char_id_table_0' instead of `get_char_id_table'.
1182         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1183
1184         * chartab.h (get_char_id_table_0): New inline function.
1185         (get_char_id_table): Use `get_char_id_table_0'.
1186
1187 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1188
1189         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1190         and `COMPOSE_ADD_CHAR'.
1191         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1192
1193 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1194
1195         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1196         instead of `DECODE_ADD_UCS_CHAR'.
1197         (COMPOSE_ADD_CHAR): Likewise.
1198
1199 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1200
1201         * text-coding.c (decode_flush_er_chars): New inline function.
1202         (decode_add_er_char): New function.
1203         (decode_coding_utf8): Use `decode_flush_er_chars' and
1204         `decode_add_er_char'.
1205
1206 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1207
1208         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1209         done before `decode_output_utf8_partial_char'.
1210
1211         * mule-charset.c (complex_vars_of_mule_charset): Specify
1212         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1213         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1214
1215 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1216
1217         * mule-charset.c (decode_defined_char): New function; search
1218         mother.
1219         (decode_builtin_char): Don't search mother if
1220         XCHARSET_MAX_CODE(charset) == 0.
1221         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1222         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1223         (Fdecode_char): Use `decode_defined_char' instead of
1224         `DECODE_DEFINED_CHAR'.
1225         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1226         mother of `Vcharset_ucs_jis'.
1227
1228         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1229         instead of `DECODE_DEFINED_CHAR'.
1230
1231         * char-ucs.h (decode_defined_char): Renamed from
1232         `DECODE_DEFINED_CHAR'; changed to normal function.
1233         (DECODE_CHAR): Use `decode_defined_char' instead of
1234         `DECODE_DEFINED_CHAR'.
1235
1236         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1237
1238 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1239
1240         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1241
1242         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1243         variable.
1244         (Quse_entity_reference): New variable.
1245         (Qd): New variable.
1246         (Qx): New variable.
1247         (QX): New variable.
1248         (coding_system_description): Add description for
1249         `ccs_priority_list'.
1250         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1251         (allocate_coding_system): Initialize `ccs_priority_list' in
1252         UTF-2000.
1253         (Fmake_coding_system): Add description about
1254         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1255         (codesys).
1256         (Fcoding_system_property): Accept `disable-composition' and
1257         `use-entity-reference' in UTF-2000.
1258         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1259         in UTF-2000.
1260         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1261         (decode_coding_utf8): Decode entity-reference if
1262         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1263         (char_encode_utf8): Encode non-Unicode characters as
1264         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1265         (str->codesys).
1266         (syms_of_file_coding): Add new symbols `use-entity-reference',
1267         `d', `x', `X'.
1268         (vars_of_file_coding): Add new variable
1269         `coded-charset-entity-reference-alist'.
1270         (complex_vars_of_file_coding): Declare `disable-composition' and
1271         `use-entity-reference' to be coding-system-properties in UTF-2000.
1272
1273         * file-coding.h (struct Lisp_Coding_System): Add new member
1274         `use_entity_reference' and `ccs_priority_list'.
1275         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1276         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1277         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1278
1279 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1280
1281         * chartab.c (save_uint8_byte_table): Don't clear the table.
1282         (save_uint16_byte_table): Likewise.
1283         (save_byte_table): Likewise.
1284         (Fmount_char_attribute_table): New function.
1285         (syms_of_chartab): Add new builtin function
1286         `mount-char-attribute-table'.
1287
1288 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1289
1290         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1291         "w+" mode.
1292         (load_char_decoding_entry_maybe): Open database as read-only mode.
1293
1294         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1295         open database as "w+" mode.
1296         (load_char_attribute_maybe): Open database as read-only mode.
1297         (Fload_char_attribute_table): Likewise.
1298
1299 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1300
1301         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1302         (char_table_description): Delete member `db_file'.
1303         (Fmake_char_table): Don't refer `ct->db_file'.
1304         (Fcopy_char_table): Likewise.
1305         (Fsave_char_attribute_table): Likewise.
1306         (Fclose_char_attribute_table): Likewise.
1307         (Freset_char_attribute_table): Likewise.
1308         (load_char_attribute_maybe): Likewise.
1309         (Fload_char_attribute_table): Likewise.
1310
1311         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1312
1313 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1314
1315         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1316         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1317         `ct->db' is living.
1318         (load_char_attribute_maybe): Likewise.
1319         (Fload_char_attribute_table): Likewise.
1320
1321 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1322
1323         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1324         `ct->db_file' unconditionally.
1325
1326 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1327
1328         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1329         UTF-2000.
1330         (char_table_description): Add description for `db_file' and `db'
1331         in UTF-2000.
1332         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1333         UTF-2000.
1334         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1335         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1336         (Fclose_char_attribute_table): New function.
1337         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1338         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1339         and `cit->db'.
1340         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1341         (syms_of_chartab): Add new builtin function
1342         `Fclose_char_attribute_table'.
1343
1344 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1345
1346         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1347         `db' in UTF-2000.
1348         (load_char_attribute_maybe): Change interface.
1349         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1350
1351 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1352
1353         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1354
1355 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1356
1357         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1358         instead of `DECODE_CHAR' for mother; don't use special code for
1359         chinese-big5 to use code space of chinese-big5-1 and
1360         chinese-big5-2.
1361         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1362         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1363
1364         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1365         (MAX_CHAR_BIG5_CDP): Revival.
1366
1367 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1368
1369         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1370         the XLFD registry-encoding name of `chinese-big5'.
1371
1372 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1373
1374         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1375         (Qchinese_big5_cdp): Deleted.
1376         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1377         (complex_vars_of_mule_charset): Delete coded-charset
1378         `chinese-big5-cdp'.
1379
1380         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1381         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1382         `CHARSET_ID_OFFSET - n' for private CCS.
1383         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1384         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1385         of `MIN_LEADING_BYTE'.
1386         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1387         `(CHARSET_ID_OFFSET - 97)'.
1388         (MIN_CHAR_BIG5_CDP): Deleted.
1389         (MAX_CHAR_BIG5_CDP): Deleted.
1390
1391 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1392
1393         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1394
1395 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1396
1397         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1398         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1399         chartab.c].
1400
1401         * chartab.c (Vutf_2000_version): Moved to mule.c.
1402         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1403
1404 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1405
1406         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1407         when HAVE_CHISE_CLIENT is not defined.
1408
1409         * mule.c (vars_of_mule): Provide feature `chise' when
1410         HAVE_CHISE_CLIENT is defined.
1411
1412 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1413
1414         * config.h.in (UTF2000): Add comment.
1415         (HAVE_CHISE_CLIENT): New macro.
1416
1417 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1418
1419         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1420         CONSP.
1421         (Fput_char_attribute): Likewise.
1422         (char_attribute_system_db_file): Encode file-name of attribute.
1423         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1424         the initial value.
1425
1426 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1427
1428         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1429         (Fsave_charset_mapping_table): Use
1430         `char_attribute_system_db_file'.
1431         (load_char_decoding_entry_maybe): Likewise.
1432
1433         * chartab.h (Qsystem_char_id): New external variable.
1434         (char_attribute_system_db_file): New prototype.
1435
1436         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1437         (char_attribute_system_db_file): New function.
1438         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1439         (Freset_char_attribute_table): Likewise.
1440         (load_char_attribute_maybe): Likewise.
1441         (Fload_char_attribute_table): Likewise.
1442         (syms_of_chartab): Add new symbol `system-char-id'.
1443
1444 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1445
1446         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1447         `XCHARSET_GRAPHIC(ccs)'.
1448
1449 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1450
1451         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1452
1453 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1454
1455         * chartab.c (Q_ucs_variants): New variable.
1456         (syms_of_chartab): Add new symbol `->ucs-variants'.
1457         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1458         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1459         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1460
1461         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1462
1463         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1464         `HAVE_DATABASE' is defined.
1465         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1466         `HAVE_DATABASE' is defined.
1467
1468 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1469
1470         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1471         attribute-table.
1472         (Freset_char_attribute_table): New function.
1473         (syms_of_chartab): Add new builtin function
1474         `reset-char-attribute-table'.
1475
1476 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1477
1478         * chartab.c (load_char_attribute_maybe): Don't make directories.
1479
1480 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1481
1482         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1483
1484         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1485         for decoding-table.
1486
1487 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1488
1489         * mule-charset.c (Fsave_charset_mapping_table): Use
1490         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1491
1492         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1493         instead of `XCHARSET_CHARS'.
1494
1495 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1496
1497         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1498         (XCHARSET_BYTE_SIZE): Likewise.
1499
1500         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1501         mule-charset.c].
1502         (XCHARSET_BYTE_SIZE): Likewise.
1503
1504 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1505
1506         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1507         data-directory to store database.
1508         (Fsave_char_attribute_table): Likewise.
1509         (load_char_attribute_maybe): Likewise.
1510         (Fload_char_attribute_table): Likewise.
1511
1512 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1513
1514         * mule-charset.c (Fsave_charset_mapping_table): New function.
1515         (syms_of_mule_charset): Add new builtin function
1516         `save-charset-mapping-table'.
1517
1518 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1519
1520         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1521         (get_ccs_octet_table): New inline function.
1522         (put_ccs_octet_table): Likewise.
1523         (decoding_table_put_char): Use `get_ccs_octet_table' and
1524         `put_ccs_octet_table'.
1525         (decoding_table_remove_char): Use `decoding_table_put_char'.
1526         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1527
1528         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1529         into encoding_table.
1530         (make_charset): Use Qunbound instead Qnil as initial value of
1531         decoding_table.
1532
1533 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1534
1535         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1536         element is Qunloaded.
1537         (map_over_uint16_byte_table): Likewise.
1538         (map_over_byte_table): Likewise.
1539         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1540         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1541         database support, load encoding-table of the specified
1542         coded-charset if it is not loaded yet.
1543         (save_uint8_byte_table): New function of UTF-2000 with external
1544         database support.
1545         (save_uint16_byte_table): Likewise.
1546         (save_byte_table): Likewise.
1547         (Fput_char_attribute): Don't store value into external database
1548         even if the external database feature is supported in UTF-2000;
1549         set `attribute' as name of char-table if the external database
1550         feature is supported.
1551         (Fsave_char_attribute_table): New function in UTF-2000.
1552         (syms_of_chartab): Add new builtin function
1553         `save-char-attribute-table' in UTF-2000.
1554
1555 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1556
1557         * chartab.c (char_attribute_table_to_put): New variable in
1558         UTF-2000.
1559         (Qput_char_table_map_function): Likewise.
1560         (value_to_put): Likewise.
1561         (Fput_char_table_map_function): New function in UTF-2000.
1562         (put_char_table): Use `Fmap_char_attribute' for
1563         CHARTAB_RANGE_CHARSET in UTF-2000.
1564         (Fput_char_attribute): Store symbol instead of string in
1565         `XCHAR_TABLE_NAME (table)'.
1566         (load_char_attribute_maybe): Likewise.
1567         (syms_of_chartab): Add new symbol/function
1568         `put-char-table-map-function'.
1569
1570 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1571
1572         * database.h: Add new EXFUN for `Fmap_database'.
1573
1574         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1575         (syms_of_database): Likewise.
1576
1577         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1578         UTF-2000.
1579         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1580         (XCHAR_TABLE_UNLOADED): Likewise.
1581
1582         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1583         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1584         HAVE_DATABASE is defined.
1585         (char_attribute_table_to_load): New variable of UTF-2000 with
1586         external database support.
1587         (Qload_char_attribute_table_map_function): Likewise.
1588         (Fload_char_attribute_table_map_function): New function of
1589         UTF-2000 with external database support.
1590         (Fload_char_attribute_table): New function of UTF-2000.
1591         (Fmap_char_attribute): Call Fload_char_attribute_table if
1592         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1593         (syms_of_chartab): Add new symbol and function
1594         `load-char-attribute-table-map-function' in UTF-2000 with external
1595         database support; add new function `load-char-attribute-table' in
1596         UTF-2000.
1597
1598 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1599
1600         * chartab.h (load_char_attribute_maybe): New prototype for
1601         UTF-2000 with DATABASE support.
1602         (get_char_id_table): Use `load_char_attribute_maybe' if
1603         HAVE_DATABASE is defined.
1604
1605         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1606         with DATABASE support.
1607
1608 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1609
1610         * chartab.c (Fput_char_attribute): Use S-expression as key of
1611         external database.
1612
1613         * chartab.h (get_char_id_table): Use S-expression as key of
1614         external database.
1615
1616 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1617
1618         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1619         if an element is not loaded, load the corresponding attributes
1620         from an external database.
1621         (map_over_uint16_byte_table): Likewise.
1622         (map_over_byte_table): Likewise.
1623         (map_char_table): Modify for `map_over_uint8_byte_table',
1624         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1625         element is not loaded, load the corresponding attributes from an
1626         external database.
1627         (Fput_char_attribute): Change initial values to Qunloaded.
1628
1629         * chartab.h (get_char_id_table): If a character attribute is not
1630         loaded and the attribute value is not found in an external
1631         database, store Qunbound as the attribute value.
1632
1633 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1634
1635         * chartab.c (BT_UINT8_unloaded): New macro.
1636         (UINT8_VALUE_P): Accept Qunloaded.
1637         (UINT8_ENCODE): Likewise.
1638         (UINT8_DECODE): Likewise.
1639         (BT_UINT16_unloaded): New macro.
1640         (UINT16_VALUE_P): Accept Qunloaded.
1641         (UINT16_ENCODE): Likewise.
1642         (UINT16_DECODE): Likewise.
1643         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1644         BT_UINT16_unloaded.
1645         (mark_char_table): Mark `ct->name' in UTF-2000.
1646         (char_table_description): Add `name' in UTF-2000.
1647         (Fmake_char_table): Initialize `ct->name'.
1648         (Fcopy_char_table): Copy `ct->name'.
1649         (Fput_char_attribute): Store value into an external database if
1650         HAVE_DATABASE is defined.
1651
1652         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1653         UTF-2000.
1654         (CHAR_TABLE_NAME): New macro in UTF-2000.
1655         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1656         (get_char_id_table): Try to read an external database if Qunloaded
1657         is stored in a table.
1658
1659         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1660         Qunloaded.
1661
1662 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1663
1664         * database.h: Add EXFUN definitions for Fopen_database,
1665         Fput_database, Fget_database and Fclose_database.
1666
1667         * data.c (Qunloaded): New variable in UTF-2000.
1668
1669         * lisp.h (Qunloaded): New variable in UTF-2000.
1670
1671 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1672
1673         * mule-charset.c (put_char_ccs_code_point): Modify for
1674         `decoding_table_remove_char' and `decoding_table_put_char'.
1675         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1676
1677         * char-ucs.h (decoding_table_remove_char): Change arguments to
1678         hide decoding_table vector.
1679         (decoding_table_put_char): Likewise.
1680
1681 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1682
1683         * mule-charset.c (decoding_table_remove_char): Moved to
1684         char-ucs.h.
1685         (decoding_table_put_char): Likewise.
1686
1687         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1688         from mule-charset.c].
1689         (decoding_table_remove_char): New inline function [moved from
1690         mule-charset.c].
1691         (decoding_table_put_char): Likewise.
1692
1693 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1694
1695         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1696         extension.
1697
1698 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1699
1700         * mule-charset.c (decode_builtin_char): Support mother charsets.
1701
1702 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1703
1704         * mule-charset.c (Q94x94x60): New variable.
1705         (charset_code_point): Support conversion `94x94x60'.
1706         (Fmake_charset): Likewise.
1707         (syms_of_mule_charset): Add new symbol `94x94x60'.
1708
1709         * char-ucs.h (CONVERSION_94x94x60): New macro.
1710
1711 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1712
1713         * mule-charset.c (charset_code_point): Unify code about
1714         `code-offset'.
1715
1716 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1717
1718         * mule-charset.c (charset_code_point): Merge code about builtin
1719         characters into code about mother charsets; don't use
1720         `range_charset_code_point'.
1721         (range_charset_code_point): Deleted.
1722
1723 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1724
1725         * mule-charset.c (Qcode_offset): New variable.
1726         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1727         `max-code'; accept new property `code-offset'.
1728         (syms_of_mule_charset): Add new symbol `code-offset'.
1729
1730 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1731
1732         * mule-charset.c (range_charset_code_point): Fixed.
1733
1734 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1735
1736         * mule-charset.c (decode_builtin_char): Change semantics of
1737         code-offset of coded-charset.
1738         (charset_code_point): Likewise.
1739         (range_charset_code_point): Likewise.
1740         (complex_vars_of_mule_charset): Modify for the change.
1741
1742 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1743
1744         * mule-charset.c (Fencode_char): Reverse arguments.
1745
1746         * mule-charset.c (charset_code_point): Fixed.
1747
1748 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1749
1750         * mule-charset.c (Vcharset_mojikyo): Deleted.
1751         (Vcharset_mojikyo_2022_1): Deleted.
1752         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1753         (Qmin_code): New variable in UTF-2000.
1754         (Qmax_code): Likewise.
1755         (Qmother): Likewise.
1756         (Qconversion): Likewise.
1757         (Q94x60): Likewise.
1758         (Qmojikyo): Deleted.
1759         (Qmojikyo_2022_1): Deleted.
1760         (Qmojikyo_pj_{1..22}): Deleted.
1761         (mark_charset): Mark `cs->mother'.
1762         (charset_description): Add description for `mother'.
1763         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1764         new arguments `mother' and `conversion'; use
1765         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1766         (charset_code_point): Moved from char-ucs.h; support `mother'
1767         charset feature.
1768         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1769         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1770         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1771         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1772         allow 2 as the value of `graphic' in UTF-2000; add new properties
1773         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1774         require `final' in UTF-2000; modify for `make_charset'.
1775         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1776         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1777         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1778         (Fencode_char): New function.
1779         (syms_of_mule_charset): Add new builtin function `encode-char' in
1780         UTF-2000; add new symbols `min-code', `max-code', `mother',
1781         `conversion' and `94x60'; delete symbols `mojikyo',
1782         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1783         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1784         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1785         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1786
1787         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1788         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1789
1790         * char-ucs.h (Vcharset_mojikyo): Deleted.
1791         (Vcharset_mojikyo_2022_1): Deleted.
1792         (LEADING_BYTE_MOJIKYO): Deleted.
1793         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1794         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1795         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1796         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1797         add new member `mother'; add new member `conversion'.
1798         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1799         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1800         (CHARSET_MOTHER): New macro.
1801         (CHARSET_CONVERSION): New macro.
1802         (CONVERSION_IDENTICAL): New macro.
1803         (CONVERSION_94x60): New macro.
1804         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1805         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1806         (XCHARSET_MOTHER): New macro.
1807         (XCHARSET_CONVERSION): New macro.
1808         (MIN_CHAR_MOJIKYO): Deleted.
1809         (MAX_CHAR_MOJIKYO): Deleted.
1810         (DECODE_MOJIKYO_2022): Deleted.
1811         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1812         (charset_code_point): Changed to non-inline function.
1813         (encode_char_1): Use `charset_code_point'.
1814         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1815
1816 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1817
1818         * lread.c (read_compiled_function): Fix prototype.
1819         (read_vector): Likewise.
1820
1821 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1822
1823         * lrecord.h (struct lrecord_header): Delete `older'.
1824         (set_lheader_implementation): Delete code for `older'.
1825         (set_lheader_older_implementation): Deleted.
1826         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1827         (OLDER_RECORD_P): Deleted.
1828         (OLDER_RECORD_HEADER_P): Deleted.
1829         (alloc_older_lcrecord): Deleted.
1830         (alloc_older_lcrecord_type): Deleted.
1831
1832         * alloc.c (all_older_lcrecords): Deleted.
1833         (alloc_older_lcrecord): Deleted.
1834         (disksave_object_finalization_1): Delete code for older objects.
1835         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1836         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1837
1838 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1839
1840         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1841         instead of `make_older_vector'.
1842         (put_char_ccs_code_point): Likewise.
1843         (mark_charset): Mark `cs->decoding_table'.
1844         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1845
1846         * lisp.h (make_older_vector): Deleted.
1847         (make_vector_newer): Deleted.
1848
1849         * config.h.in (HAVE_GGC): Deleted.
1850
1851         * alloc.c (make_older_vector): Deleted.
1852         (make_vector_newer_1): Deleted.
1853         (make_vector_newer): Deleted.
1854
1855 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1856
1857         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1858         (Qideograph_daikanwa_2): New variable.
1859         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1860         (complex_vars_of_mule_charset): Add new coded-charset
1861         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1862         `LEADING_BYTE_DAIKANWA'.
1863
1864         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1865         (LEADING_BYTE_DAIKANWA_1): New macro.
1866         (LEADING_BYTE_DAIKANWA_2): New macro.
1867         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1868
1869 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1870
1871         * mule-charset.c (complex_vars_of_mule_charset): Change
1872         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1873         the second revised version.
1874
1875 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1876
1877         * mule-charset.c (Vcharset_ucs_smp): New variable.
1878         (Vcharset_ucs_sip): New variable.
1879         (Qucs_smp): New variable.
1880         (Qucs_sip): New variable.
1881         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1882         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1883         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1884         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1885         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1886         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1887
1888         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1889         (LEADING_BYTE_UCS_SIP): New macro.
1890         (MIN_CHAR_SMP): New macro.
1891         (MAX_CHAR_SMP): New macro.
1892         (MIN_CHAR_SIP): New macro.
1893         (MAX_CHAR_SIP): New macro.
1894
1895 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1896
1897         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1898         utf-2000.
1899
1900 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1901
1902         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1903         value; don't store value into `encoding_table' of `Lisp_Charset'.
1904         (mark_charset): `encoding_table' was deleted.
1905         (charset_description): Likewise.
1906         (make_charset): Likewise.
1907         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1908         `put_char_ccs_code_point'.
1909
1910         * chartab.h (Fput_char_attribute): New EXFUN.
1911
1912         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1913         is unified with normal symbol space.
1914         (Fget_char_attribute): Likewise.
1915         (Fput_char_attribute): Likewise; behavior of
1916         `put_char_ccs_code_point' is changed.
1917
1918         * char-ucs.h: Include "elhash.h".
1919         (Vchar_attribute_hash_table): New external variable.
1920         (struct Lisp_Charset): Delete `encoding_table'.
1921         (CHARSET_ENCODING_TABLE): New implementation; refer
1922         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1923         `Lisp_Charset'.
1924
1925 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1926
1927         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1928         (cs) == 0.
1929
1930 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1931
1932         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1933         `chinese-big5'.
1934
1935 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1936
1937         * chartab.c (uint8_byte_table_description): New constant.
1938         (uint8-byte-table): Use `uint8_byte_table_description'.
1939         (uint16_byte_table_description): New constant.
1940         (uint16-byte-table): Use `uint16_byte_table_description'.
1941
1942 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1943
1944         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1945         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1946
1947 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1948
1949         * mule-charset.c (Vcharset_ucs_ks): New variable.
1950         (Qucs_ks): New variable.
1951         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1952         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1953
1954         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1955
1956 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1957
1958         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1959         (Fdecode_char): Likewise.
1960
1961         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1962         chartab.h.
1963         (Fdefine_char): Modify for Fdecode_char.
1964         (Ffind_char): Likewise.
1965
1966         * mule-charset.c (Fdecode_char): Add new optional argument
1967         `defined-only'.
1968         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1969
1970 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1971
1972         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1973         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1974         (allocate_coding_system): Initialize initial-charsets of
1975         CODESYS_BIG5 in XEmacs UTF-2000.
1976         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1977         CODESYS_BIG5 in XEmacs UTF-2000.
1978         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1979         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1980
1981         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1982         variables.
1983         (Qideograph_hanziku_{1 .. 12}): Likewise.
1984         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1985         .. 12}'.
1986         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1987         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1988         `ideograph-hanziku-{1 .. 12}'.
1989
1990         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1991         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1992         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1993         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1994         (DECODE_DEFINED_CHAR): New inline function.
1995         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1996
1997 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1998
1999         * mule-charset.c (Vcharset_china3_jef): Renamed from
2000         `Vcharset_japanese_jef_china3'.
2001         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2002         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2003         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2004         (syms_of_mule_charset): Rename `china3-jef' from
2005         `japanese-jef-china3'.
2006         (complex_vars_of_mule_charset): Likewise; rename
2007         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2008
2009         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2010         `LEADING_BYTE_JEF_CHINA3'.
2011         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2012         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2013
2014 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2015
2016         * mule-charset.c (encode_builtin_char_1): Comment out special code
2017         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2018
2019         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2020         (MAX_CHAR_MOJIKYO_0): Comment out.
2021         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2022         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2023         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2024         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2025
2026 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2027
2028         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2029         (Qideograph_cbeta): New variable.
2030         (encode_builtin_char_1): Comment out special code for
2031         coded-charset `mojikyo' and `japanese-jef-china3'.
2032         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2033         (complex_vars_of_mule_charset): Add new coded-charset
2034         `ideograph-cbeta'.
2035
2036         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2037         (MIN_CHAR_CBETA): New macro.
2038         (MAX_CHAR_CBETA): New macro.
2039
2040 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2041
2042         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2043         (LEADING_BYTE_JEF_CHINA3): New macro.
2044         (MIN_CHAR_JEF_CHINA3): New macro.
2045         (MAX_CHAR_JEF_CHINA3): Likewise.
2046         (DECODE_CHAR): Fixed.
2047
2048 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2049
2050         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2051         (Qjapanese_jef_china3): New variable.
2052         (encode_builtin_char_1): Support `japanese-jef-china3'.
2053         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2054         (complex_vars_of_mule_charset): Add new coded-charset
2055         `japanese-jef-china3'.
2056
2057 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2058
2059         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2060         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2061         94^4, 96^3, 96^4, 128^n and 256^n set.
2062         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2063         (map_char_table): Likewise.
2064
2065 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2066
2067         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2068         UTF-2000.
2069
2070 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2071
2072         * chartab.h (get_char_id_table): New inline function.
2073
2074         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2075         function.
2076
2077 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2078
2079         * chartab.h (decode_char_table_range): New prototype in XEmacs
2080         UTF-2000.
2081         (put_char_id_table): New inline function in XEmacs UTF-2000.
2082
2083         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2084         function.
2085         (decode_char_table_range): Delete static declaration in XEmacs
2086         UTF-2000.
2087
2088 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2089
2090         * chartab.c (put_char_id_table): Use `put_char_table'.
2091
2092 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2093
2094         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2095         (map_over_uint16_byte_table): Likewise.
2096         (map_over_byte_table): Likewise.
2097         (map_char_table): Modify for `map_over_uint8_byte_table',
2098         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2099         UTF-2000.
2100
2101 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2102
2103         * chartab.c (struct map_char_table_for_charset_arg): New
2104         structure.
2105         (map_char_table_for_charset_fun): New function.
2106         (map_char_table): Use `map_char_table' for encoding_table of
2107         `range->charset'.
2108
2109 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2110
2111         * chartab.c (map_char_table): Check a character is found in
2112         range->charset instead of non default value is defined in
2113         char-table when range is CHARTAB_RANGE_ROW.
2114
2115 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2116
2117         * chartab.c (map_char_id_table): Deleted.
2118         (Fmap_char_attribute): Use `map_char_table' instead of
2119         `map_char_id_table'.
2120
2121 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2122
2123         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2124         UTF-2000.
2125         (update_syntax_table): Deleted in XEmacs UTF-2000.
2126
2127         * syntax.c (find_defun_start): Use `syntax_table' instead of
2128         `mirror_syntax_table' in XEmacs UTF-2000.
2129         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2130         UTF-2000.
2131         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2132         XEmacs UTF-2000.
2133         (Fmatching_paren): Likewise.
2134         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2135         in XEmacs UTF-2000.
2136         (find_start_of_comment): Likewise.
2137         (find_end_of_comment): Likewise.
2138         (Fforward_comment): Likewise.
2139         (scan_lists): Likewise.
2140         (char_quoted): Likewise.
2141         (Fbackward_prefix_chars): Likewise.
2142         (scan_sexps_forward): Likewise.
2143         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2144         (update_syntax_table): Likewise.
2145
2146         * search.c (skip_chars): Use `syntax_table' instead of
2147         `mirror_syntax_table' in XEmacs UTF-2000.
2148         (wordify): Likewise.
2149         (Freplace_match): Likewise.
2150
2151         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2152         `mirror_syntax_table' in XEmacs UTF-2000.
2153         (WORDCHAR_P_UNSAFE): Likewise.
2154         (re_match_2_internal): Likewise.
2155
2156         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2157         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2158
2159         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2160         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2161
2162         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2163         XEmacs UTF-2000.
2164
2165         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2166         UTF-2000.
2167         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2168         (char_table_description): Delete `mirror_table' in XEmacs
2169         UTF-2000.
2170         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2171         UTF-2000.
2172         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2173         (Fcopy_char_table): Likewise.
2174         (put_char_table): Don't call `update_syntax_table' in XEmacs
2175         UTF-2000.
2176
2177         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2178         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2179         (casify_region_internal): Likewise.
2180
2181         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2182
2183         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2184         `mirror_syntax_table' in XEmacs UTF-2000.
2185
2186         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2187         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2188         (Fexpand_abbrev): Likewise.
2189
2190 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2191
2192         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2193
2194 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2195
2196         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2197         (map_over_uint16_byte_table): Likewise.
2198         (map_over_byte_table): Likewise.
2199         (get_char_id_table): Refer `cit->default_value'.
2200         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2201         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2202         of character-id ranges.
2203         (mark_char_table): Mark `ct->default_value'.
2204         (char_table_description): Add `default_value'.
2205         (fill_char_table): Use `default_value'.
2206         (decode_char_table_range): Decode `nil' as
2207         `CHARTAB_RANGE_DEFAULT'.
2208         (get_char_id_table): Refer `cit->default_value'.
2209         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2210         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2211         temporary hack; check value of char-table is bound or not.
2212         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2213
2214         * chartab.h (struct Lisp_Char_Table): Add new member
2215         `default_value' in XEmacs UTF-2000.
2216         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2217         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2218         UTF-2000.
2219
2220 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2221
2222         * chartab.h (Lisp_Char_ID_Table): Deleted.
2223
2224         * chartab.c (char_table_description): Fix typo.
2225         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2226         `Lisp_Char_ID_Table'.
2227
2228 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2229
2230         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2231         `CHAR_ID_TABLE_P'.
2232
2233         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2234         `CHAR_ID_TABLE_P'.
2235
2236         * chartab.h (XCHAR_ID_TABLE): Deleted.
2237         (XSETCHAR_ID_TABLE): Deleted.
2238         (CHAR_ID_TABLE_P): Deleted.
2239
2240         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2241         `CHAR_ID_TABLE_P'.
2242         (Fget_composite_char): Likewise.
2243         (put_char_table): Likewise.
2244         (add_char_attribute_alist_mapper): Fixed.
2245         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2246         `CHAR_ID_TABLE_P'.
2247         (Fget_char_attribute): Likewise.
2248         (Fget_char_attribute): Likewise.
2249         (Fmap_char_attribute): Likewise.
2250
2251         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2252         `CHAR_ID_TABLE_P'.
2253         (encode_char_1): Likewise.
2254
2255 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2256
2257         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2258         `XCHAR_ID_TABLE'.
2259
2260         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2261         instead of `XCHAR_ID_TABLE'.
2262         (remove_char_ccs): Likewise.
2263
2264         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2265         `XCHAR_ID_TABLE'.
2266         (Fget_composite_char): Likewise.
2267         (Fchar_variants): Likewise.
2268         (put_char_table): Likewise.
2269         (add_char_attribute_alist_mapper): Likewise.
2270         (Fchar_attribute_alist): Likewise.
2271         (Fget_char_attribute): Likewise.
2272         (Fput_char_attribute): Likewise.
2273         (Fmap_char_attribute): Likewise.
2274         (Fmap_char_attribute): Likewise.
2275
2276         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2277         `XCHAR_ID_TABLE'.
2278         (encode_char_1): Likewise.
2279
2280 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2281
2282         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2283         `Lisp_Char_ID_Table'.
2284         (mark_char_id_table): Deleted.
2285         (print_char_id_table): Likewise.
2286         (char_id_table_equal): Likewise.
2287         (char_id_table_hash): Likewise.
2288         (char_id_table_description): Likewise.
2289         (char_id_table): Likewise.
2290         (make_char_id_table): Use `Fmake_char_table' and
2291         `fill_char_table'.
2292         (get_char_id_table): Use `Lisp_Char_Table' instead of
2293         `Lisp_Char_ID_Table'.
2294         (put_char_id_table): Likewise.
2295         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2296         `XCHAR_ID_TABLE'.
2297         (Fremove_char_attribute): Likewise.
2298         (syms_of_chartab): Don't define type `char-id-table'.
2299
2300         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2301         (char_id_table): Likewise.
2302         (GC_CHAR_ID_TABLE_P): Likewise.
2303         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2304         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2305         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2306         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2307         (get_char_id_table): Use `Lisp_Char_Table' instead of
2308         `Lisp_Char_ID_Table'.
2309         (put_char_id_table_0): Likewise.
2310         (put_char_id_table): Likewise.
2311
2312 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2313
2314         * chartab.h: Lisp_Byte_Table related codes are moved from
2315         chartab.h.
2316
2317         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2318
2319 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2320
2321         * chartab.h: Don't include "chartab.h".
2322         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2323         (Lisp_Char_ID_Table): Likewise.
2324         (char_id_table): Likewise.
2325         (XCHAR_ID_TABLE): Likewise.
2326         (XSETCHAR_ID_TABLE): Likewise.
2327         (CHAR_ID_TABLE_P): Likewise.
2328         (GC_CHAR_ID_TABLE_P): Likewise.
2329         (get_char_id_table): Likewise.
2330
2331         * char-ucs.h: Include "chartab.h".
2332         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2333         (Lisp_Char_ID_Table): Likewise.
2334         (char_id_table): Likewise.
2335         (XCHAR_ID_TABLE): Likewise.
2336         (XSETCHAR_ID_TABLE): Likewise.
2337         (CHAR_ID_TABLE_P): Likewise.
2338         (GC_CHAR_ID_TABLE_P): Likewise.
2339         (get_char_id_table): Likewise.
2340
2341 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2342
2343         * chartab.c (copy_uint8_byte_table): New function.
2344         (copy_uint16_byte_table): New function.
2345         (copy_byte_table): New function.
2346         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2347         characters to call.
2348         (map_over_uint16_byte_table): Likewise.
2349         (map_over_byte_table): Likewise.
2350         (get_byte_table): Move prototype to chartab.h.
2351         (put_byte_table): Likewise.
2352         (put_char_id_table_0): Moved to chartab.h.
2353         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2354         (char_table_entry_equal): Likewise.
2355         (char_table_entry_hash): Likewise.
2356         (char_table_entry_description): Likewise.
2357         (char_table_entry): Likewise.
2358         (make_char_table_entry): Likewise.
2359         (copy_char_table_entry): Likewise.
2360         (get_non_ascii_char_table_value): Likewise.
2361         (map_over_charset_ascii): Likewise.
2362         (map_over_charset_control_1): Likewise.
2363         (map_over_charset_row): Likewise.
2364         (map_over_other_charset): Likewise.
2365         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2366         (print_char_table): Likewise.
2367         (char_table_equal): Likewise.
2368         (char_table_hash): Likewise.
2369         (char_table_description): Likewise.
2370         (fill_char_table): Likewise.
2371         (Fcopy_char_table): Likewise.
2372         (get_char_table): Likewise.
2373         (Fget_range_char_table): Likewise.
2374         (put_char_table): Likewise.
2375         (map_char_table): Likewise.
2376         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2377         UTF-2000.
2378
2379 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2380
2381         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2382         `Vauto_fill_chars' in XEmacs UTF-2000.
2383
2384         * chartab.h (get_byte_table): New prototype [moved from
2385         chartab.c].
2386         (put_byte_table): Likewise [moved from chartab.c].
2387         (put_char_id_table_0): New inline function [moved from chartab.c].
2388         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2389         (Lisp_Char_Table_Entry): Likewise.
2390         (char_table_entry): Likewise.
2391         (XCHAR_TABLE_ENTRY): Likewise.
2392         (XSETCHAR_TABLE_ENTRY): Likewise.
2393         (CHAR_TABLE_ENTRYP): Likewise.
2394         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2395         (NUM_ASCII_CHARS): Likewise.
2396         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2397         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2398
2399 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2400
2401         * chartab.c (get_char_id_table): Change interface.
2402         (put_char_id_table_0): New function.
2403         (put_char_id_table): Change interface; new implementation.
2404         (Fget_composite_char): Modify for interface change of
2405         `get_char_id_table'.
2406         (Fchar_variants): Likewise.
2407         (add_char_attribute_alist_mapper): Likewise.
2408         (Fchar_attribute_alist): Likewise.
2409         (Fget_char_attribute): Likewise.
2410         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2411         as same as character as the first argument like `put-char-table';
2412         modify for interface change of `put_char_id_table'.
2413         (Fremove_char_attribute): Modify for interface change of
2414         `put_char_id_table'.
2415
2416 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2417
2418         * text-coding.c: Sync up with XEmacs 21.2.41.
2419         (COMPOSE_ADD_CHAR): Modify for interface change of
2420         `get_char_id_table'.
2421
2422         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2423         change of `put_char_id_table'.
2424         (remove_char_ccs): Likewise.
2425
2426         * chartab.h (put_char_id_table): Change interface.
2427
2428         * char-ucs.h (get_char_id_table): Change interface.
2429         (charset_code_point): Modify for interface change of
2430         `get_char_id_table'.
2431         (encode_char_1): Likewise.
2432
2433 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2434
2435         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2436         argument `ccs'.
2437         (map_over_uint16_byte_table): Likewise.
2438         (map_over_byte_table): Likewise.
2439         (map_char_id_table): Add new argument `range' like
2440         `map_char_table'.
2441         (Fmap_char_attribute): Add new argument `range' like
2442         `Fmap_char_table'.
2443
2444 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2445
2446         * chartab.c (map_over_uint8_byte_table): Change interface of
2447         mapping function to use struct chartab_range instead of Emchar.
2448         (map_over_uint16_byte_table): Likewise.
2449         (map_over_byte_table): Likewise.
2450         (map_char_id_table): Likewise.
2451         (struct slow_map_char_id_table_arg): Deleted.
2452         (slow_map_char_id_table_fun): Deleted.
2453         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2454         function `slow_map_char_table_fun' instead of struct
2455         `slow_map_char_id_table_arg' and function
2456         `slow_map_char_id_table_fun'.
2457
2458 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2459
2460         * mule-charset.c: Move char-it-table related codes to chartab.c.
2461         (Vutf_2000_version): Moved to chartab.c.
2462         (Fdefine_char): Likewise.
2463         (Ffind_char): Likewise.
2464         (syms_of_mule_charset): Move types `uint8-byte-table',
2465         `uint16-byte-table', `byte-table' and `char-id-table' to
2466         chartab.c; move functions `char_attribute_list,
2467         `find_char_attribute_table, `char_attribute_alist,
2468         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2469         `map_char_attribute, `define_char, `find_char, `char_variants and
2470         `get_composite_char to chartab.c; move symbols `=>ucs',
2471         `->decomposition', `compat', `isolated', `initial', `medial',
2472         `final', `vertical', `noBreak', `fraction', `super', `sub',
2473         `circle', `square', `wide', `narrow', `small' and `font' to
2474         chartab.c.
2475         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2476         setting codes for `Vcharacter_composition_table' and
2477         `Vcharacter_variant_table' to chartab.c.
2478         (complex_vars_of_mule_charset): Move setting code for
2479         `Vchar_attribute_hash_table' to chartab.c.
2480
2481         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2482         (make_char_id_table): New prototype.
2483         (put_char_id_table): Likewise.
2484         (Fget_char_attribute): Likewise.
2485
2486         * chartab.c: Move char-id-table related code from mule-charset.c.
2487         (Vutf_2000_version): Moved from mule-charset.c.
2488
2489         * char-ucs.h (Qucs): New external variable.
2490         (put_char_ccs_code_point): New prototype.
2491         (remove_char_ccs): Likewise.
2492
2493 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2494
2495         * mule-charset.c (Vcharset_ucs_jis): New variable.
2496         (Qucs_jis): Likewise.
2497         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2498         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2499
2500         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2501
2502 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2503
2504         * mule-charset.c (map_over_uint8_byte_table): New function.
2505         (map_over_uint16_byte_table): Likewise.
2506         (map_over_byte_table): Likewise.
2507         (map_char_id_table): Likewise.
2508         (slow_map_char_id_table_fun): Likewise.
2509         (Fmap_char_attribute): Likewise.
2510         (syms_of_mule_charset): Add new function `map-char-attribute'.
2511
2512 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2513
2514         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2515         (syms_of_mule_charset): Add new function `find-char'.
2516
2517 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2518
2519         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2520         XEmacs UTF-2000.
2521         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2522         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2523         XEmacs UTF-2000.
2524         (complex_vars_of_mule_charset): Add new coded-charset
2525         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2526         `ideograph-gt-pj-*'.
2527
2528         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2529
2530 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2531
2532         * mule-charset.c (encode_builtin_char_1): Purge codes about
2533         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2534         {MIN|MAX}_CHAR_HEBREW.
2535         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2536         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2537
2538         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2539         (MAX_CHAR_GREEK): Purged.
2540         (MIN_CHAR_CYRILLIC): Purged.
2541         (MAX_CHAR_CYRILLIC): Purged.
2542         (MIN_CHAR_HEBREW): Commented out.
2543         (MAX_CHAR_HEBREW): Likewise.
2544
2545 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2546
2547         * mule-charset.c (Qto_ucs): New variable.
2548         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2549         (Fdefine_char): Likewise.
2550         (syms_of_mule_charset): Add new symbol `=>ucs'.
2551
2552 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2553
2554         * mule-charset.c (Fdecode_char): Fixed.
2555
2556 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2557
2558         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2559         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2560         "tcvn5712-1".
2561
2562 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2563
2564         * mule-charset.c (Vcharset_ucs_big5): New variable.
2565         (Qucs_big5): Likewise.
2566         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2567         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2568
2569         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2570
2571 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2572
2573         * mule-charset.c (decode_builtin_char): Check Big5 code range
2574         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2575
2576 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2577
2578         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2579         (Qchinese_gb12345): Likewise.
2580         (Fdecode_builtin_char): Fixed.
2581         (syms_of_mule_charset): Add `chinese-gb12345'.
2582         (complex_vars_of_mule_charset): Add coded-charset
2583         `chinese-gb12345'.
2584
2585         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2586         (LEADING_BYTE_CHINESE_GB12345): New macro.
2587
2588 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2589
2590         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2591         and `latin-viscii-upper' for `latin-viscii'.
2592
2593 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2594
2595         * mule-charset.c (Fdecode_builtin_char): Comment out
2596         regularization code for ISO-IR GR representation.
2597
2598 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2599
2600         * mule-charset.c (decode_builtin_char): New function; renamed from
2601         `make_builtin_char'; return -1 instead of signal.
2602         (Fdecode_builtin_char): Use `decode_builtin_char'.
2603
2604         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2605         `make_builtin_char'.
2606         (DECODE_CHAR): Use `decode_builtin_char' instead of
2607         `make_builtin_char'; use mapping table of `chinese-big5' for
2608         `chinese-big5-{1,2}'.
2609
2610 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2611
2612         * text-coding.c (char_encode_big5): New function.
2613         (char_finish_big5): Likewise.
2614         (reset_encoding_stream): Use `char_encode_big5' and
2615         `char_finish_big5' for CODESYS_BIG5.
2616         (mule_encode): Don't use `encode_coding_big5'.
2617         (encode_coding_big5): Deleted.
2618
2619 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2620
2621         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2622         0x81- in XEmacs UTF-2000.
2623         (detect_coding_big5): Likewise.
2624
2625 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2626
2627         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2628         generate character-id if the CCS property does not have
2629         corresponding predefined character.
2630         (make_builtin_char): Return -1 if corresponding predefined
2631         character is not found.
2632         (Fdecode_char): Return nil if corresponding character is not
2633         found.
2634         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2635         don't map to builtin ucs space.
2636
2637 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2638
2639         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2640         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2641
2642 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2643
2644         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2645         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2646         (Qideograph_gt): Likewise.
2647         (Qideograph_gt_pj_{1..11}): Likewise.
2648         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2649         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2650         `ideograph-gt-pj-11'.
2651         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2652         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2653         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2654
2655         * char-ucs.h (LEADING_BYTE_GT): New macro.
2656         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2657         (MIN_CHAR_GT): Likewise.
2658         (MAX_CHAR_GT): Likewise.
2659
2660 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2661
2662         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2663         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2664
2665         * doprnt.c (unsigned_int_converters): Add `c'.
2666         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2667
2668         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2669         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2670         `MIN_CHAR_MOJIKYO'.
2671         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2672         (MAX_CHAR_MOJIKYO_0): New macro.
2673         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2674
2675 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2676
2677         * mule-charset.c (Fdefine_char): Delete cemented out code.
2678         (encode_builtin_char_1): Modify for new allocation of builtin
2679         Mojikyo characters.
2680
2681         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2682
2683 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2684
2685         * mule-charset.c (Vcharset_ucs_cns): New variable.
2686         (Qucs_cns): New variable.
2687         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2688         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2689
2690 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2691
2692         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2693
2694 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2695
2696         * search.c (search_buffer): Make `charset_base_code' as
2697         character-id >> 6 to eliminate the corresponding last byte in
2698         UTF-8 representation [I'm not sure it is right thing].
2699         (boyer_moore): Likewise.
2700
2701 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2702
2703         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2704         representation in MULE.
2705
2706 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2707
2708         * text-coding.c (Fmake_coding_system): Use
2709         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2710         `EXTERNAL_PROPERTY_LIST_LOOP'.
2711
2712 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2713
2714         * text-coding.c (decode_output_utf8_partial_char): New function.
2715         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2716
2717 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2718
2719         * text-coding.c (decode_coding_utf8): Output original byte
2720         sequence if it is broken; change order of conditions.
2721
2722         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2723         of conditions.
2724
2725         * mb-multibyte.h (BYTE_ASCII_P):
2726         Use bit ops for char-signedness safety.
2727         (BYTE_C0_P): Use bit ops for char-signedness safety.
2728         (BYTE_C1_P): Use bit ops for char-signedness safety.
2729
2730         * character.h: (XCHAR_OR_CHAR_INT):
2731         Always use inline function.
2732         Remove redundant type checking assert() - XINT will abort quite
2733         nicely.
2734
2735 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2736
2737         * text-coding.c: (Fencode_shift_jis_char):
2738         (Fencode_big5_char):
2739         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2740         Replace 0 with '\0' when working with bytes.
2741         Replace initial "(" with "\(" in docstrings.
2742
2743         (Fmake_coding_system):
2744         When type is ccl and value is vector, register it with a proper
2745         symbol.  And checks whether the given ccl program is valid.
2746         (mule_decode): When calling ccl_driver, if src indicates
2747         NULL pointer, set an empty string instead.
2748         (mule_encode): Likewise.
2749
2750         (detect_eol_type):
2751         (detect_coding_sjis):
2752         (decode_coding_sjis):
2753         (detect_coding_big5):
2754         (decode_coding_big5):
2755         (detect_coding_ucs4):
2756         (decode_coding_ucs4):
2757         (detect_coding_utf8):
2758         (decode_coding_utf8):
2759         (detect_coding_iso2022):
2760         (decode_coding_iso2022):
2761         (decode_coding_no_conversion):
2762         (mule_decode):
2763         Make all detecting and decoding functions take an Extbyte * arg.
2764         (text_encode_generic):
2765         (encode_coding_big5):
2766         (encode_coding_no_conversion):
2767         (mule_encode):
2768         Make all encoding functions take a Bufbyte * arg.
2769         Use size_t instead of unsigned int for memory sizes.
2770         Only cast to unsigned char whenever dereferencing Extbyte *.
2771
2772         (struct lrecord_description fcd_description_1): Use countof.
2773         (complex_vars_of_file_coding):
2774         Use countof instead of sizeof.
2775         Use CHECK_NATNUM instead of CHECK_INT.
2776
2777 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2778
2779         * mule-charset.c (Fget_char_attribute): Add new optional argument
2780         `default-value'.
2781         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2782         (remove_char_ccs): Likewise.
2783
2784 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2785
2786         * text-coding.c (char_encode_shift_jis): New implementation in
2787         UTF-2000.
2788         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2789         ...)'.
2790
2791         * mule-charset.c (Vcharset_chinese_big5): New variable in
2792         UTF-2000.
2793         (Qchinese_big5): New variable in UTF-2000.
2794         (BIG5_SAME_ROW): New macro in UTF-2000.
2795         (make_builtin_char): Use builtin characters of
2796         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2797         characters of `Vcharset_chinese_big5'.
2798         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2799         (complex_vars_of_mule_charset): Add new coded-charset
2800         `chinese-big5' in UTF-2000.
2801
2802         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2803         (Vcharset_chinese_big5): New external variable declaration.
2804         (Vcharset_japanese_jisx0208_1990): Likewise.
2805
2806 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2807
2808         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2809         function.
2810         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2811
2812 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2813
2814         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2815         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2816         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2817         `mojikyo-pj-*'.
2818
2819 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2820
2821         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2822
2823 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2824
2825         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2826         to 0.17.
2827
2828 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2829
2830         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2831         for `CHARSET_BY_ATTRIBUTES'.
2832         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2833         `CHARSET_BY_ATTRIBUTES'.
2834
2835         * text-coding.c (struct decoding_stream): Rename member `CH' to
2836         `CPOS'.
2837         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2838         (decode_coding_sjis): Likewise.
2839         (decode_coding_big5): Likewise.
2840         (decode_coding_ucs4): Likewise.
2841         (decode_coding_utf8): Likewise.
2842         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2843         `CHARSET_BY_ATTRIBUTES'.
2844         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2845         `str->counter'; decode 3, 4 bytes sets.
2846         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2847         sets.
2848         (decode_coding_no_conversion): Use `str->cpos' instead of
2849         `str->ch'.
2850
2851         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2852         (Qmojikyo_2022_1): New variable.
2853         (make_charset): Don't use `CHARSET_TYPE_*'.
2854         (range_charset_code_point): Support coded-charset
2855         `mojikyo-2022-1'.
2856         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2857         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2858         `CHARSET_BY_ATTRIBUTES'.
2859         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2860         `CHARSET_BY_ATTRIBUTES'.
2861         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2862         (complex_vars_of_mule_charset): Add new coded-charset
2863         `mojikyo-2022-1'.
2864
2865         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2866         interface; changed to inline function.
2867
2868         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2869         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2870         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2871         (CHARSET_TYPE_94): Deleted.
2872         (CHARSET_TYPE_94X94): Deleted.
2873         (CHARSET_TYPE_96): Deleted.
2874         (CHARSET_TYPE_96X96): Deleted.
2875         (CHARSET_TYPE_128): Deleted.
2876         (CHARSET_TYPE_128X128): Deleted.
2877         (CHARSET_TYPE_256): Deleted.
2878         (CHARSET_TYPE_256X256): Deleted.
2879         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2880         to inline function.
2881         (DECODE_MOJIKYO_2022): New inline function.
2882         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2883         `Vcharset_mojikyo_2022_1'.
2884
2885 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2886
2887         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2888         instead of `EQ'.
2889         (put_byte_table): Likewise.
2890         (char_id_table_equal): Use `get_byte_table' [new implementation].
2891
2892 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2893
2894         * mule-charset.c: Include <limits.h> in UTF-2000.
2895         (BT_UINT8_MIN): New macro in UTF-2000.
2896         (BT_UINT8_MAX): New macro in UTF-2000.
2897         (BT_UINT8_t): New macro in UTF-2000.
2898         (BT_UINT8_nil): New macro in UTF-2000.
2899         (BT_UINT8_unbound): New macro in UTF-2000.
2900         (INT_UINT8_P): New inline function in UTF-2000.
2901         (UINT8_VALUE_P): New inline function in UTF-2000.
2902         (UINT8_ENCODE): New inline function in UTF-2000.
2903         (UINT8_DECODE): New inline function in UTF-2000.
2904         (mark_uint8_byte_table): New function in UTF-2000.
2905         (print_uint8_byte_table): New function in UTF-2000.
2906         (uint8_byte_table_equal): New function in UTF-2000.
2907         (uint8_byte_table_hash): New function in UTF-2000.
2908         (make_uint8_byte_table): New function in UTF-2000.
2909         (uint8_byte_table_same_value_p): New function in UTF-2000.
2910         (BT_UINT16_MIN): New macro in UTF-2000.
2911         (BT_UINT16_MAX): New macro in UTF-2000.
2912         (BT_UINT16_t): New macro in UTF-2000.
2913         (BT_UINT16_nil): New macro in UTF-2000.
2914         (BT_UINT16_unbound): New macro in UTF-2000.
2915         (INT_UINT16_P): New inline function in UTF-2000.
2916         (UINT16_VALUE_P): New inline function in UTF-2000.
2917         (UINT16_ENCODE): New inline function in UTF-2000.
2918         (UINT16_DECODE): New inline function in UTF-2000.
2919         (UINT8_TO_UINT16): New inline function in UTF-2000.
2920         (mark_uint16_byte_table): New function in UTF-2000.
2921         (print_uint16_byte_table): New function in UTF-2000.
2922         (uint16_byte_table_equal): New function in UTF-2000.
2923         (uint16_byte_table_hash): New function in UTF-2000.
2924         (make_uint16_byte_table): New function in UTF-2000.
2925         (uint16_byte_table_same_value_p): New function in UTF-2000.
2926         (print_byte_table): New function in UTF-2000.
2927         (byte-table): Use `print_byte_table' as printer.
2928         (make_byte_table): Delete second argument `older'.
2929         (byte_table_same_value_p): New function in UTF-2000.
2930         (copy_byte_table): Deleted.
2931         (get_byte_table): New function in UTF-2000.
2932         (put_byte_table): New function in UTF-2000.
2933         (print_char_id_table): New function in UTF-2000.
2934         (char-id-table): Use `print_char_id_table' as printer.
2935         (make_char_id_table): Delete second argument `older'.
2936         (get_char_id_table): Use `get_byte_table [new implementation].
2937         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2938         implementation].
2939         (Ffind_char_attribute_table): New function in UTF-2000.
2940         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2941         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2942         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2943         (syms_of_mule_charset): Add new function
2944         `find-char-attribute-table' in UTF-2000.
2945
2946         * lrecord.h (enum lrecord_type): Add
2947         `lrecord_type_uint16_byte_table' and
2948         `lrecord_type_uint8_byte_table'.
2949
2950         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2951         (Lisp_Uint8_Byte_Table): New type.
2952         (XUINT8_BYTE_TABLE): New macro.
2953         (XSETUINT8_BYTE_TABLE): New macro.
2954         (UINT8_BYTE_TABLE_P): New macro.
2955         (GC_UINT8_BYTE_TABLE_P): New macro.
2956         (struct Lisp_Uint16_Byte_Table): New structure.
2957         (Lisp_Uint16_Byte_Table): New type.
2958         (XUINT16_BYTE_TABLE): New macro.
2959         (XSETUINT16_BYTE_TABLE): New macro.
2960         (UINT16_BYTE_TABLE_P): New macro.
2961         (GC_UINT16_BYTE_TABLE_P): New macro.
2962
2963 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2964
2965         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2966         (Vcharacter_ideographic_strokes_table): Deleted.
2967         (Vcharacter_total_strokes_table): Deleted.
2968         (Vcharacter_morohashi_daikanwa_table): Deleted.
2969         (Vcharacter_decomposition_table): Deleted.
2970         (Qname): Deleted because it is duplicated.
2971         (Qideographic_radical): Deleted.
2972         (Qideographic_strokes): Deleted.
2973         (Qtotal_strokes): Deleted.
2974         (Qmorohashi_daikanwa): Deleted.
2975         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2976         `ideographic-radical', `ideographic-strokes', `total-strokes',
2977         `morohashi-daikanwa' and `->decomposition'.
2978         (Fget_char_attribute): Likewise.
2979         (Fput_char_attribute): Likewise; use `make-vector' instead of
2980         `make_older_vector' for `->decomposition' value.
2981         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2982         `ideograph-daikanwa'.
2983         (syms_of_mule_charset): Delete builtin symbols `name',
2984         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2985         `morohashi-daikanwa'.
2986         (vars_of_mule_charset): Don't setup
2987         `Vcharacter_ideographic_radical_table',
2988         `Vcharacter_ideographic_strokes_table',
2989         `Vcharacter_total_strokes_table',
2990         `Vcharacter_morohashi_daikanwa_table' and
2991         `Vcharacter_decomposition_table'.
2992
2993 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2994
2995         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2996         `make_older_vector', `make_vector_newer_1' and
2997         `make_vector_newer'.
2998
2999         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3000         `make_older_vector' and `make_vector_newer'.
3001
3002         * config.h.in (HAVE_GGC): New macro.
3003
3004 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3005
3006         * mule-charset.c (struct char_attribute_list_closure): New
3007         structure in UTF-2000.
3008         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3009         (Fchar_attribute_list): Likewise.
3010         (Fset_charset_mapping_table): Use `make_vector_newer'.
3011         (Fdecode_builtin_char): New function in UTF-2000.
3012         (syms_of_mule_charset): Add new function `char-attribute-list' and
3013         `decode-builtin-char' in UTF-2000.
3014
3015         * lisp.h (make_vector_newer): New prototype.
3016
3017         * alloc.c (make_vector_newer_1): New function.
3018         (make_vector_newer): New function.
3019
3020 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3021
3022         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3023         50100)'.
3024
3025 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3026
3027         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3028         (Vcharacter_attribute_table): Deleted.
3029         (Vcharacter_name_table): Deleted.
3030         (put_char_attribute): Deleted.
3031         (remove_char_attribute): Deleted.
3032         (struct char_attribute_alist_closure): New structure.
3033         (add_char_attribute_alist_mapper): New function.
3034         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3035         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3036         (Fget_char_attribute): Likewise.
3037         (Fput_char_attribute): Likewise.
3038         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3039         of `remove_char_attribute'.
3040         (Fdefine_char): Return character.
3041         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3042         and `Vcharacter_name_table'.
3043         (complex_vars_of_mule_charset): Likewise
3044         `Vchar_attribute_hash_table'.
3045
3046 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3047
3048         * character.h (CHARC_CHARSET): New macro.
3049         (CHARC_CHARSET_ID): New macro.
3050         (CHARC_CODE_POINT): New macro.
3051         (CHARC_COLUMNS): New macro.
3052         (CHARC_TO_CHAR): New inline function.
3053         (CHARC_EQ): New inline function.
3054         (CHARC_ASCII_EQ): New inline function.
3055         (CHARC_IS_SPACE): New inline function.
3056         (ASCII_TO_CHARC): New inline function.
3057
3058         * char-ucs.h (encode_char_2): Deleted.
3059         (ENCODE_CHAR): Use `encode_char_1' again.
3060         (breakup_char_1): Likewise.
3061         (CHAR_TO_CHARC): New inline function.
3062
3063         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3064
3065 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3066
3067         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3068         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3069         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3070         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3071         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3072         `CHARC_IS_SPACE'.
3073         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3074
3075         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3076         `CHARC_CODE_POINT'.
3077         (x_output_display_block): Use `CHARC_CHARSET' and
3078         `CHARC_ASCII_EQ'.
3079
3080         * redisplay-tty.c (tty_output_display_block): Use
3081         `CHARC_ASCII_EQ'.
3082         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3083
3084         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3085
3086         * insdel.c (find_charsets_in_charc_string): Use
3087         `CHARC_CHARSET_ID'.
3088         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3089         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3090         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3091         (convert_charc_string_into_malloced_string): Likewise.
3092
3093 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3094
3095         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3096         instead of <Emchar_dynarr *> for buf; use
3097         `convert_bufbyte_string_into_charc_dynarr' instead of
3098         `convert_bufbyte_string_into_emchar_dynarr'; use
3099         `find_charsets_in_charc_string' instead of
3100         `find_charsets_in_emchar_string'.
3101
3102         * redisplay.h:
3103         - Include "character.h".
3104         (struct rune): New member `cglyph'; delete member `chr'.
3105
3106         * redisplay.c (redisplay_text_width_charc_string): New function;
3107         delete `redisplay_text_width_emchar_string'.
3108         (rtw_charc_dynarr): New variable; renamed from
3109         `rtw_emchar_dynarr'.
3110         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3111         `rtw_emchar_dynarr'; use
3112         `convert_bufbyte_string_into_charc_dynarr' instead of
3113         `convert_bufbyte_string_into_emchar_dynarr'; use
3114         `redisplay_text_width_charc_string' instead of
3115         `redisplay_text_width_emchar_string'.
3116         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3117         instead of `rtw_emchar_dynarr'; use
3118         `convert_bufbyte_string_into_charc_dynarr' instead of
3119         `convert_bufbyte_string_into_emchar_dynarr'.
3120         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3121         `redisplay_text_width_charc_string' instead of
3122         `redisplay_text_width_emchar_string'.
3123         (create_text_block): Modify for <struct rune> change.
3124         (generate_formatted_string_db): Likewise.
3125         (create_string_text_block): Likewise.
3126         (pixel_to_glyph_translation): Likewise.
3127
3128         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3129         instead of <const Emchar *>.
3130         (x_text_width): Likewise.
3131         (x_output_display_block): Use <Charc_dynarr *> instead
3132         <Emchar_dynarr *>; modify for <structure rune> change.
3133         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3134         *>.
3135
3136         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3137         <const Emchar *>; use `charc_string_displayed_columns' instead of
3138         `emchar_string_displayed_columns'.
3139         (tty_output_display_block): Use <Charc_dynarr *> instead of
3140         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3141         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3142         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3143         `tty_output_emchar_dynarr_dynarr'.
3144         (tty_output_charc_dynarr): New function; delete
3145         `tty_output_charc_dynarr'.
3146
3147         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3148         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3149         <Emchar_dynarr *> for buf; use
3150         `convert_bufbyte_string_into_charc_dynarr' instead of
3151         `convert_bufbyte_string_into_emchar_dynarr'.
3152
3153         * frame.c (title_string_charc_dynarr): New variable; renamed from
3154         `title_string_emchar_dynarr'.
3155         (generate_title_string): Use `title_string_charc_dynarr' instead
3156         of `title_string_emchar_dynarr'; use
3157         `convert_charc_string_into_malloced_string' instead of
3158         `convert_emchar_string_into_malloced_string'.
3159         (init_frame): Use `title_string_charc_dynarr' instead of
3160         `title_string_emchar_dynarr'.
3161
3162         * console.h:
3163         - Include "character.h".
3164         (struct console_methods): Use <const Charc *> instead of <const
3165         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3166         <Emchar_dynarr *> in output_string_method.
3167
3168         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3169         <Emchar_dynarr *>.
3170
3171         * console-stream.c (stream_text_width): Use <const Charc *>
3172         instead of <const Emchar *>.
3173
3174         * character.h (Charc_dynarr): New type.
3175
3176         * char-ucs.h (structure Charc): New structure; define new type
3177         `Charc'.
3178
3179         * char-lb.h (DECODE_CHAR): New inline function.
3180         (encode_char_1): New inline function.
3181         (ENCODE_CHAR): New macro.
3182         (structure Charc): New structure; define new type `Charc'.
3183
3184         * char-1byte.h (Vcharset_control_1): New macro.
3185         (Vcharset_latin_iso8859_1): New macro.
3186         (DECODE_CHAR): New inline function.
3187         (encode_char_1): New inline function.
3188         (ENCODE_CHAR): New macro.
3189         (structure Charc): New structure; define new type `Charc'.
3190
3191         * insdel.c (find_charsets_in_charc_string): New function; delete
3192         `find_charsets_in_emchar_string'.
3193         (charc_string_displayed_columns): New function; delete
3194         `emchar_string_displayed_columns'.
3195         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3196         `convert_bufbyte_string_into_emchar_dynarr'.
3197         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3198         `convert_charc_string_into_bufbyte_dynarr'.
3199         (convert_charc_string_into_malloced_string): New function; delete
3200         `convert_charc_string_into_malloced_string'.
3201
3202         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3203         `find_charsets_in_emchar_string'.
3204         (charc_string_displayed_columns): New prototype; delete
3205         `emchar_string_displayed_columns'.
3206         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3207         `convert_charc_string_into_bufbyte_dynarr'.
3208         (convert_charc_string_into_malloced_string): New prototype; delete
3209         `convert_charc_string_into_malloced_string'.
3210
3211 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3212
3213         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3214
3215 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3216
3217         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3218
3219         * char-ucs.h: Use <short> for <Charset_ID>.
3220
3221         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3222         <Charset_ID>.
3223
3224 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3225
3226         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3227         to 0.16.
3228
3229 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3230
3231         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3232         variable.
3233         (Qmorohashi_daikanwa): New variable.
3234         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3235         for `morohashi-daikanwa' attribute.
3236         (Fget_char_attribute): Likewise.
3237         (Fput_char_attribute): Likewise.
3238         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3239         has the same value of `ideograph-daikanwa'.
3240         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3241         (vars_of_mule_charset): Setup
3242         `Vcharacter_morohashi_daikanwa_table'.
3243
3244 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3245
3246         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3247         attributes.
3248         (add_charset_to_list_mapper): Add `key' instead of
3249         `XCHARSET_NAME (value)' to return aliases.
3250
3251 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3252
3253         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3254         variable.
3255         (Vcharacter_ideographic_strokes_table): New variable.
3256         (Qideographic_radical): New variable.
3257         (Qideographic_strokes): New variable.
3258         (Fchar_attribute_alist): Use
3259         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3260         attribute; use `Vcharacter_ideographic_strokes_table' for
3261         `ideographic-strokes' attribute.
3262         (Fget_char_attribute): Likewise.
3263         (Fput_char_attribute): Likewise.
3264         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3265         `ideographic-strokes'.
3266         (vars_of_mule_charset): Setup
3267         `Vcharacter_ideographic_radical_table' and
3268         `Vcharacter_ideographic_strokes_table'.
3269
3270 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3271
3272         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3273         (Qtotal_strokes): New variable.
3274         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3275         `total-strokes' attribute.
3276         (Fget_char_attribute): Likewise.
3277         (Fput_char_attribute): Likewise.
3278         (syms_of_mule_charset): Add new symbol `total-strokes'.
3279         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3280
3281 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3282
3283         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3284         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3285         are found.
3286         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3287         `->decomposition' attribute.
3288         (Fput_char_attribute): Likewise.
3289         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3290
3291 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3292
3293         * mule-charset.c (decoding_table_check_elements): New function.
3294         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3295
3296 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3297
3298         * mule-charset.c (Fset_charset_mapping_table): Use
3299         `put_char_ccs_code_point'.
3300
3301 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3302
3303         * mule-charset.c (decoding_table_put_char): New inline function.
3304         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3305
3306 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3307
3308         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3309         (XCHARSET_BYTE_SIZE): New macro.
3310         (decoding_table_remove_char): New inline function.
3311         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3312         `decoding_table_remove_char'.
3313         (remove_char_ccs): Use `decoding_table_remove_char'.
3314         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3315
3316 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3317
3318         * mule-charset.c (Vcharacter_name_table): New variable.
3319         (Qname): New variable.
3320         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3321         attribute.
3322         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3323         `Vcharacter_name_table' for `name' attribute.
3324         (Fremove_char_attribute): Use function `remove_char_ccs'.
3325         (put_char_ccs_code_point): New function.
3326         (remove_char_ccs): New function.
3327         (syms_of_mule_charset): Add new symbol `name'.
3328         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3329
3330 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3331
3332         * mule-charset.c (make_byte_table): Add new argument `older'.
3333         (make_char_id_table): Likewise.
3334         (copy_char_id_table): Comment out because it is not used.
3335         (put_char_id_table): Modify for `make_byte_table'.
3336         (Fput_char_attribute): Make encoding_table as older object;
3337         inherit older bit of `Vcharacter_composition_table'.
3338         (mark_charset): Don't mark `cs->encoding_table'.
3339         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3340         normal object; make `Vcharacter_composition_table' as an older
3341         object; delete staticpro for `Vcharacter_composition_table'; make
3342         `Vcharacter_variant_table' as a normal object.
3343
3344         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3345         (mark_object): Don't check older object in UTF-2000.
3346
3347         * lrecord.h (struct lrecord_header): Add new member `older' in
3348         UTF-2000.
3349         (set_lheader_implementation): Setup `SLI_header->older' in
3350         UTF-2000.
3351         (set_lheader_older_implementation): New macro in UTF-2000.
3352         (OLDER_RECORD_P): New macro in UTF-2000.
3353         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3354         (alloc_older_lcrecord): New prototype in UTF-2000.
3355         (alloc_older_lcrecord_type): New macro in UTF-2000.
3356
3357 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3358
3359         * mule-charset.c (byte_table_description): Use
3360         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3361         (char_id_table_description): Delete bogus `, 1'.
3362         (Fget_char_attribute): Refer encoding_table of each coded-charset
3363         to get value of coded-charset attribute of a character.
3364         (Fput_char_attribute): Use `make_older_vector' instead of
3365         `make_vector'; use encoding_table of each coded-charset to store
3366         value of coded-charset attribute of a character.
3367         (Fremove_char_attribute): Use encoding_table of each coded-charset
3368         to store value of coded-charset attribute of a character.
3369         (mark_charset): Mark `cs->encoding_table'; don't mark
3370         `cs->decoding_table'.
3371         (charset_description): Add description of new member
3372         `encoding_table'.
3373         (make_charset): Initialize `encoding_table'.
3374
3375         * char-ucs.h (struct Lisp_Charset): Add new member
3376         `encoding_table'.
3377         (CHARSET_ENCODING_TABLE): New macro.
3378         (XCHARSET_ENCODING_TABLE): New macro.
3379         (charset_code_point): New implementation.
3380         (encode_char_1): Likewise.
3381
3382         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3383         (disksave_object_finalization_1): Call finalizers of
3384         `all_older_lcrecords' in UTF-2000.
3385         (make_older_vector): New function in UTF-2000.
3386         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3387         UTF-2000.
3388
3389         * lisp.h (make_older_vector): New prototype in UTF-2000.
3390
3391 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3392
3393         * lrecord.h (enum lrecord_type): Rename
3394         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3395
3396         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3397         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3398         `get_char_code_table'.
3399
3400         * mule-charset.c (mark_char_id_table): Renamed from
3401         `mark_char_code_table'.
3402         (char_id_table_equal): Renamed from `char_code_table_equal'.
3403         (char_id_table_hash): Renamed from `char_code_table_hash'.
3404         (make_char_id_table): Renamed from `make_char_code_table'.
3405         (copy_char_id_table): Renamed from `copy_char_code_table'.
3406         (get_char_id_table): Renamed from `get_char_code_table'.
3407         (put_char_id_table): Renamed from `put_char_code_table'.
3408         (to_char_id): Renamed from `to_char_code'.
3409
3410         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3411         `Lisp_Char_Code_Table'.
3412         (char_id_table): Renamed from `char_code_table'.
3413         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3414         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3415         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3416         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3417         (get_char_id_table): Renamed from `get_char_code_table'.
3418
3419 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3420
3421         * lrecord.h (enum lrecord_type): Rename
3422         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3423
3424         * mule-charset.c (mark_byte_table): Renamed from
3425         `mark_char_byte_table'.
3426         (byte_table_equal): Renamed from `char_byte_table_equal'.
3427         (byte_table_hash): Renamed from `byte_table_hash'.
3428         (make_byte_table): Renamed from `make_byte_table'.
3429         (copy_byte_table): Renamed from `copy_char_byte_table'.
3430
3431         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3432         `Lisp_Char_Byte_Table'.
3433         (byte_table): Renamed from `char_byte_table'.
3434         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3435         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3436         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3437         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3438
3439 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3440
3441         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3442         (dfc_convert_to_internal_format): Likewise.
3443         
3444         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3445         * text-coding.c (Fcoding_system_alias_p): New function.
3446         * text-coding.c (Fcoding_system_aliasee): New function.
3447         * text-coding.c (append_suffix_to_symbol): New function.
3448         * text-coding.c (dangling_coding_system_alias_p): New function.
3449         * text-coding.c (Ffind_coding_system):
3450         * text-coding.c (Fcopy_coding_system):
3451         * text-coding.c (encode_coding_no_conversion):
3452         * text-coding.c (syms_of_file_coding):
3453         * text-coding.c (vars_of_file_coding):
3454         Rewrite coding system alias code.
3455         Allow nested aliases, like symbolic links.
3456         Allow redefinition of coding system aliases.
3457         Prevent existence of dangling coding system aliases.
3458         Eliminate convert_to_external_format.
3459         Eliminate convert_to_internal_format.
3460         
3461         * text-coding.c: Change enum eol_type to eol_type_t.
3462
3463 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3464
3465         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3466         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3467
3468         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3469         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3470
3471 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3472
3473         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3474         `ideograph-daikanwa'.
3475
3476         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3477         (Vcharset_ucs_bmp): Likewise.
3478         (Vcharset_mojikyo): Add new extern variable definition.
3479         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3480         (Vcharset_latin_iso8859_3): Likewise.
3481         (Vcharset_latin_iso8859_4): Likewise.
3482         (Vcharset_latin_iso8859_9): Likewise.
3483         (Vcharset_latin_viscii_lower): Likewise.
3484         (Vcharset_latin_viscii_upper): Likewise.
3485         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3486         `mojikyo' code-point is used to decode.
3487         (encode_char_2): New function [to convert `mojikyo' code-point to
3488         Mojikyo font encoding].
3489         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3490         (breakup_char_1): Likewise.
3491         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3492
3493 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3494
3495         * text-coding.c (Fmake_coding_system): Add document about
3496         `disable-composition' property.
3497
3498 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3499
3500         * text-coding.c (Qdisable_composition): New variable; delete
3501         `Qcomposite'.
3502         (Fmake_coding_system): Add new property `disable-composite';
3503         delete property `composite'.
3504         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3505         instead of `!CODING_SYSTEM_COMPOSITE'.
3506         (syms_of_file_coding): Add new symbol `disable-composition';
3507         delete symbol `composite'.
3508
3509         * file-coding.h (struct Lisp_Coding_System): Add
3510         `disable_composition'; delete `enable_composition'.
3511         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3512         `CODING_SYSTEM_COMPOSITE'.
3513         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3514         `XCODING_SYSTEM_COMPOSITE'.
3515
3516 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3517
3518         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3519         to 0.15.
3520
3521 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3522
3523         * text-coding.c (Qcomposite): New variable.
3524         (Fmake_coding_system): Add new property `composite'.
3525         (struct decoding_stream): Add `combined_char_count',
3526         `combined_chars' and `combining_table' in UTF-2000.
3527         (COMPOSE_FLUSH_CHARS): New macro.
3528         (COMPOSE_ADD_CHAR): New macro.
3529         (reset_decoding_stream): Reset `str->combined_char_count' and
3530         `str->combining_table' in UTF-2000.
3531         (decode_coding_iso2022): Modify for character-decomposition.
3532         (syms_of_file_coding): Add new symbol `composite'.
3533
3534 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3535
3536         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3537         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3538         of `Vcharacter_composition_table' if `->decomposition' property
3539         has only 1 element.
3540         (Qlatin_tcvn5712): New variable.
3541         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3542         (complex_vars_of_mule_charset): Add new coded-charset
3543         `latin-tcvn5712'.
3544
3545         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3546
3547 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3548
3549         * file-coding.h (struct Lisp_Coding_System): Add
3550         `enable_composition'.
3551         (CODING_SYSTEM_COMPOSITE): New macro.
3552         (XCODING_SYSTEM_COMPOSITE): New macro.
3553
3554 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3555
3556         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3557
3558 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3559
3560         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3561         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3562
3563 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3564
3565         * mule-charset.c (Vcharset_mojikyo): New variable.
3566         (Fdefine_char): Don't use coded-charset which does not have
3567         non-builtin character range to allocate character-id.
3568         (Qmojikyo): New variable.
3569         (syms_of_mule_charset): Add new symbol `mojikyo'.
3570         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3571
3572         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3573         (LEADING_BYTE_MOJIKYO): New macro.
3574         (MIN_CHAR_MOJIKYO): New macro.
3575         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3576         (MAX_CHAR_MOJIKYO): New macro.
3577
3578 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3579
3580         * mule-charset.c (remove_char_attribute): Fixed.
3581
3582 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3583
3584         * mule-charset.c (remove_char_attribute): New function.
3585         (Fremove_char_attribute): New function.
3586         (encode_builtin_char_1): Comment out builtin-support for
3587         greek-iso8859-7 and cyrillic-iso8859-5.
3588         (Fdecode_char): Check `code' is an integer.
3589         (syms_of_mule_charset): Add `remove-char-attribute'.
3590         (MIN_CHAR_GREEK): Deleted.
3591         (MAX_CHAR_GREEK): Likewise.
3592         (MIN_CHAR_CYRILLIC): Likewise.
3593         (MAX_CHAR_CYRILLIC): Likewise.
3594         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3595         MAX_CHAR_GREEK for `greek-iso8859-7'.
3596
3597         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3598         (MAX_CHAR_GREEK): Likewise.
3599         (MIN_CHAR_CYRILLIC): Likewise.
3600         (MAX_CHAR_CYRILLIC): Likewise.
3601
3602 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3603
3604         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3605         format is used without `ucs' property.
3606         (Fdecode_char): Fix problem with GR representation.
3607         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3608         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3609
3610 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3611
3612         * mule-charset.c (make_builtin_char): New function.
3613         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3614         (Fset_charset_mapping_table): Modify for new representation of
3615         code-point.
3616         (Fdecode_char): New function.
3617         (syms_of_mule_charset): Add new builtin function `decode-char' in
3618         UTF-2000.
3619
3620         * char-ucs.h (make_builtin_char): New prototype.
3621         (DECODE_CHAR): New inline function.
3622         (MAKE_CHAR): Use `DECODE_CHAR'.
3623
3624 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3625
3626         * text-coding.c (parse_charset_conversion_specs): Use
3627         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3628         `XCHARSET_TYPE'.
3629         (iso2022_designate): Likewise.
3630
3631         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3632         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3633
3634         * mule-charset.c (Vcharset_ucs): New variable.
3635         (print_charset): Change design; use `CHARSET_CHARS' and
3636         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3637         (make_charset): Change signature to specify `chars' and
3638         `dimension' instead of `type'.
3639         (range_charset_code_point): Modify for 256^n-set.
3640         (encode_builtin_char_1): Encode as `ucs' in default.
3641         (Fmake_charset): Modify for `make_charset'.
3642         (Fmake_reverse_direction_charset): Likewise.
3643         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3644         UTF-2000.
3645         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3646         for `make_charset'.
3647
3648         * char-ucs.h (Vcharset_ucs): New variable.
3649         (LEADING_BYTE_UCS): New macro.
3650         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3651         and `chars' to `unsigned short' from `unsigned int'.
3652         (CHARSET_TYPE): Deleted.
3653         (XCHARSET_TYPE): Deleted.
3654
3655 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3656
3657         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3658
3659         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3660         (ENCODE_CHAR): New macro.
3661
3662 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3663
3664         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3665         to 0.14 (Kawachi-Katakami).
3666
3667 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3668
3669         * text-coding.c (char_encode_shift_jis): Modify for
3670         `charset_code_point'.
3671         (char_encode_iso2022): Likewise.
3672
3673         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3674         (integer) instead of list of <Lisp_Object>s (integers) as the
3675         format of code-point of a coded-charset.
3676         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3677         (encode_builtin_char_1): New function; delete
3678         `split_builtin_char'.
3679         (charset_code_point): Return <int> instead of <Lisp_Object>.
3680         (Fsplit_char): Don't use `SPLIT_CHAR'.
3681
3682         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3683         prototype for `split_builtin_char'.
3684         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3685         (charset_code_point): Likewise.
3686         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3687         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3688
3689 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3690
3691         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3692         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3693
3694 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3695
3696         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3697
3698         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3699         (MAX_CHAR_OBS_94x94): Deleted.
3700
3701 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3702
3703         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3704
3705         * char-ucs.h (MAX_CHAR_BMP): New macro.
3706
3707 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3708
3709         * text-coding.c: Sync with r21-2-24.
3710
3711 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3712
3713         * file-coding.c: Modify for UTF-2000.
3714
3715 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3716
3717         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3718         to 0.13 (Takaida).
3719
3720 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3721
3722         * mule-charset.c (split_builtin_char): Delete builtin support for
3723         `katakana-jisx0201'.
3724         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3725         BMP area in builtin representation.
3726
3727         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3728         `Vcharset_katakana_jisx0201'.
3729
3730 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3731
3732         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3733         (Qisolated): New variable.
3734         (Qinitial): New variable.
3735         (Qmedial): New variable.
3736         (Qfinal): New variable.
3737         (Qvertical): New variable.
3738         (Qsmall): New variable.
3739         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3740         `Qvertical' and `Qsmall'.
3741         (Qmojikyo_pj_[1 .. 21]): New variable.
3742         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3743         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3744         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3745         .. 21]'.
3746
3747 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3748
3749         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3750         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3751         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3752
3753 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3754
3755         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3756         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3757         BMP.
3758         (Qjapanese_jisx0208_1990): New variable.
3759         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3760         (complex_vars_of_mule_charset): Add new coded-charset
3761         `japanese-jisx0208-1990'.
3762
3763         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3764         (MIN_CHAR_JIS_X0208_1990): New macro.
3765         (MAX_CHAR_JIS_X0208_1990): New macro.
3766
3767 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3768
3769         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3770         coded-charset is not found.
3771
3772 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3773
3774         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3775         (Fdefine_char): Use `Fmake_char'.
3776
3777 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3778
3779         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3780         (Vcharset_hiragana_jisx0208): Deleted.
3781         (Vcharset_katakana_jisx0208): Deleted.
3782         (Qideograph_daikanwa): New variable.
3783         (Qhiragana_jisx0208): Deleted.
3784         (Qkatakana_jisx0208): Deleted.
3785         (split_builtin_char): Split `ideograph-daikanwa'.
3786         (Fsplit_char): New implementation for UTF-2000.
3787         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3788         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3789         (complex_vars_of_mule_charset): Add new coded-charset
3790         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3791         `katakana-jisx0208'.
3792
3793         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3794         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3795         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3796         (MIN_CHAR_DAIKANWA): New macro.
3797         (MAX_CHAR_DAIKANWA): New macro.
3798
3799 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3800
3801         * data.c (Fstring_to_number): Don't recognize floating point if
3802         base is not 10.
3803
3804 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3805
3806         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3807
3808 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3809
3810         * mule-charset.c (Qsquare): New variable.
3811         (to_char_code): Add `Qsquare'.
3812         (syms_of_mule_charset): Add new symbol `square'.
3813
3814 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3815
3816         * mule-charset.c (Qcircle): New variable.
3817         (to_char_code): Add `Qcircle'.
3818         (syms_of_mule_charset): Add new symbol `circle'.
3819
3820 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3821
3822         * mule-charset.c (Qfont): New variable.
3823         (to_char_code): Add `Qfont'.
3824         (syms_of_mule_charset): Add new symbol `font'.
3825
3826 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3827
3828         * mule-charset.c (Qsub): New variable.
3829         (to_char_code): Add `Qsub'.
3830         (syms_of_mule_charset): Add new symbol `sub'.
3831
3832 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3833
3834         * mule-charset.c (Fput_char_attribute): Convert each element of
3835         VALUE to GL position if ATTRIBUTE is a GR-set,
3836
3837 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3838
3839         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3840         coded-charset is a GR-set.
3841
3842 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3843
3844         * mule-charset.c (Fput_char_attribute): Check each element of
3845         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3846
3847 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3848
3849         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3850         UTF-2000.
3851         (Qethiopic_ucs): New variable in UTF-2000.
3852         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3853         (complex_vars_of_mule_charset): Add new coded-charset
3854         `ethiopic-ucs' in UTF-2000.
3855
3856         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3857         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3858         9)'.
3859         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3860         10)'.
3861         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3862
3863 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3864
3865         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3866         `ascii'.
3867
3868 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3869
3870         * mule-charset.c (Vcharacter_variant_table): New variable.
3871         (Q_ucs): New variable.
3872         (Fchar_variants): New function.
3873         (Fput_char_attribute): Register `->ucs' value to
3874         `Vcharacter_variant_table'.
3875         (syms_of_mule_charset): Add new function `char-variants' and new
3876         symbol `->ucs'.
3877         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3878
3879 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3880
3881         * mule-charset.c (get_char_code_table): Allow negative character
3882         code.
3883         (put_char_code_table): Likewise.
3884         (Vcharacter_composition_table): New variable.
3885         (Q_decomposition): New variable.
3886         (Qwide): New variable.
3887         (Qnarrow): New variable.
3888         (Qcompat): New variable.
3889         (QnoBreak): New variable.
3890         (Qsuper): New variable.
3891         (Qfraction): New variable.
3892         (to_char_code): New function.
3893         (Fget_composite_char): New function.
3894         (Fput_char_attribute): Register `->decomposition' value to
3895         `Vcharacter_composition_table'.
3896         (syms_of_mule_charset): Add new function `get-composite-char', new
3897         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3898         `super' and `fraction'.
3899         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3900
3901 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3902
3903         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3904         character; copy the return value.
3905
3906 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3907
3908         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3909
3910         * mule-charset.c (range_charset_code_point): Must use make_int.
3911         (split_builtin_char): New function.
3912
3913 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3914
3915         * mule-charset.c (char_byte_table): Change name from
3916         "char-code-table" to "char-byte-table".
3917         (mark_char_code_table): New function.
3918         (char_code_table_equal): New function.
3919         (char_code_table_hash): New function.
3920         (char_code_table_description): New constant.
3921         (char_code_table): New type.
3922         (make_char_code_table): New function.
3923         (copy_char_code_table): New function.
3924         (get_char_code_table): Modify for `char_code_table' type.
3925         (put_char_code_table): Likewise.
3926         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3927         (Kashiwara).
3928
3929         * char-ucs.h (char_code_table): New type.
3930         (XCHAR_CODE_TABLE): New macro.
3931         (XSETCHAR_CODE_TABLE): New macro.
3932         (CHAR_CODE_TABLE_P): New macro.
3933         (GC_CHAR_CODE_TABLE_P): New macro.
3934         (struct Lisp_Char_Code_Table): New structure.
3935
3936 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3937
3938         * mule-charset.c (Fmake_charset): Setup byte_offset for
3939         {94|96}^n-set.
3940
3941 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3942
3943         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3944         character.
3945
3946 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3947
3948         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3949         is found.
3950
3951 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3952
3953         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3954         charset, it is regarded as a charset.
3955         (put_char_attribute): New function in UTF-2000.
3956         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3957         charset, mapping-table of the charset is modified.
3958         (Fdefine_char): New function in UTF-2000.
3959         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3960         `Fput_char_attribute'.
3961         (syms_of_mule_charset): Add new function `define-char' and new
3962         symbol `ucs' in UTF-2000.
3963         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3964
3965 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3966
3967         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3968         non-UTF-2000 configuration.
3969
3970 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3971
3972         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3973         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3974
3975         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3976         deleted.
3977         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3978         (Fset_charset_mapping_table): Likewise.
3979
3980         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3981         (CHARSET_ENCODING_TABLE): Delete.
3982         (XCHARSET_ENCODING_TABLE): Delete.
3983         (charset_code_point): New interface.
3984
3985 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3986
3987         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3988         instead of `charset_get_byte1' and `charset_get_byte2'.
3989
3990         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3991         (charset_get_byte2): Deleted.
3992
3993 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3994
3995         * char-ucs.h (SPLIT_CHAR): New inline function.
3996         (breakup_char_1): Use `SPLIT_CHAR'.
3997
3998         * mule-charset.c (range_charset_code_point): New function.
3999         (charset_code_point): New function.
4000
4001         * char-ucs.h (range_charset_code_point): New interface.
4002         (breakup_char_1): Use `range_charset_code_point'.
4003
4004 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4005
4006         * mule-charset.c (Fmake_charset): Delete unused local variable
4007         `code_offset'.
4008
4009         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4010         (breakup_char_1): Find a charset and code-point in
4011         `Vcharacter_attribute_table'.
4012
4013 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4014
4015         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4016         to 0.10 (Yao).
4017
4018 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4019
4020         * mule-charset.c (Vcharacter_attribute_table): New variable.
4021         (Fchar_attribute_alist): New function.
4022         (Fget_char_attribute): New function.
4023         (Fput_char_attribute): New function.
4024         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4025         too.
4026         (syms_of_mule_charset): Add new function `char-attribute-alist',
4027         `get-char-attribute' and `put-char-attribute'.
4028         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4029
4030 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4031
4032         * mule-charset.c (Fmake_charset): Just use
4033         `get_unallocated_leading_byte'.
4034
4035         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4036         sets; don't use final-byte based number for private sets.
4037
4038 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4039
4040         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4041         integer.
4042
4043 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4044
4045         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4046         to 0.9.
4047
4048 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4049
4050         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4051         of `CHAR_LEADING_BYTE' in UTF-2000.
4052
4053         * insdel.c (find_charsets_in_bufbyte_string): Use
4054         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4055         (find_charsets_in_emchar_string): Likewise.
4056
4057         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4058         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4059
4060         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4061         (CHAR_CHARSET_ID): New macro.
4062
4063 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4064
4065         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4066         charset-id - MIN_LEADING_BYTE.
4067         (put_char_table): Likewise.
4068
4069 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4070
4071         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4072         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4073         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4074         (CHARSET_ID_OFFSET): New macro.
4075         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4076         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4077         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4078         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4079         4).
4080         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4081         5).
4082         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4083         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4084         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4085         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4086         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4087
4088 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4089
4090         * mule-charset.c (next_allocated_leading_byte): New variable in
4091         UTF-2000.
4092         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4093         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4094         (get_unallocated_leading_byte): Simply use
4095         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4096         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4097         UTF-2000.
4098
4099         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4100         (MAX_LEADING_BYTE_PRIVATE): New macro.
4101         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4102         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4103
4104 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4105
4106         * mule-charset.c (Fmake_charset): Allocate final-byte based
4107         charset-id for 94-set, 96-set and 94x94-set.
4108
4109 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4110
4111         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4112         ambiguous `else'.
4113         (Fmake_charset): Likewise.
4114         (complex_vars_of_mule_charset): Modify the font registry of
4115         `ucs-bmp' not to match `Ethiopic-Unicode'.
4116
4117 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4118
4119         * mule-charset.c (complex_vars_of_mule_charset): Add font
4120         registory of `ucs-bmp'.
4121
4122 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4123
4124         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4125         coded-charsets in `default-coded-charset-priority-list' when
4126         breaking up a character.
4127
4128         * mule-charset.c (Vcharset_latin_viscii): New variable.
4129         (Qlatin_viscii): New variable.
4130         (make_charset): Don't use `decoding_table'.
4131         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4132         byte_offset.
4133         (Fset_charset_mapping_table): New implementation.
4134         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4135         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4136         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4137         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4138         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4139         charset `latin_viscii'.
4140
4141         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4142         (CHARSET_TYPE_94X94): Change to 1 from 2.
4143         (CHARSET_TYPE_96): Change to 2 from 1.
4144         (CHARSET_TYPE_128): New macro.
4145         (CHARSET_TYPE_128X128): Change to 5 from 4.
4146         (CHARSET_TYPE_256): New macro.
4147         (CHARSET_TYPE_256X256): Change to 7 from 5.
4148         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4149
4150 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4151
4152         * text-coding.c (char_encode_shift_jis): Refer
4153         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4154         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4155
4156         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4157         (char_byte_table_equal): New function in UTF-2000.
4158         (char_byte_table_hash): New function in UTF-2000.
4159         (char_byte_table_description): New constant in UTF-2000.
4160         (char_byte_table): New type in UTF-2000.
4161         (make_char_byte_table): New function in UTF-2000.
4162         (copy_char_byte_table): New function in UTF-2000.
4163         (make_char_code_table): New macro in UTF-2000.
4164         (get_char_code_table): New function in UTF-2000.
4165         (put_char_code_table): New function in UTF-2000.
4166         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4167         (charset_description): Add setting in UTF-2000.
4168         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4169         `CHARSET_TO_BYTE1_TABLE(cs)'.
4170         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4171         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4172         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4173         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4174         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4175         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4176         `CHARSET_TO_BYTE2_TABLE(cs)'.
4177
4178         * char-ucs.h (char_byte_table): New type.
4179         (XCHAR_BYTE_TABLE): New macro.
4180         (XSETCHAR_BYTE_TABLE): New macro.
4181         (CHAR_BYTE_TABLE_P): New macro.
4182         (GC_CHAR_BYTE_TABLE_P): New macro.
4183         (struct Lisp_Char_Byte_Table): New structure.
4184         (get_char_code_table): New interface.
4185         (Emchar_to_byte_table): Deleted.
4186         (get_byte_from_character_table): Deleted.
4187         (struct Lisp_Charset): Add `encoding_table'; delete
4188         `to_byte1_table' and `to_byte2_table'.
4189         (CHARSET_ENCODING_TABLE): New macro.
4190         (CHARSET_TO_BYTE1_TABLE): Deleted.
4191         (CHARSET_TO_BYTE2_TABLE): Deleted.
4192         (XCHARSET_ENCODING_TABLE): New macro.
4193         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4194         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4195
4196 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4197
4198         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4199         `vietnamese-viscii-*'.
4200
4201 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4202
4203         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4204         (Qvietnamese_viscii_upper): New variable.
4205         (Fdefine_charset_alias): New function.
4206         (syms_of_mule_charset): Add new function `define-charset-alias'.
4207         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4208         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4209         `latin-viscii-*'.
4210
4211 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4212
4213         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4214         (MAX_CHAR_OBS_94x94): New macro.
4215         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4216         for 94x94 sets.
4217
4218         * mule-charset.c (put_byte_from_character_table): Change unit size
4219         from 128 to 256.
4220         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4221         not defined.
4222         (Fmake_reverse_direction_charset): Modify dummy argument of
4223         `make_charset' for non-UTF-2000 environment.
4224
4225 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4226
4227         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4228
4229         * mule-charset.c (destroy_byte_from_character_table): New macro.
4230         (latin_jisx0201_to_ucs): Deleted.
4231         (latin_iso8859_2_to_ucs): Deleted.
4232         (latin_iso8859_3_to_ucs): Deleted.
4233         (latin_iso8859_4_to_ucs): Deleted.
4234         (latin_iso8859_9_to_ucs): Deleted.
4235         (latin_viscii_lower_to_ucs): Deleted.
4236         (latin_viscii_upper_to_ucs): Deleted.
4237         (mark_charset): Mark `cs->decoding_table'.
4238         (Fcharset_mapping_table): Fix DOC-string.
4239         (Fset_charset_mapping_table): New function.
4240         (syms_of_mule_charset): Add nwe function
4241         `set-charset-mapping-table'.
4242         (complex_vars_of_mule_charset): Don't setup and use
4243         `latin_*_to_ucs'.
4244
4245 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4246
4247         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4248         charset.
4249
4250 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4251
4252         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4253         (Vcharset_katakana_jisx0208): New variable.
4254         (Qhiragana_jisx0208): New variable.
4255         (Qkatakana_jisx0208): New variable.
4256         (make_charset): Add new argument `byte_offset'.
4257         (charset_get_byte1): Modify for new coded-charset definition; use
4258         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4259         `XCHARSET_BYTE_OFFSET'.
4260         (Fmake_charset): Modify for `make_charset'.
4261         (Fmake_reverse_direction_charset): Likewise.
4262         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4263         `katakana-jisx0208'.
4264         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4265         `.'  in font registry of charset `katakana-jisx0201',
4266         `latin-jisx0201', `vietnamese-viscii-lower' and
4267         `vietnamese-viscii-upper'; modify DOC-string of charset
4268         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4269         registry of charset `japanese-jisx0208' not to use font for JIS
4270         X0208:1990; add new charset `hiragana-jisx0208' and
4271         `katakana-jisx0208'.
4272
4273         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4274         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4275         (struct Lisp_Charset): Add `byte_offset'.
4276         (CHARSET_BYTE_OFFSET): New macro.
4277         (XCHARSET_UCS_MIN): New macro.
4278         (XCHARSET_UCS_MAX): New macro.
4279         (XCHARSET_CODE_OFFSET): New macro.
4280         (XCHARSET_BYTE_OFFSET): New macro.
4281         (MIN_CHAR_HIRAGANA): New macro.
4282         (MAX_CHAR_HIRAGANA): New macro.
4283         (MIN_CHAR_KATAKANA): New macro.
4284         (MAX_CHAR_KATAKANA): New macro.
4285         (MAKE_CHAR): Modify for new coded-charset definition; use
4286         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4287         `XCHARSET_BYTE_OFFSET'.
4288
4289 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4290
4291         * mule-charset.c (CHAR96): Deleted.
4292         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4293         <Lisp_Object>.
4294         (latin_iso8859_2_to_ucs): Likewise.
4295         (latin_iso8859_3_to_ucs): Likewise.
4296         (latin_iso8859_4_to_ucs): Likewise.
4297         (latin_iso8859_9_to_ucs): Likewise.
4298         (latin_viscii_lower_to_ucs): Likewise.
4299         (latin_viscii_upper_to_ucs): Likewise.
4300         (latin_tcvn5712_to_ucs): Commented out.
4301         (make_charset): Change type of argument `decoding_table' from
4302         <Emchar*> to <Lisp_Object> [vector of characters].
4303         (Fmake_charset): Modify for `make_charset'.
4304         (Fmake_reverse_direction_charset): Likewise.
4305         (Fcharset_mapping_table): New function in UTF-2000.
4306         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4307         UTF-2000.
4308         (complex_vars_of_mule_charset): Modify for type change of
4309         `*_to_ucs'; modify for `make_charset'.
4310
4311         * char-ucs.h (struct Lisp_Charset): Change type of
4312         `decoding_table' from <Emchar*> to <Lisp_Object>.
4313         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4314
4315 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4316
4317         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4318         error with non-UTF-2000-Mule.
4319
4320 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4321
4322         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4323         in lisp again].
4324         (Vcharset_chinese_cns11643_4): Likewise.
4325         (Vcharset_chinese_cns11643_5): Likewise.
4326         (Vcharset_chinese_cns11643_6): Likewise.
4327         (Vcharset_chinese_cns11643_7): Likewise.
4328         (Qchinese_cns11643_3): Likewise.
4329         (Qchinese_cns11643_4): Likewise.
4330         (Qchinese_cns11643_5): Likewise.
4331         (Qchinese_cns11643_6): Likewise.
4332         (Qchinese_cns11643_7): Likewise.
4333         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4334         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4335         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4336         (complex_vars_of_mule_charset): Likewise.
4337
4338 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4339
4340         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4341         96-set.
4342         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4343         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4344
4345 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4346
4347         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4348         0xFF60.
4349         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4350         (breakup_char_1): Likewise.
4351
4352         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4353         one of them includes the specified character.
4354
4355 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4356
4357         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4358
4359 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4360
4361         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4362
4363 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4364
4365         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4366         definition for non-UTF-2000 Mule.
4367         (latin_iso8859_3_to_ucs): Likewise.
4368         (latin_iso8859_4_to_ucs): Likewise.
4369         (latin_iso8859_9_to_ucs): Likewise.
4370         (latin_jisx0201_to_ucs): Likewise.
4371         (MIN_CHAR_THAI): Likewise.
4372         (MAX_CHAR_THAI): Likewise.
4373         (MIN_CHAR_GREEK): Likewise.
4374         (MAX_CHAR_GREEK): Likewise.
4375         (MIN_CHAR_HEBREW): Likewise.
4376         (MAX_CHAR_HEBREW): Likewise.
4377         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4378         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4379         (MIN_CHAR_CYRILLIC): Likewise.
4380         (MAX_CHAR_CYRILLIC): Likewise.
4381
4382 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4383
4384         * char-ucs.h (breakup_char_1): Use
4385         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4386         thai-tis620 and katakana-jisx0201 area.
4387
4388 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4389
4390         * char-ucs.h (breakup_char_1): Use
4391         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4392         area.
4393
4394         * text-coding.c (reset_encoding_stream): Fixed.
4395         (char_encode_ucs4): Delete `& 255'.
4396
4397         * char-ucs.h (breakup_char_1): Use
4398         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4399
4400 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4401
4402         * file-coding.c (Fmake_coding_system): Don't set up
4403         `codesys->fixed.size'.
4404         (encode_coding_no_conversion): Don't refer
4405         `str->codesys->fixed.size'.
4406
4407 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4408
4409         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4410         (latin_a_char_to_byte1): Deleted.
4411         (latin_a_char_to_byte2): Deleted.
4412
4413 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4414
4415         * mule-charset.c (make_charset): Add new argument `ucs_min',
4416         `ucs_max' and `code_offset'.
4417         (charset_get_byte1): New implementation [delete specific charset
4418         depended implementations].
4419         (Fmake_charset): Modify for `make_charset'.
4420         (Fmake_reverse_direction_charset): Likewise.
4421         (complex_vars_of_mule_charset): Likewise.
4422
4423         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4424         `code_offset'.
4425         (CHARSET_UCS_MIN): New macro.
4426         (CHARSET_UCS_MAX): New macro.
4427         (CHARSET_CODE_OFFSET): New macro.
4428         (MAKE_CHAR): Delete charset depended definitions [except
4429         katakana-jisx0201].
4430
4431 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4432
4433         * char-ucs.h (breakup_char_1): Use
4434         `Vdefault_coded_charset_priority_list' for C0-Controls,
4435         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4436
4437 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4438
4439         * char-ucs.h (charset_get_byte1): New function.
4440         (XCHARSET_GET_BYTE1): Deleted.
4441         (charset_get_byte2): New function.
4442         (XCHARSET_GET_BYTE2): Deleted.
4443         (Vdefault_coded_charset_priority_list): New external variable.
4444         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4445         `Vdefault_preferred_coded_charset_list'.
4446
4447         * mule-charset.c (charset_get_byte1): New function.
4448         (charset_get_byte2): New function.
4449         (Vdefault_coded_charset_priority_list): New variable.
4450         (vars_of_mule_charset): Add new variable
4451         `default-coded-charset-priority-list'.
4452
4453 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4454
4455         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4456         (XCHARSET_GET_BYTE2): New inline function.
4457         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4458         `XCHARSET_GET_BYTE2'.
4459
4460 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4461
4462         * mule-charset.c (make_charset): Initialize
4463         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4464         NULL if table is not defined.
4465
4466 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4467
4468         * text-coding.c (char_encode_shift_jis): Use
4469         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4470         `ucs_to_latin_jisx0201'.
4471
4472         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4473         (ucs_to_latin_iso8859_2): Deleted.
4474         (ucs_to_latin_iso8859_3): Deleted.
4475         (ucs_to_latin_iso8859_4): Deleted.
4476         (ucs_to_latin_iso8859_9): Deleted.
4477         (ucs_to_latin_viscii_lower): Deleted.
4478         (ucs_to_latin_viscii_upper): Deleted.
4479         (ucs_to_latin_tcvn5712): Deleted.
4480         (make_charset): Add new argument `decoding_table'; set up
4481         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4482         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4483         `decoding_table' is defined in UTF-2000.
4484         (Fmake_charset): Modify for `make_charset'.
4485         (Fmake_reverse_direction_charset): Likewise.
4486         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4487         and `GENERATE_96_SET'.
4488
4489         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4490         (ucs_to_latin_jisx0201): Deleted.
4491         (latin_iso8859_2_to_ucs): Deleted.
4492         (ucs_to_latin_iso8859_2): Deleted.
4493         (latin_iso8859_3_to_ucs): Deleted.
4494         (ucs_to_latin_iso8859_3): Deleted.
4495         (latin_iso8859_4_to_ucs): Deleted.
4496         (ucs_to_latin_iso8859_4): Deleted.
4497         (latin_iso8859_9_to_ucs): Deleted.
4498         (ucs_to_latin_iso8859_9): Deleted.
4499         (latin_viscii_lower_to_ucs): Deleted.
4500         (ucs_to_latin_viscii_lower): Deleted.
4501         (latin_viscii_upper_to_ucs): Deleted.
4502         (ucs_to_latin_viscii_upper): Deleted.
4503         (struct Lisp_Charset): Renamed `encoding_table' to
4504         `to_byte1_table'; add `to_byte2_table'.
4505         (CHARSET_DECODING_TABLE): New macro.
4506         (CHARSET_TO_BYTE1_TABLE): New macro.
4507         (CHARSET_TO_BYTE2_TABLE): New macro.
4508         (XCHARSET_DECODING_TABLE): New macro.
4509         (XCHARSET_TO_BYTE1_TABLE): New macro.
4510         (XCHARSET_TO_BYTE2_TABLE): New macro.
4511         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4512         tables.
4513         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4514         don't use `ucs_to_*' tables.
4515
4516 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4517
4518         * text-coding.c (Fmake_coding_system): Don't set up
4519         `codesys->fixed.size'.
4520         (encode_coding_no_conversion): Use `if' instead of `switch'.
4521
4522         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4523
4524 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4525
4526         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4527         (Fmake_charset): Modify for `make_charset'.
4528         (Fmake_reverse_direction_charset): Likewise.
4529         (complex_vars_of_mule_charset): Likewise.
4530
4531 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4532
4533         * text-coding.c (char_encode_shift_jis): Use table
4534         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4535
4536 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4537
4538         * text-coding.c (text_encode_generic): Use `if' instead of
4539         `switch'.
4540         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4541         decode JIS-Latin.
4542
4543 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4544
4545         * text-coding.c (encode_coding_sjis): Deleted.
4546         (char_encode_shift_jis): New function.
4547         (char_finish_shift_jis): New function.
4548         (reset_encoding_stream): Set up `encode_char' and `finish' for
4549         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4550         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4551         (char_encode_utf8): Treat `eol_type'.
4552
4553 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4554
4555         * file-coding.c (decode_coding_iso2022): Use
4556         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4557
4558 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4559
4560         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4561         to 0.7 (Hirano).
4562
4563 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4564
4565         * char-lb.h (CHAR_COLUMNS): New macro.
4566
4567 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4568
4569         * text-coding.c (char_encode_ucs4): New function.
4570         (char_finish_ucs4): New function.
4571         (encode_coding_ucs4): Deleted.
4572         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4573         (text_encode_generic): Delete local variable `charset' and `half'.
4574         (ucs_to_mule_table): Deleted.
4575         (mule_to_ucs_table): Deleted.
4576         (Fset_ucs_char): Deleted.
4577         (ucs_to_char): Deleted.
4578         (Fucs_char): Deleted.
4579         (Fset_char_ucs): Deleted.
4580         (Fchar_ucs): Deleted.
4581         (decode_ucs4): Deleted.
4582         (mule_char_to_ucs4): Deleted.
4583         (encode_ucs4): Deleted.
4584         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4585         (decode_coding_utf8): Likewise.
4586         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4587         (char_encode_iso2022): Fixed.
4588         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4589         `Fset_char_ucs' and `Fchar_ucs'.
4590         (complex_vars_of_file_coding): Don't initialize
4591         `ucs_to_mule_table'.
4592
4593         * objects-tty.c (tty_initialize_font_instance): Don't use
4594         `XCHARSET_COLUMNS'.
4595
4596         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4597         UTF-2000.
4598
4599         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4600         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4601
4602         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4603         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4604         (emchar_string_displayed_columns): Likewise.
4605
4606         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4607         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4608         (string_column_at_point): Likewise.
4609         (Fmove_to_column): Likewise.
4610
4611         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4612         `encoding_table' and `decoding_table'.
4613         (CHARSET_REP_BYTES): Deleted.
4614         (XCHARSET_REP_BYTES): Deleted.
4615         (XCHARSET_COLUMNS): Deleted.
4616         (CHAR_COLUMNS): New macro.
4617         (lookup_composite_char): Deleted unconditionally.
4618         (composite_char_string): Likewise.
4619
4620 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4621
4622         * char-ucs.h (Emchar_to_byte_table): New type.
4623         (get_byte_from_character_table): New function interface.
4624         (Vcharset_latin_jisx0201): New variable.
4625         (latin_jisx0201_to_ucs): New variable.
4626         (ucs_to_latin_jisx0201): New variable.
4627         (Vcharset_latin_iso8859_2): New variable.
4628         (latin_iso8859_2_to_ucs): New variable.
4629         (ucs_to_latin_iso8859_2): New variable.
4630         (Vcharset_latin_iso8859_3): New variable.
4631         (latin_iso8859_3_to_ucs): New variable.
4632         (ucs_to_latin_iso8859_3): New variable.
4633         (Vcharset_latin_iso8859_4): New variable.
4634         (latin_iso8859_4_to_ucs): New variable.
4635         (ucs_to_latin_iso8859_4): New variable.
4636         (Vcharset_latin_iso8859_9): New variable.
4637         (latin_iso8859_9_to_ucs): New variable.
4638         (ucs_to_latin_iso8859_9): New variable.
4639         (Vcharset_latin_viscii_lower): New variable.
4640         (latin_viscii_lower_to_ucs): New variable.
4641         (ucs_to_latin_viscii_lower): New variable.
4642         (Vcharset_latin_viscii_upper): New variable.
4643         (latin_viscii_upper_to_ucs): New variable.
4644         (ucs_to_latin_viscii_upper): New variable.
4645         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4646         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4647         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4648         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4649         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4650         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4651         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4652         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4653         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4654         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4655
4656         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4657         (Vcharset_latin_viscii_upper): New variable.
4658         (make_byte_from_character_table): New function.
4659         (put_byte_from_character_table): New function.
4660         (get_byte_from_character_table): New function.
4661         (CHAR96): New macro.
4662         (ucs_to_latin_jisx0201): New variable.
4663         (latin_jisx0201_to_ucs): New variable.
4664         (ucs_to_latin_iso8859_2): New variable.
4665         (latin_iso8859_2_to_ucs): New variable.
4666         (ucs_to_latin_iso8859_3): New variable.
4667         (latin_iso8859_3_to_ucs): New variable.
4668         (ucs_to_latin_iso8859_4): New variable.
4669         (latin_iso8859_4_to_ucs): New variable.
4670         (ucs_to_latin_iso8859_9): New variable.
4671         (latin_iso8859_9_to_ucs): New variable.
4672         (ucs_to_latin_viscii_lower): New variable.
4673         (latin_viscii_lower_to_ucs): New variable.
4674         (ucs_to_latin_viscii_upper): New variable.
4675         (latin_viscii_upper_to_ucs): New variable.
4676         (ucs_to_latin_tcvn5712): New variable.
4677         (latin_tcvn5712_to_ucs): New variable.
4678         (Qlatin_viscii_lower): New variable.
4679         (Qlatin_viscii_upper): New variable.
4680         (syms_of_mule_charset): Set up new symbol
4681         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4682         (complex_vars_of_mule_charset): Set up new charset
4683         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4684         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4685         `ucs_to_<CHARSET>' tables.
4686
4687 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4688
4689         * text-coding.c: New file.
4690
4691 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4692
4693         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4694
4695         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4696         (MAKE_CHAR): Modify for `ucs-bmp'.
4697         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4698         non-MULE characters of BMP.
4699
4700 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4701
4702         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4703         to 0.6.
4704
4705 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4706
4707         * lstream.h:
4708         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4709         - Include character.h for `CHAR_ASCII_P'.
4710
4711         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4712
4713         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4714         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4715
4716         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4717         (BYTE_C0_P): Likewise.
4718         (BYTE_C1_P): Likewise.
4719         (Lstream_get_emchar_1): Likewise.
4720         (Lstream_fput_emchar): Likewise.
4721         (Lstream_funget_emchar): Likewise.
4722         (copy_internal_to_external): Likewise.
4723         (copy_external_to_internal): Likewise.
4724
4725         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4726         (BYTE_C0_P): Likewise.
4727         (BYTE_C1_P): Likewise.
4728         (Lstream_get_emchar_1): Likewise.
4729         (Lstream_fput_emchar): Likewise.
4730         (Lstream_funget_emchar): Likewise.
4731         (copy_internal_to_external): Likewise.
4732         (copy_external_to_internal): Likewise.
4733
4734         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4735         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4736
4737         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4738         (BYTE_ASCII_P): Moved to mb-1byte.h.
4739
4740 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4741
4742         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4743
4744         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4745         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4746         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4747         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4748         (VALIDATE_CHARPTR_FORWARD): Likewise.
4749         (simple_charptr_emchar): Moved to mb-multibyte.h.
4750         (simple_set_charptr_emchar): Likewise.
4751         (simple_charptr_copy_char): Likewise.
4752         (non_ascii_charptr_emchar): Likewise.
4753         (non_ascii_set_charptr_emchar): Likewise.
4754         (non_ascii_charptr_copy_char): Likewise.
4755         (charptr_emchar): Moved to mb-*byte.h.
4756         (set_charptr_emchar): Likewise.
4757         (charptr_copy_char): Likewise.
4758
4759         * mb-1byte.h, mb-multibyte.h: New files.
4760
4761 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4762
4763         * mb-utf-8.h (MULTIBYTE): New macro.
4764         (MAX_EMCHAR_LEN): Moved from buffer.h.
4765         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4766
4767         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4768
4769         * mb-lb.h, multibyte.h: New files.
4770
4771         * char-1byte.h (Charset_ID): Moved from buffer.h.
4772         (MIN_LEADING_BYTE): Likewise.
4773         (LEADING_BYTE_ASCII): Likewise.
4774         (NUM_LEADING_BYTES): Likewise.
4775         (CHARSETP): Likewise.
4776         (CHARSET_BY_LEADING_BYTE): Likewise.
4777         (XCHARSET_LEADING_BYTE): Likewise.
4778         (XCHARSET_GRAPHIC): Likewise.
4779         (XCHARSET_COLUMNS): Likewise.
4780         (XCHARSET_DIMENSION): Likewise.
4781         (CHAR_CHARSET): Likewise.
4782         (CHAR_LEADING_BYTE): Likewise.
4783         (BREAKUP_CHAR): Likewise.
4784         (Vcharset_ascii): Likewise.
4785
4786         * buffer.h: Include multibyte.h unconditionally.
4787         (VALID_CHARPTR_P): Moved to multibyte.h.
4788         (ASSERT_VALID_CHARPTR): Likewise.
4789         (REAL_INC_CHARPTR): Likewise.
4790         (REAL_INC_CHARBYTIND): Likewise.
4791         (REAL_DEC_CHARPTR): Likewise.
4792         (INC_CHARPTR): Likewise.
4793         (INC_CHARBYTIND): Likewise.
4794         (DEC_CHARPTR): Likewise.
4795         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4796         (VALIDATE_CHARPTR_FORWARD): Likewise.
4797         (charptr_n_addr): Likewise.
4798         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4799         (simple_charptr_emchar): Moved to multibyte.h.
4800         (simple_set_charptr_emchar): Likewise.
4801         (simple_charptr_copy_char): Likewise.
4802         (non_ascii_charptr_emchar): Likewise.
4803         (non_ascii_set_charptr_emchar): Likewise.
4804         (non_ascii_charptr_copy_char): Likewise.
4805         (charptr_emchar): Likewise.
4806         (set_charptr_emchar): Likewise.
4807         (charptr_copy_char): Likewise.
4808         (charptr_emchar_n): Likewise.
4809         (Charset_ID): Moved to char-1byte.h.
4810         (Vcharset_ascii): Likewise.
4811         (CHAR_CHARSET): Likewise.
4812         (CHAR_LEADING_BYTE): Likewise.
4813         (LEADING_BYTE_ASCII): Likewise.
4814         (NUM_LEADING_BYTES): Likewise.
4815         (MIN_LEADING_BYTE): Likewise.
4816         (CHARSETP): Likewise.
4817         (CHARSET_BY_LEADING_BYTE): Likewise.
4818         (XCHARSET_LEADING_BYTE): Likewise.
4819         (XCHARSET_GRAPHIC): Likewise.
4820         (XCHARSET_COLUMNS): Likewise.
4821         (XCHARSET_DIMENSION): Likewise.
4822         (BREAKUP_CHAR): Likewise.
4823
4824 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4825
4826         * character.h: Add document about interface for characters.
4827
4828         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4829         (MAKE_CHAR): Delete comment about
4830         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4831         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4832         (BREAKUP_CHAR): Modify name of arguments.
4833         (CHAR_CHARSET): Modify name of argument.
4834
4835         * buffer.h: Delete document about Emchar accessors.
4836
4837 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4838
4839         * character.h (CHAR_INTP): Moved from buffer.h
4840         (CHAR_OR_CHAR_INTP): Likewise.
4841         (XCHAR_OR_CHAR_INT): Likewise.
4842         (CHECK_CHAR_COERCE_INT): Likewise.
4843
4844         * buffer.h (CHAR_INTP): Moved to character.h
4845         (CHAR_OR_CHAR_INTP): Likewise.
4846         (XCHAR_OR_CHAR_INT): Likewise.
4847         (CHECK_CHAR_COERCE_INT): Likewise.
4848
4849 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4850
4851         * character.h:
4852         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4853         - Include char-1byte.h, char-lb.h or char-ucs.h.
4854
4855         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4856
4857         * buffer.h: Include character unconditionally.
4858         (valid_char_p): Moved to char-*.h.
4859         (non_ascii_valid_char_p): Moved to char-lb.h.
4860
4861         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4862
4863 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4864
4865         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4866         in UTF-2000 because it is not ported yet and not to use
4867         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4868         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4869         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4870
4871         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4872         (CHAR_ASCII_P): Moved from character.h.
4873
4874         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4875         (CHAR_ASCII_P): Likewise.
4876         (CHAR_FIELD1_MASK): Deleted.
4877         (CHAR_FIELD2_MASK): Deleted.
4878         (CHAR_FIELD3_MASK): Deleted.
4879         (MAX_CHAR_BASIC_LATIN): New macro.
4880         (CHAR_FIELD1): Deleted.
4881         (CHAR_FIELD2_INTERNAL): Deleted.
4882         (CHAR_FIELD3_INTERNAL): Deleted.
4883         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4884         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4885         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4886         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4887         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4888         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4889         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4890         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4891         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4892         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4893         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4894         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4895         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4896         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4897         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4898         (MIN_CHAR_COMPOSITION): Deleted.
4899         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4900         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4901
4902 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4903
4904         * buffer.h: Include mb-utf-8.h in UTF-2000.
4905
4906         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4907
4908         * mb-utf-8.h: New file.
4909
4910 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4911
4912         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4913         instead of `int'.
4914
4915         * mule-charset.h, buffer.h (Charset_ID): New type.
4916
4917 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4918
4919         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4920         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4921         instead of `MULE_CHAR_PRIVATE_OFFSET',
4922         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4923         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4924         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4925
4926         * character.h (Vcharset_japanese_jisx0212): New variable
4927         definition.
4928
4929 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4930
4931         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4932         (charset_by_attributes): Delete array about direction.
4933         (latin_a_char_to_charset): New variable in UTF-2000.
4934         (latin_a_char_to_byte1): New variable in UTF-2000.
4935         (latin_a_char_to_byte2): New variable in UTF-2000.
4936         (Qucs_bmp): New variable.
4937         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4938         `Bufbyte'.
4939         (next_allocated_2_byte_leading_byte): Likewise.
4940         (non_ascii_set_charptr_emchar): Likewise.
4941         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4942         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4943         `charset_by_attributes'.
4944         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4945         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4946         and `CHARSET_BY_LEADING_BYTE'.
4947         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4948         `utf-2000-version' to `vars_of_mule_charset'.
4949         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4950         define `leading-code-private-11' in UTF-2000; move setting of
4951         `utf-2000-version' from `syms_of_mule_charset'.
4952         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4953         UTF-2000.
4954
4955         * character.h (Charset_ID): New type.
4956         (LEADING_BYTE_UCS_BMP): New macro.
4957         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4958         (CHARSET_ID_OFFSET_94): New macro.
4959         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4960         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4961         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4962         final-byte.
4963         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4964         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4965         (CHARSET_ID_OFFSET_96): New macro.
4966         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4967         CHARSET_ID_OFFSET_96 and final-byte.
4968         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4969         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4970         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4971         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4972         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4973         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4974         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4975         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4976         (LEADING_BYTE_THAI_TIS620): Likewise.
4977         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4978         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4979         (CHARSET_ID_OFFSET_94x94): New macro.
4980         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4981         CHARSET_ID_OFFSET_94x94 and final-byte.
4982         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4983         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4984         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4985         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4986         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4987         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4988         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4989         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4990         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4991         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4992         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4993         (CHARSET_TYPE_128X128): New macro.
4994         (CHARSET_TYPE_256X256): New macro.
4995         (XCHARSET_PRIVATE_P): Delete unconditionally.
4996         (charset_by_attributes): Delete array about direction.
4997         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4998         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4999         (MIN_CHAR_94): New macro.
5000         (MAX_CHAR_94): New macro.
5001         (MIN_CHAR_96): New macro.
5002         (MAX_CHAR_96): New macro.
5003         (MIN_CHAR_94x94): New macro.
5004         (MAX_CHAR_94x94): New macro.
5005         (MIN_CHAR_96x96): New macro.
5006         (MAX_CHAR_96x96): New macro.
5007         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5008         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5009         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5010         - 32)'.
5011         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5012         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5013         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5014         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5015         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5016         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5017         `XCHARSET_LEADING_BYTE' to make code-point.
5018         (latin_a_char_to_charset): New variable.
5019         (latin_a_char_to_byte1): New variable.
5020         (latin_a_char_to_byte2): New variable.
5021         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5022         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5023         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5024
5025         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5026         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5027         (find_charsets_in_emchar_string): Likewise.
5028         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5029
5030         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5031         `int'.
5032         (decode_coding_iso2022): Likewise.
5033
5034         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5035         of `unsigned char'.
5036
5037         * redisplay.c (redisplay_text_width_emchar_string): Use
5038         `Charset_ID' instead of `unsigned char'.
5039         (redisplay_frame_text_width_string): Likewise.
5040
5041         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5042         `unsigned char'.
5043
5044         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5045         instead of `unsigned char'.
5046         (face_cachel_charset_font_metric_info): Likewise.
5047
5048         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5049         (get_non_ascii_char_table_value): Likewise.
5050         (get_char_table): Likewise.
5051         (put_char_table): Likewise.
5052         (map_over_other_charset): Likewise.
5053         (map_char_table): Likewise.
5054
5055         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5056         instead of `unsigned char'.
5057
5058 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5059
5060         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5061         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5062
5063         * mule-charset.c (leading_code_private_11): Don't define in
5064         UTF-2000.
5065
5066         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5067         in UTF-2000 because it is not ported yet and not to use
5068         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5069
5070 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5071
5072         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5073
5074 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5075
5076         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5077         in UTF-2000.
5078
5079         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5080         of unsigned char to store leading-byte.
5081
5082         * chartab.c (get_non_ascii_char_table_value): Don't use
5083         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5084
5085         * file-coding.c (encode_coding_big5): Delete bogus implementation
5086         in UTF2000.
5087
5088         * character.h (LEADING_BYTE_*): Delete definition for
5089         non-UTF-2000.
5090         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5091         (LEADING_BYTE_PREFIX_P): Deleted.
5092         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5093         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5094         (BUFBYTE_LEADING_BYTE_P): Deleted.
5095         (CHARSET_PRIVATE_P): Deleted unconditionally.
5096         (rep_bytes_by_first_byte): Deleted unconditionally.
5097         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5098         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5099         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5100         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5101         (CHAR_FIELD2): Deleted.
5102         (CHAR_FIELD3): Deleted.
5103         (MAKE_CHAR): Delete definition for non-UTF-2000.
5104         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5105         (breakup_char_1): New implementation.
5106         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5107         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5108
5109 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5110
5111         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5112         condition.
5113
5114 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5115
5116         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5117         (CHARSET_PRIVATE_P): Likewise.
5118         (XCHARSET_PRIVATE_P): Likewise.
5119         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5120
5121         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5122         UTF2000.
5123         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5124
5125 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5126
5127         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5128         (NUM_LEADING_BYTES): Changed from 128 to 256.
5129         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5130         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5131         UTF2000.
5132         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5133
5134         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5135         UTF2000.
5136         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5137         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5138         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5139         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5140         (Qchinese_cns11643_3): New variable in UTF2000.
5141         (Qchinese_cns11643_4): New variable in UTF2000.
5142         (Qchinese_cns11643_5): New variable in UTF2000.
5143         (Qchinese_cns11643_6): New variable in UTF2000.
5144         (Qchinese_cns11643_7): New variable in UTF2000.
5145         (syms_of_mule_charset): Define `chinese-cns11643-3',
5146         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5147         and `chinese-cns11643-7' in UTF2000.
5148         (vars_of_mule_charset): Initialize
5149         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5150         + 1 in UTF2000.
5151         (complex_vars_of_mule_charset): Setup charset
5152         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5153         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5154
5155 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5156
5157         * mule-charset.c: Move setting for `leading-code-private-11' from
5158         `syms_of_mule_charset' to `vars_of_mule_charset'.
5159
5160 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5161
5162         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5163         and `NUM_LEADING_BYTES' in assert.
5164
5165 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5166
5167         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5168         instead of 128.
5169         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5170         `NUM_LEADING_BYTES' instead of 128.
5171
5172 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5173
5174         * mule-charset.h (charset_by_leading_byte): Use
5175         `NUM_LEADING_BYTES' instead of 128.
5176         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5177
5178         * mule-charset.c (charset_by_leading_byte): Use
5179         `NUM_LEADING_BYTES' instead of 128.
5180         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5181
5182         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5183         128.
5184
5185 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5186
5187         * mule-charset.c (syms_of_mule_charset): Update to
5188         0.4 (Shin-Imamiya).
5189
5190 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5191
5192         * file-coding.c (encode_coding_sjis): New implementation for
5193         UTF2000.  (decode_coding_sjis): Ditto.
5194
5195 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5196
5197         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5198         Don't define in UTF2000.
5199
5200         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5201         defined.
5202
5203         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5204         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5205         MULE.
5206
5207 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5208
5209         * config.h.in (CHAR_IS_UCS4): New macro.
5210
5211         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5212         conventional MULE representation.
5213         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5214
5215         * mule-charset.h: Reverted to original.
5216
5217         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5218         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5219         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5220
5221         * character.h: New file.
5222
5223         * file-coding.c (Fmake_coding_system): Set 1 to
5224         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5225         defined.
5226         (encode_coding_no_conversion): New implementation for UTF2000.
5227
5228         * file-coding.h (struct Lisp_Coding_System): Add new member
5229         `fixed.size'.
5230
5231 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5232
5233         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5234         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5235         (encode_coding_iso2022): New implementation for UTF2000.
5236
5237 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5238
5239         * mule-canna.c (c2mu): New implementation for UTF2000.
5240         (m2c): Likewise.
5241
5242 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5243
5244         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5245
5246 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5247
5248         * file-coding.c (reset_encoding_stream): Set 0 to
5249         `str->iso2022.current_char_boundary' in UTF2000.
5250         (encode_utf8): Don't define in UTF2000.
5251         (encode_coding_utf8): New implementation for UTF-8 representation
5252         of UTF2000.
5253         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5254
5255 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5256
5257         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5258
5259         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5260         UTF2000.
5261         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5262
5263         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5264
5265         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5266         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5267         as UTF-8 in UTF2000.
5268         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5269         (non_ascii_valid_char_p): Don't define in UTF2000.
5270         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5271         (Lstream_get_emchar_1): Likewise.
5272         (utf-2000-version): New variable in UTF2000.
5273
5274         * lread.c (read_escape): Add new reader `u'.
5275
5276         * insdel.c (three_to_one_table): Don't define in UTF2000.
5277         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5278         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5279         UTF2000.
5280         (bytind_to_bufpos_func): Likewise.
5281         (buffer_mule_signal_inserted_region): Likewise.
5282         (vars_of_insdel): Don't initialize `three_to_one_table'.
5283         (init_buffer_text): Use `buf->text->mule_size' instead of
5284         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5285         UTF2000.
5286
5287         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5288         UTF-8 representation in UTF2000.
5289         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5290         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5291         (decode_coding_iso2022): Don't define local variable `lb' in
5292         UTF2000; don't use LEADING_BYTE in UTF2000; use
5293         `DECODE_ADD_UCS_CHAR' in UTF2000.
5294         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5295
5296         * config.h.in (UTF2000): New macro.
5297
5298         * buffer.h (struct buffer_text): Add new member `mule_size' and
5299         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5300         (valid_char_p): Return always 1 in UTF2000.
5301         (MAX_EMCHAR_LEN): 6 in UTF2000.
5302         (three_to_one_table): Don't define in UTF2000.
5303         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5304         UTF2000.
5305         (real_bytind_to_bufpos): Likewise.
5306
5307         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5308
5309 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5310
5311         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5312         representation change.
5313         (Vutf_2000_version): New variable.
5314         (leading_code_private_11): New variable.
5315         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5316         `leading-code-private-11'.
5317
5318         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5319         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5320         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5321         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5322         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5323         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5324         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5325         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5326         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5327         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5328         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5329         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5330         (MIN_CHAR_GREEK): New macro.
5331         (MAX_CHAR_GREEK): New macro.
5332         (MIN_CHAR_CYRILLIC): New macro.
5333         (MAX_CHAR_CYRILLIC): New macro.
5334         (MIN_CHAR_HEBREW): New macro.
5335         (MAX_CHAR_HEBREW): New macro.
5336         (MIN_CHAR_THAI): New macro.
5337         (MAX_CHAR_THAI): New macro.
5338         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5339         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5340         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5341         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5342         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5343         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5344         (CHAR_FIELD2): New inline function.
5345         (CHAR_FIELD3): New inline function.
5346         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5347         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5348         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5349         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5350         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5351         (MIN_CHAR_COMPOSITION): Likewise.
5352         (CHAR_LEADING_BYTE): Modified for character representation change.
5353         (MAKE_CHAR): Likewise.
5354
5355         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5356         (Vcharset_greek_iso8859_7): Likewise.
5357         (Vcharset_cyrillic_iso8859_5): Likewise.
5358         (Vcharset_hebrew_iso8859_8): Likewise.
5359         (Vcharset_thai_tis620): Likewise.
5360         (Vcharset_katakana_jisx0201): Likewise.
5361
5362 2003-09-03  Vin Shelton <acs@xemacs.org>
5363
5364         * XEmacs 21.4.14 is released
5365
5366 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5367
5368         * config.h.in (REGEX_MALLOC): Make it configure'able.
5369
5370 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5371
5372         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5373         linking.
5374         * sysdll.c (dll_init):
5375         * sysdll.c (dll_open):
5376         * sysdll.c (dll_close):
5377         * sysdll.c (dll_function):
5378         * sysdll.c (dll_variable):
5379         * sysdll.c (dll_error):
5380         Add support for loading bundles using Darwin/MacOSX
5381         native API.
5382
5383 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5384
5385         * process.c (start-process-internal): Document coding systems.
5386
5387 2003-07-30  Jerry James  <james@xemacs.org>
5388
5389         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5390
5391 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5392
5393         * event-msw.c (mswindows_enqueue_mouse_button_event):
5394         * event-msw.c (mswindows_wnd_proc):
5395           enqueue button event when scrollwheel event isn't handled by 
5396           mswindows_handle_mousewheel_event, such as when the scrollbars
5397           are not showing.
5398
5399 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5400
5401         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5402
5403 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5404
5405         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5406
5407 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5408
5409         * regex.c (re_match_2_internal): Fix matching degenerate word
5410         boundaries.
5411
5412 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5413
5414         * XEmacs 21.4.13 is released
5415
5416 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5417
5418         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5419         * lisp.h (<inttypes.h>):
5420         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5421         the definition.
5422
5423 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5424
5425         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5426         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5427         Result: "temacs can only be run in -batch mode."
5428         Fix: Check xemacs executable candidate for directory-ness.
5429
5430 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5431
5432         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5433           they conflict with <sys/types.h>.
5434
5435 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5436
5437         * database.c: Berkeley DB wants __STDC__ to be defined.
5438
5439 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5440
5441         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5442
5443 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5444
5445         * process-unix.c (unix_send_process): Fix C++ compile error.
5446
5447 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5448
5449         * Added .dylib as an acceptable shared library file extension
5450         * to support MacOSX.
5451
5452 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5453
5454         * EmacsFrameP.h (EmacsFramePart):
5455         Kludge to allow compiling with Motif1, but linking with Motif2.
5456
5457 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5458
5459         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5460
5461
5462 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5463
5464         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5465
5466 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5467
5468         * sysdll.c: Included lisp.h to define needed alloca_array.
5469
5470 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5471
5472         Make XEmacs redisplay 10 times faster.
5473         If, that is, you're using a slow X connection and MoveOpaque.
5474         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5475         Use compress_motion = TRUE.
5476         * EmacsFrame.c (emacsFrameClassRec): 
5477         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5478         * EmacsManager.c (emacsManagerClassRec):
5479         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5480
5481 2003-01-30  Vin Shelton  <acs@xemacs.org>
5482
5483         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5484
5485 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5486
5487         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5488         Patch by Martin Buchholz.
5489
5490 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5491
5492         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5493         Thanks to icc for warning and Martin Buchholz for reporting.
5494
5495 2003-01-29  Vin Shelton <acs@xemacs.org>
5496
5497         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5498
5499         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5500         remember to multiply by the element size.
5501
5502 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5503
5504         * XEmacs 21.4.12 "Portable Code" is released.
5505
5506 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5507
5508         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5509         * s/cygwin.sc: new linker file.
5510
5511 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5512
5513         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5514
5515         * redisplay-x.c (x_output_string): Use X11-specified types.
5516         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5517         * emacs.c (__free_hook): Use typeof with Intel compiler.
5518         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5519
5520 2003-01-08  Andy Piper  <andy@xemacs.org>
5521
5522         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5523         reserve size during unexec().
5524
5525 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5526
5527         * process-unix.c (unix_create_process): Don't let outchannel block.
5528
5529 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5530
5531         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5532         Needed for IsBadReadPtr().
5533
5534 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5535
5536         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5537
5538 2002-12-14  Ben Wing  <ben@xemacs.org>
5539
5540         * callint.c: Declaration error.
5541         * dumper.c (pdump):
5542         * dumper.c (pdump_load): Warning fix.
5543         * process.c: GCPRO error.
5544         * glyphs.c (unmap_subwindow):
5545         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5546         * event-stream.c (maybe_kbd_translate): Wrong argument to
5547         character_to_event().
5548
5549         * alloc.c (garbage_collect_1):
5550         * emacs.c:
5551         * emacs.c (debug_can_access_memory):
5552         * emacs.c (fatal_error_signal):
5553         * emacs.c (mswindows_handle_hardware_exceptions):
5554         * emacs.c (main_1):
5555         * emacs.c (main):
5556         * emacs.c (assert_failed):
5557         * emacs.c (syms_of_emacs):
5558         * lisp.h:
5559         * print.c:
5560         * print.c (std_handle_out_va):
5561         * print.c (write_string_to_stdio_stream):
5562         * print.c (write_fmt_string):
5563         * print.c (printing_badness):
5564         * print.c (printing_major_badness):
5565         * print.c (print_internal):
5566         * print.c (debug_print_no_newline):
5567         * print.c (debug_backtrace):
5568         Be more defensive in handling bad values when printing.  Add code
5569         from trunk involving inhibit_non_essential_printing_operations.
5570         When going down or in debug_print(), don't do external conversion
5571         and such and try really, really hard when printing to avoid core
5572         dumping.  Add force-debugging-signal, debug_break().
5573
5574 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5575
5576         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5577         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5578
5579 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5580
5581         * database.c: Fix open_database. Berkeley DB API has changed in
5582         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5583
5584 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5585
5586         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5587
5588 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5589
5590         * event-Xt.c (Xt_timeout):
5591         (Xt_timeout_callback):
5592         (emacs_Xt_add_timeout):
5593         (emacs_Xt_remove_timeout):
5594         (Xt_timeout_to_emacs_event):
5595         Turn completed_timeouts from a stack into a queue.  Fixes
5596         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5597
5598 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5599
5600         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5601         * emacs.c (main): Assert that mmap'd allocation is disabled.
5602
5603 2002-10-14  Andy Piper  <andy@xemacs.org>
5604
5605         * glyphs-widget.c (layout_query_geometry): add in fiddle
5606         factor. Include border text in width layout calculation.
5607         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5608
5609 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5610
5611         * XEmacs 21.4.10 "Military Intelligence" is released.
5612
5613 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5614
5615         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5616         using the NAS private array SoundFileInfo that no longer exists in
5617         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5618         and earlier.  This is broken for some versions between 1.5a and
5619         1.5f.
5620
5621 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5622
5623         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5624
5625         * emacs.c (shut_down_emacs): Improve crash message.
5626
5627 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5628
5629         * file-coding.c (determine_real_coding_system): Check for coding
5630         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5631         shebangs and Python PEP 263.
5632
5633 2002-10-08  Andy Piper  <andy@xemacs.org>
5634
5635         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5636         if static sizes haven't been set.
5637
5638 2002-08-30  Mike Alexander  <mta@arbortext.com>
5639
5640         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5641         to close a socket.
5642
5643 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5644
5645         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5646
5647 2002-09-20  Mike Sperber <mike@xemacs.org>
5648
5649         (This partially gets back my patch from 2002-07-20 without the
5650         bug.)
5651         * callproc.c (child_setup): Remove Ben's comment noting confusion
5652         over the file descriptors >= 3: close_process_descs() doesn't
5653         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5654         * process-unix.c (unix_create_process): Call
5655         begin_dont_check_for_quit to inhibit unwanted interaction (and
5656         thus breaking of X event synchronicity) in the child.
5657
5658 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5659
5660         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5661         widget.
5662
5663 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5664
5665         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5666         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5667         the xemacs process did not exit, but looped infinitely here.  This
5668         fixes that problem.
5669
5670 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5671
5672         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5673         (find_context): Improve comments.
5674
5675         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5676         (re_match_2): An XCHAR_TABLE operation was missing.
5677
5678         Many of the following changes were inspired by Andy Piper's (now
5679         obsolete) patch to make syntax-table text property lookup optional.
5680
5681         [Documentation]
5682
5683         * syntax.h (top level): Document semantics of syntax flags.
5684         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5685         * syntax.c, syntax.h (top level): Document syntax cache better in
5686         comments.
5687
5688         [Instrument syntax caching (temporary change)]
5689
5690         * syntax.h (enum syntax_cache_statistics_functions, struct
5691         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5692         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5693         * syntax.c (scan_words, Fforward_comment, scan_lists,
5694         Fbackward_prefix_characters):
5695         * font-lock.c (find_context):
5696         Use them to instrument syntax caching. 
5697         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5698         syntax_cache_statistics_function_names): New type and variables.
5699         * syntax.c (update_syntax_cache): Update and report statistics.
5700
5701         [Major syntax cache optimizations]
5702
5703         syntax.c (lookup_syntax_properties): Default off.
5704
5705         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5706         * syntax.c (update_syntax_cache):
5707         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5708
5709         [Minor syntax cache optimizations and code clarifications]
5710
5711         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5712         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5713         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5714         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5715         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5716         (Code clarification.)
5717
5718         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5719         scan_lists): Compute code from syncode, use Boolean macros instead
5720         of redundant masking operations.  (Code clarification; any decent
5721         compiler can do this optimization.)
5722
5723         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5724         for clarity.
5725
5726         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5727         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5728         use F*_single_property_change instead of F*_extent_change.
5729         Currently F*_single_property_change is _much_ less efficient.
5730
5731         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5732         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5733         syntax_cache.object properly, don't leave Qt or Qnil.
5734         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5735         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5736         tests for Qt or Qnil.
5737
5738 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5739
5740         * redisplay.c (point_in_line_start_cache): 
5741         * extents.c (print_extent_1):
5742         Fix warnings.
5743
5744         * extents.c (Fset_extent_property): Document `syntax-table' property.
5745
5746         * extents.h (Fnext_single_property_change): EXFUN it.
5747
5748 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5749
5750         * search.c (clear_unused_search_regs): New static function.
5751         (search_buffer): 
5752         (simple_search): 
5753         (boyer_moore):
5754         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5755         Minor clarifications in comments.
5756
5757         * regex.c (re_match_2_internal): Ensure no stale submatches.
5758
5759 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5760
5761         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5762
5763 2002-08-29  Jerry James  <james@xemacs.org>
5764
5765         * lisp.h: structrures -> structures.
5766
5767 2002-06-03  Andy Piper  <andy@xemacs.org>
5768
5769         * frame.c (frame_conversion_internal): add conversion appropriate
5770         for setting frame dimensions in pixels.
5771
5772         * console.h (struct console_methods): add device-specific widget
5773         layout functions.
5774
5775         * emacs.c (main_1): initialize glyph vars.
5776
5777         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5778         (handle_focus_event_2): new function. Allow focus to
5779         be set to a particular window and widget.
5780         (enqueue_focus_event): new function. Create a
5781         synthetic focus event.
5782         (emacs_Xt_handle_magic_event): call
5783         handle_focus_event_2.
5784
5785         * frame.c (Fset_frame_pixel_height): new function. Allow
5786         pixel-based sizing. Does the right thing on character-oriented
5787         displays.
5788         (Fset_frame_pixel_width): ditto.
5789         (Fset_frame_pixel_size): ditto.
5790         (syms_of_frame): declare.
5791
5792         * general-slots.h: add :vertically-justify and
5793         :horizontally-justify.
5794
5795         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5796         (mswindows_widget_border_width): new function.
5797         (mswindows_combo_box_instantiate): set border widths.
5798         (console_type_create_glyphs_mswindows): declare.
5799
5800         * glyphs-widget.c:
5801         (check_valid_justification): allow vertical and horizontal
5802         justification.
5803         (widget_border_width): new function. Call device methods.
5804         (widget_instance_border_width): ditto.
5805         (logical_unit_height): new function. Determine the height of a
5806         logical-unit. Logical units are intended to provide grid-like
5807         layout for subcontrols in a layout. If the layout is
5808         :vertically-justify top then subcontrols will be positioned on
5809         logical-unit boundaries, thus allowing adjacent subcontrols to
5810         line up.
5811         (widget_logical_unit_height): ditto for widgets.
5812         (redisplay_widget): misc cleanup.
5813         (widget_spacing): new function. Call device specific
5814         methods. Intended to be the default gap between adjacent widgets.
5815         (widget_query_geometry): use new spacing functions to determine
5816         appropriate geometry.
5817         (initialize_widget_image_instance): initialize horizontal and
5818         vertical justification.
5819         (widget_instantiate): use logica-units where appropriate for
5820         sizing large widgets.
5821         (button_query_geometry): use widget_instance_border_width.
5822         (tree_view_query_geometry): ditto.
5823         (tab_control_query_geometry): ditto.
5824         (edit_field_query_geometry): new function.
5825         (layout_update): pick up :justify, :horizontally-justify and
5826         :vertically-justify none of which worked previously. :justify is
5827         used as a fallback for both horizontal and vertical justification.
5828         (layout_query_geometry): use logical units to size appropriately.
5829         (layout_layout): ditto.
5830         (Fwidget_logical_to_character_width): new function. Allow users to
5831         convert from logical units to characters so that frame sizes can
5832         be set appropriately.
5833         (Fwidget_logical_to_character_height): ditto.
5834         (syms_of_glyphs_widget): declare.
5835         (image_instantiator_edit_fields): add edit_field_query_geometry.
5836         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5837         :horizontally-justify.
5838         (specifier_vars_of_glyphs_widget): new function. Declare
5839         Vwidget_border_width which is not yet used.
5840
5841         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5842         (x_widget_border_width): new function.
5843         (x_widget_instantiate): create a sensible name for widgets.
5844         (console_type_create_glyphs_x): declare x_widget_border_width.
5845
5846         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5847         (struct Lisp_Image_Instance): add :vertically-justify and
5848         :horizontally-justify.
5849         (LAYOUT_JUSTIFY_TOP): new.
5850         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5851         (ROUND_UP): new macro. Round argument up to next integral
5852         interval.
5853
5854         * redisplay-output.c (redisplay_output_layout): misc formatting.
5855
5856         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5857
5858 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5859
5860         * XEmacs 21.4.9 "Informed Management" is released.
5861
5862 2002-08-19  Andy Piper  <andy@xemacs.org>
5863
5864         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5865         win32 format.
5866
5867         * realpath.c (xrealpath): normalize drive spec also so that dir
5868         sep chars are not mixed on cygwin.
5869
5870 2002-08-06  Jerry James  <james@xemacs.org>
5871
5872         * window.c (Fsplit_window): Count only half of the divider width
5873         against the left window when splitting horizontally. 
5874
5875 2002-06-24  Andy Piper  <andy@xemacs.org>
5876
5877         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5878         toolbar was cleared.
5879
5880         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5881         function. Split out from mswindows_output_frame_toolbars.
5882         (mswindows_output_frame_toolbars): move clear pieces to
5883         mswindows_output_frame_toolbars.
5884
5885         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5886         out from gtk_output_frame_toolbars.
5887         (gtk_output_frame_toolbars): move clear pieces to
5888         gtk_clear_frame_toolbars.
5889
5890         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5891         the frame is cleared. How this ever worked before is a mystery.
5892         (x_output_frame_toolbars): Only output toolbars.
5893         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5894
5895         * gutter.c (update_gutter_geometry):
5896         Mark frame layout changed.
5897         (update_frame_gutter_geometry, update_frame_gutters):
5898         Respect frame_layout_changed.
5899
5900         * console.h (struct console_methods): add
5901         clear_frame_toolbars_method.
5902
5903         * redisplay.c (redisplay_frame): call
5904         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5905
5906         * toolbar.h: declare update_frame_toolbars_geometry.
5907
5908         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5909         out from update_frame_toolbars.  Call clear_frame_toolbars.
5910         (update_frame_toolbars): only output, do not change geometry.
5911
5912         * redisplay.c: add frame_layout_changed.
5913
5914         * redisplay.h: add frame_layout_changed.
5915         (CLASS_RESET_CHANGED_FLAGS): set it.
5916         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5917         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5918         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5919
5920         * device.h (struct device): add frame_layout_changed.
5921         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5922
5923         * frame.h (struct frame): add frame_layout_changed.
5924         (MARK_FRAME_LAYOUT_CHANGED): new.
5925
5926 2002-06-30  Mike Alexander  <mta@arbortext.com>
5927
5928         * event-msw.c (mswindows_need_event): Don't wait for a new message
5929         if the queue is not empty.  Suggested by Paul Moore.
5930
5931 2002-06-12  Andy Piper  <andy@xemacs.org>
5932
5933         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5934         for printing on accurately.
5935
5936 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5937
5938         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5939         WM_ACTIVATE message. Make sure that the frame is visible if the
5940         window is visible. This seemss to fix the problem where XEmacs
5941         appears to freeze after switching desktops with certain virtual
5942         window managers.
5943         (debug_output_mswin_message): Added code to output message
5944         parameters for WM_WINDOWPOSCHANGED, 
5945         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5946
5947 2002-05-25  Andy Piper  <andy@xemacs.org>
5948
5949         * select-x.c (vars_of_select_x): Fix docstring of
5950         x-selection-strict-motif-ownership
5951
5952 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5953
5954         * keymap.c (get_keymap):
5955         Add comment about do_autoload GCPROs own args.
5956
5957 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5958
5959         * bytecode.c (execute_optimized_program): check_opcode ifdef
5960         ERROR_CHECK_BYTE_CODE.
5961
5962 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5963
5964         Thanks to Ben Wing and Michael Sperber.
5965
5966         * eval.c (Fcommand_execute):
5967         (Feval):
5968         (Ffuncall):
5969         (Fmacroexpand_internal):
5970         (function_argcount):
5971         callint.c (Fcall_interactively):
5972         Add comment about do_autoload GCPROs own args.
5973
5974         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5975
5976         * eval.c (Ffuncall): Extra braces to placate GCC.
5977
5978 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5979
5980         * backtrace.h (grow_specpdl):
5981         (SPECPDL_RESERVE):
5982         * EmacsFrame.c (EmacsFrameSetValues):
5983         * eval.c (grow_specpdl):
5984         * ExternalShell.c (hack_event_masks_1):
5985         * glyphs-x.c (convert_EImage_to_XImage): 
5986         (x_finalize_image_instance):
5987         * ralloc.c (page_size):
5988         (r_alloc_sbrk):
5989         * xgccache.c (gc_cache_hash):
5990         Fix unsigned comparison warnings.
5991
5992 2002-07-29  Jerry James  <james@xemacs.org>
5993
5994         * lread.c (locate_file): Any nonnegative return value indicates
5995         success if MODE is nonnegative.
5996
5997 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5998
5999         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
6000         argument. 
6001
6002 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
6003
6004         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
6005
6006         * dumper.c (pdump_get_indirect_count):
6007         (pdump_scan_by_alignment):
6008         (pdump_dump_root_struct_ptrs):
6009         (pdump_dump_rtables):
6010         (pdump_dump_root_objects):
6011         (pdump):
6012         * nas.c (WaveOpenDataForReading):
6013         * fns.c (print_bit_vector):
6014         * font-lock.c (SINGLE_SYNTAX_STYLE):
6015         * glyphs.c (check_for_ignored_expose):
6016         (find_matching_subwindow):
6017         * glyphs-eimage.c:
6018         * imgproc.c (get_histogram):
6019         * redisplay.c (point_in_line_start_cache):
6020         * redisplay-output.c (redisplay_unmap_subwindows):
6021         * symbols.c (defsymbol_massage_name_1):
6022         (defkeyword_massage_name):
6023         (deferror_massage_name_and_message):
6024         * redisplay-x.c (x_output_string): 
6025         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
6026         * frame.h (struct frame):
6027         * filelock.c (current_lock_owner):
6028         * doprnt.c (emacs_doprnt_1):
6029         * lisp.h (struct Lisp_Bit_Vector):
6030         (DO_REALLOC):
6031         Fix warnings.
6032
6033 2002-02-13  Ben Wing  <ben@xemacs.org>
6034
6035         * event-stream.c (reset_key_echo):
6036         * event-stream.c (reset_this_command_keys):
6037         * event-stream.c (execute_command_event):
6038         If console is dead as a result of C-x 5 0, then post-command stuff
6039         needs to be careful and do only non-console-specific stuff.
6040
6041 2002-07-01  Mike Sperber <mike@xemacs.org>
6042
6043         * process-unix.c (unix_send_process): Mark coding_outstream as
6044         non-open upon SIGPIPE.
6045
6046         * event-stream.c (Fnext_event): Reorder switch cases to something
6047         that makes sense.
6048
6049 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
6050
6051         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
6052         Don't bogusly reinitialize ascii_character property.
6053
6054 2002-07-08  Mike Sperber <mike@xemacs.org>
6055
6056         * process.c (Fstart_process_internal): Do error checking before we
6057         fork off the child, so the child can't muck with the state of the
6058         parent.
6059
6060 2002-07-08  Mike Sperber <mike@xemacs.org>
6061
6062         * ralloc.c (init_ralloc): Allocate properly for pdump.
6063
6064 2002-06-12  Andy Piper  <andy@xemacs.org>
6065
6066         * glyphs.c (query_string_geometry): check the string.
6067
6068         * glyphs-widget.c (widget_logical_unit_height): cope with nil
6069         widget names.
6070
6071 2002-06-17  Jerry James  <james@xemacs.org>
6072
6073         * sysdll.c: Remove RTLD_GLOBAL initialization.
6074         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
6075
6076 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
6077
6078         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
6079
6080 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
6081
6082         * sysdep.c (sys_rename): Make sys_rename work for the case where
6083         Windows rename sets errno to EACCES if target file exists.
6084
6085 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
6086
6087         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6088         Fix detection of metric units to work on Win95
6089
6090 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
6091
6092         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
6093
6094 2002-04-25  Andy Piper  <andy@xemacs.org>
6095
6096         * redisplay.c (create_text_block): Remove extra comment trailer.
6097
6098 2002-04-24  Andy Piper  <andy@xemacs.org>
6099
6100         * redisplay.c (create_text_block): Don't actually add propagation
6101         data if the line ends after we have added a glyph.
6102
6103 2002-04-22  Andy Piper  <andy@xemacs.org>
6104
6105         * extents.c (extent_fragment_update): check for glyphs we have
6106         previously displayed.
6107         * extents.c (print_extent_1): warning removal.
6108         * extents.h: change prototype.
6109         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
6110         widths correctly for wide glyphs.
6111         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6112         * redisplay.c (prop_type): add PROP_GLYPH.
6113         * redisplay.c (struct prop_block): add glyph type
6114         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6115         to the propagation data.
6116         * redisplay.c (create_text_block): if there is a glyph in the
6117         propagation data use it to salt extent_fragment_update.
6118         * redisplay.c (create_string_text_block): ditto.
6119
6120 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6121
6122         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6123         * redisplay-output.c (compare_runes): Compare them.
6124         * redisplay.c: Update copyright date.
6125         * redisplay.c (pos_data): Add need_baseline_computation field.
6126         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6127         need_baseline_computation; zero yoffset. Set max_pixmap_height
6128         for all pixmaps, not just automatically positioned ones.
6129         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6130         * redisplay.c (calculate_baseline): New, compute textual baseline.
6131         * redisplay.c (add_glyph_rune): Call them.
6132         * redisplay.c (create_text_block): Likewise.
6133         * redisplay.c (create_overlay_glyph_block): Likewise.
6134         * redisplay.c (add_margin_runes): Likewise.
6135         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6136
6137         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6138         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6139         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6140         * redisplay-msw.c (mswindows_output_string): Likewise.
6141         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6142         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6143         * redisplay-x.c (x_output_display_block): Likewise.
6144
6145 2002-03-28  Ben Wing  <ben@xemacs.org>
6146
6147         * redisplay.c: Fixed bug in redisplay
6148         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6149         and down of the lines, since they're bigger than the line
6150         size. (It was seen most obviously when there's a horizontal scroll
6151         bar, e.g. do C-h a glyph or something like that.) The problem was
6152         that the glyph-contrib-p setting on glyphs was ignored even if it
6153         was set properly, which it wasn't until now.
6154
6155 2002-04-24  Andy Piper  <andy@xemacs.org>
6156
6157         * lisp.h (Dynarr_end): Fix definition.
6158
6159 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6160
6161         * redisplay.c (mark_redisplay): Remove call to
6162         update_frame_window_mirror.
6163
6164 2001-11-15  Andy Piper  <andy@xemacs.org>
6165
6166         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6167         cygwin (again).
6168
6169 2002-02-13  Andy Piper  <andy@xemacs.org>
6170
6171         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6172         we did in fact enqueue the XM_MAPFRAME event.
6173
6174 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6175
6176         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6177         to fix problem switching between virtual desktops under virtuawin
6178         virtual window manager.
6179
6180 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6181
6182         * event-msw.c: Typo fix.
6183         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6184         magic XM_MAPFRAME event has been sent.
6185
6186 2001-11-23  Andy Piper  <andy@xemacs.org>
6187
6188         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6189
6190 2001-11-21  Andy Piper  <andy@xemacs.org>
6191
6192         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6193         mouse events outside the frame.
6194
6195 2002-03-20  Andy Piper  <andy@xemacs.org>
6196
6197         * menubar-msw.c (mswindows_popup_menu): warning removal.
6198         * dialog-msw.c (dialog_popped_down): ditto.
6199
6200 2001-12-11  Andy Piper  <andy@xemacs.org>
6201
6202         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6203         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6204         popup_up_p.
6205         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6206         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6207         * menubar-msw.c (mswindows_popup_menu): ditto.
6208
6209 2001-10-29  Andy Piper  <andy@xemacs.org>
6210
6211         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6212         cancels.
6213
6214 2002-01-03  Andy Piper  <andy@xemacs.org>
6215
6216         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6217         letters.
6218         (xrealpath): ditto.
6219
6220 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6221
6222         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6223         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6224         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6225         Detect and handle case where machine is set up for metric units
6226
6227 2002-04-02  Andy Piper  <andy@xemacs.org>
6228
6229         * dired-msw.c (mswindows_get_files): 
6230         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6231         completely handled by XEmacs. Suggested by Thomas Vogler
6232         <mail@thomas-vogler.de>.
6233
6234 2001-11-14  Andy Piper  <andy@xemacs.org>
6235
6236         * nt.c (REG_ROOT): change registry key to XEmacs.
6237
6238 2002-04-27  Andy Piper  <andy@xemacs.org>
6239
6240         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6241
6242 2002-04-26  Andy Piper  <andy@xemacs.org>
6243
6244         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6245         behavior.
6246
6247 2002-03-14  Mike Alexander  <mta@arbortext.com>
6248
6249         * event-msw.c (mswindows_unwait_process): New, remove process from
6250         wait list
6251         * process-nt.c (nt_finalize_process_data): Call
6252         mswindows_unwait_process
6253         * console-msw.h: Declare mswindows_unwait_process
6254
6255 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6256
6257         * editfns.c (Fdecode_time):
6258         (Fformat_time_string):
6259         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6260         (make_time): Warning elimination (change arg name).
6261
6262 2001-11-24  Andy Piper  <andy@xemacs.org>
6263
6264         * window.c (Fsplit_window): Doc return type.
6265
6266 2002-04-01  Andy Piper  <andy@xemacs.org>
6267
6268         * emacs.c (Fkill_emacs): Only output message box in interactive
6269         mode.
6270
6271 2002-04-26  Andy Piper  <andy@xemacs.org>
6272  
6273         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6274         cygwin.
6275
6276 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6277
6278         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6279         bit platform.
6280
6281 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6282
6283         * XEmacs 21.4.8 "Honest Recruiter" is released.
6284
6285 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6286
6287         Supersedes 2002-04-17 patch.
6288
6289         * process.h (PROCESS_LIVE_P): Use the process status as
6290         evidence of health, not the state of the input stream.
6291         (PROCESS_READABLE_P): Say if the process is readable
6292         from. (It may be dead nonetheless.)
6293         (CHECK_READABLE_PROCESS): Test for that condition.
6294
6295         * process.c (create_process): Use PROCESS_READABLE_P.
6296         (read_process_output, set_process_filter): Likewise.
6297
6298         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6299         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6300
6301         This code is #if 0'd, this is not the time to add new functions:
6302
6303         * process.c (Fprocess_readable_p): Report readability status.
6304         * process.c (Qprocess_readable_p): New, associated symbol...
6305         * process.c (syms_of_process): ... initialize it.
6306
6307 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6308
6309         * XEmacs 21.4.7 "Economic Science" is released.
6310
6311 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6312
6313         * process.h (PROCESS_LIVE_P): Use the process status as
6314         evidence of health, not the state of the input stream.
6315
6316 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6317
6318         * sysdep.c (sys_siglist): change "signum" to "signal"
6319
6320 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6321
6322         * s/darwin.h: New file.
6323         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6324         
6325 2002-04-23  Andreas Jaeger  <aj@suse.de>
6326
6327         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6328         which use lib64 for 64-bit libs.
6329         (START_FILES): Likewise.
6330
6331 2002-02-11  Mike Sperber  <mike@xemacs.org>
6332
6333         * device-x.c: 
6334         (x_IO_error_handler):
6335         (x_init_device): Temporarily keep device in static variable
6336         `device_being_initialized' so we can recover gracefully from
6337         internal XOpenDevice failure.  (XOpenDevice is documented to
6338         return NULL on failure, but sometimes calls the IO error handler
6339         instead.)
6340
6341 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6342
6343         * dired.c (Ffile_name_all_completions): Change documentation --
6344         remove reference to completion-ignored-extensions.
6345         * dired.c (vars_of_dired): Change documentation for
6346         completion-ignored-extensions -- remove reference to
6347         file-name-all-completions.
6348
6349 2002-03-06  Jerry James  <james@xemacs.org>
6350
6351         * emodules.c (emodules_load): Fix multiple loading of same module.
6352
6353 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6354         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6355         RTLD_LAZY to avoid incorrect symbol binding when using nested
6356         shared libraries on Solaris.
6357
6358 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6359
6360         * fileio.c (Ffind_file_name_handler): Improve docstring.
6361
6362 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6363
6364         * fns.c (Fmapconcat): Improve docstring.
6365
6366 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6367
6368         * device-gtk.c: Add prototype for
6369         emacs_gtk_selection_clear_event_handle.
6370         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6371         selection.  Setup signal handler for "selection_clear_event"
6372         (emacs_gtk_selection_clear_event_handle).
6373
6374         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6375         other applications owning the clipboard (based on
6376         x_handle_selection_clear).
6377
6378 2001-12-23  William M. Perry  <wmperry@gnu.org>
6379
6380         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6381         
6382 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6383
6384         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6385
6386 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6387
6388         * XEmacs 21.4.6 "Common Lisp" is released.
6389
6390 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6391
6392         * search.c (Freplace_match): Add missing sub-expression functionality.
6393
6394         * buffer.c (decode_buffer): Add a check for pointer type to
6395         decode_buffer, before gcc's CSE optimization reorders a
6396         dereference in front of the allow_string test.
6397
6398 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6399
6400         * window.c (window_loop): Fix bug that sometimes prevented
6401         window_loop() from iterating across multiple devices.  Also, at
6402         Ben's request, changed infloop-detecting code to abort() instead
6403         of silently terminating window_loop().
6404
6405 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6406
6407         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6408         * editfns.c (make_time): New function.
6409         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6410         * lisp.h (make_time): Prototype and comment it.
6411         * dired.c (wasteful_word_to_lisp): Deprecate.
6412         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6413
6414 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6415
6416         * fileio.c (auto_save_1): Use current coding system, not
6417         escape-quoted.
6418
6419 2001-11-13  Ben Wing  <ben@xemacs.org>
6420
6421         * window.c:
6422         * window.c (window_truncation_on):
6423         * window.c (syms_of_window):
6424         truncate-partial-width-windows should respect the buffer being
6425         displayed, like other redisplay vars.
6426
6427 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6428
6429         * event-stream.c (Fread_key_sequence): save current buffer.
6430
6431 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6432
6433         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6434
6435 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6436
6437         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6438
6439 2001-10-26  Mike Alexander  <mta@arbortext.com>
6440
6441         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6442
6443 2001-10-25  Andy Piper  <andy@xemacs.org>
6444
6445         * ChangeLog:
6446         * dialog-msw.c (handle_directory_proc): new function.
6447          (handle_directory_dialog_box): new fucntion.
6448          (handle_file_dialog_box): use new directory dialog support.
6449          (mswindows_make_dialog_box_internal): ditto.
6450         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6451         handling.
6452         (mswindows_find_frame): make global.
6453         * fileio.c (Fexpand_file_name): build fix.
6454         * general-slots.h: add Qdirectory.
6455         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6456         handling.
6457         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6458         cygwin not leaving win32 paths unchanged.
6459         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6460         cygwin runtime to do path conversion.
6461         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6462         (syms_of_win32): add new function.
6463         * window.c (window_loop): build fix.
6464
6465 2001-10-15  Andy Piper  <andy@xemacs.org>
6466
6467         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6468
6469 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6470
6471         * XEmacs 21.4.5 "Civil Service" is released.
6472
6473 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6474
6475         * glyphs-x.c: Force buffer-tab highlight update when moving the
6476         buffer, avoiding an ugly black border, used for keyboard focus
6477         indication, on a widget that can never have keyboard focus, the
6478         buffer tab.
6479
6480 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6481
6482         * process-unix.c (unix_open_multicast_group): Remove too much
6483         conversion between host and network byte order.
6484
6485 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6486
6487         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6488         before replacing them.
6489
6490         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6491         operation.
6492
6493         * src/window.c (undedicate_windows): Use it.
6494         * src/window.h: Add prototype.
6495
6496 2001-09-17  Ben Wing  <ben@xemacs.org>
6497
6498         * fileio.c (normalize_filename):
6499         * fileio.c (Fexpand_file_name):
6500         Fix various C++ compile errors in Andy's recent code.
6501         
6502         * callint.c (Fcall_interactively):
6503         * editfns.c (Ftemp_directory):
6504         * editfns.c (Fuser_full_name):
6505         * emacs.c (argmatch):
6506         * lread.c (locate_file_map_suffixes):
6507         * redisplay-x.c (x_ring_bell):
6508         Fix sign-compare warnings.
6509         
6510 2001-09-08  Andy Piper  <andy@xemacs.org>
6511
6512         * fileio.c (normalize_filename): copied from nt.c
6513         * (Ffile_name_directory): enable win32 paths under cygwin.
6514         * (Ffile_name_nondirectory): ditto.
6515         * (directory_file_name): ditto.
6516         * (Fexpand_file_name): ditto.
6517         * (Ffile_truename): ditto.
6518         * (Fsubstitute_in_file_name): ditto.
6519         * (Ffile_name_absolute_p): ditto.
6520         * (Ffile_readable_p): ditto.
6521
6522 2001-09-08  Andy Piper  <andy@xemacs.org>
6523
6524         * device-msw.c (mswindows_finish_init_device): remove dde
6525         initialization.
6526         * device-msw.c (mswindows_init_dde): factor out from
6527         mswindows_finish_init_device()
6528         * device-msw.c (init_mswindows_very_early): new function
6529         initialize but don't enable dde.
6530         * emacs.c (main_1): call init_mswindows_very_early.
6531         * event-msw.c:
6532         * event-msw.c (mswindows_dde_callback): only execute when we are
6533         ready.
6534         * symsinit.h: declare init_mswindows_very_early.
6535
6536 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6537
6538         [sjt: This has been in 21.5 for months with no complaints.]
6539
6540         * console.h (struct console_methods): Added flags member.
6541         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6542         (CONMETH_IMPL_FLAG):
6543         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6544         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6545
6546         * device.c (window_system_pixelated_geometry): Use the above macros.
6547
6548         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6549         implememntation flag.
6550         * device.h (DEVICE_DISPLAY_P): Use it.
6551
6552         * frame.c (delete_frame_internal): Use the above macro.
6553
6554         * redisplay.c (redisplay_device): Use it.
6555         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6556         (redisplay_frame): Ditto.
6557
6558         * device-msw.c (mswindows_device_implementation_flags): Removed.
6559         (msprinter_device_implementation_flags): Removed.
6560         (console_type_create_device_mswindows): Removed references to
6561         implementation_flags methods, set implementation flags here.
6562         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6563
6564         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6565         (console_type_create_device_gtk): Removed method declaration.
6566         Added commented out statement which semantically matches the
6567         commented out statement in the above removed method.
6568
6569 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6570
6571         The attached patch fixes a few warnings. 
6572
6573         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6574         * src/frame-gtk.c: guard against GNOME calls in GTK only
6575         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6576         * src/select-gtk.c: prototype lisp_to_time
6577
6578 2001-06-08  Ben Wing  <ben@xemacs.org>
6579
6580         ------ gc-in-window-procedure fixes ------
6581         
6582         * alloc.c:
6583         * alloc.c (struct post_gc_action):
6584         * alloc.c (register_post_gc_action):
6585         * alloc.c (run_post_gc_actions):
6586         * alloc.c (garbage_collect_1):
6587         Create "post-gc actions", to avoid those dreaded "GC during window
6588         procedure" problems.
6589
6590         * event-msw.c:
6591         Abort, clean and simple, when GC in window procedure.  We want
6592         to flush these puppies out.
6593
6594         * glyphs-msw.c:
6595         * glyphs-msw.c (finalize_destroy_window):
6596         * glyphs-msw.c (mswindows_finalize_image_instance):
6597         Use a post-gc action when destroying subwindows.
6598
6599         * lisp.h:
6600         Declare register_post_gc_action().
6601
6602         * scrollbar-msw.c:
6603         * scrollbar-msw.c (unshow_that_mofo):
6604         Use a post-gc action when unshowing scrollbar windows, if in gc.
6605
6606         * redisplay.c (mark_redisplay):
6607         Add comment about the utter evilness of what's going down here.
6608
6609         ------ cygwin setitimer fixes ------
6610         
6611         * Makefile.in.in (sheap_objs):
6612         * Makefile.in.in (profile_objs):
6613         * Makefile.in.in (objs):
6614         Compile profile.c only when HAVE_SETITIMER.
6615         
6616         * nt.c (mswindows_sigset):
6617         * nt.c (mswindows_sighold):
6618         * nt.c (mswindows_sigrelse):
6619         * nt.c (mswindows_sigpause):
6620         * nt.c (mswindows_raise):
6621         * nt.c (close_file_data):
6622         Style fixes.
6623         
6624         * nt.c:
6625         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6626         
6627         * profile.c:
6628         * profile.c (Fstart_profiling):
6629         * profile.c (Fstop_profiling):
6630         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6631         instead of just plain setitimer().
6632         
6633         * signal.c:
6634         * signal.c (set_one_shot_timer):
6635         * signal.c (alarm):
6636         Define qxe_setitimer() as an encapsulation around setitimer() --
6637         call setitimer() directly unless Cygwin or MS Win, in which case
6638         we use our simulated version in win32.c.
6639         
6640         * systime.h:
6641         * systime.h (struct itimerval):
6642         * systime.h (ITIMER_REAL):
6643         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6644         comment about "qxe" and the policy regarding encapsulation.
6645
6646         * win32.c:
6647         * win32.c (setitimer_helper_proc):
6648         * win32.c (setitimer_helper_period):
6649         * win32.c (setitimer_helper):
6650         * win32.c (mswindows_setitimer):
6651         Move setitimer() emulation here, so Cygwin can use it.
6652         Rename a couple of functions and variables to be longer and more
6653         descriptive.  In setitimer_helper_proc(), send the signal
6654         using either mswindows_raise() or (on Cygwin) kill().  If for
6655         some reason we are still getting lockups, we'll change the kill()
6656         to directly invoke the signal handlers.
6657
6658         ------ windows shell fixes ------
6659         
6660         * callproc.c:
6661         * ntproc.c:
6662         Comments about how these two files must die.
6663
6664         * callproc.c (init_callproc):
6665         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6666         not just COMSPEC. (more correct and closer to FSF.) Don't
6667         force a value for SHELL into the environment. (Comments added
6668         to explain why not.)
6669         
6670         * nt.c (init_user_info):
6671         Don't shove a fabricated SHELL into the environment.  See above.
6672
6673 2001-06-01  Ben Wing  <ben@xemacs.org>
6674
6675         * Makefile.in.in (ldflags):
6676         eliminate that pesky "defaulting to 00401000" warning.
6677         * nt.h:
6678         eliminate warnings.
6679
6680 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6681
6682         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6683         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6684
6685 2001-04-24  Jerry James <james@xemacs.org>
6686
6687         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6688         correct order.
6689
6690 2001-06-01  Ben Wing  <ben@xemacs.org>
6691
6692         * event-msw.c (debug_mswin_messages):
6693         conditionalize the messages that were causing compile errors.
6694         (if only macros could generate #ifdef statements ...)
6695
6696 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6697
6698         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6699
6700 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6701
6702         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6703
6704 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6705
6706         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6707         * process-unix.c (unix_canonicalize_host_name):
6708         sysdep.c (init_system_name):
6709         Use it to conditionally support IPv6 canonicalization.
6710
6711 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6712
6713         * event-msw.c:
6714         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6715
6716 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6717
6718         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6719         attempt is made to scroll when no scroll bar is available.
6720
6721 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6722
6723         * input-method-motif.c (XIM_delete_frame): New callback.
6724         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6725         got deleted from 21.4.3.)
6726
6727 2001-06-01  Ben Wing  <ben@xemacs.org>
6728
6729         * nt.c (mswindows_utime):
6730         * nt.c (close_file_data):
6731         fix off-by-one-indirection error.
6732
6733 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6734
6735         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6736         because set_file_times() now takes Lisp_Object path, instead of
6737         char*.
6738         * nt.c: Include buffer.h.
6739         * nt.c (convert_from_time_t): New.
6740         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6741         not set mtime correctly.
6742         * nt.h: Declare mswindows_utime().
6743         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6744         path, instead of char*.
6745         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6746
6747 2001-05-30  Ben Wing  <ben@xemacs.org>
6748
6749         For 21.4:
6750
6751         (Stephen, just take all event-msw.c patches.  This includes
6752         the "iconify" fix below.)
6753
6754         * event-msw.c:
6755         * event-msw.c (mswindows_dequeue_dispatch_event):
6756         * event-msw.c (assert):
6757         * event-msw.c (emacs_mswindows_quit_p):
6758         * event-msw.c (debug_mswin_messages):
6759         * event-msw.c (debug_output_mswin_message):
6760         * event-msw.c (vars_of_event_mswindows):
6761         Fix yet more problems with C-g handling.
6762         Implement debug-mswindows-events.
6763         
6764 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6765
6766         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6767         
6768 2001-05-23  Ben Wing  <ben@xemacs.org>
6769
6770         * event-msw.c (winsock_writer):
6771         * event-msw.c (winsock_closer):
6772         prior kludgy code was clobbering the buffer, thinking it was
6773         "unused" space to store an unneeded return value; instead, use
6774         the variable we've already got staring us in the face.
6775
6776 2001-05-17  Andy Piper  <andy@xemacs.org>
6777
6778         * sysfile.h: don't assume that file attributes are boolean
6779
6780 2001-05-23  Ben Wing  <ben@xemacs.org>
6781
6782         * device-msw.c (msprinter_init_device):
6783         signal an error rather than crash with an unavailable network
6784         printer (from Mike Alexander).
6785         
6786         * event-msw.c:
6787         * event-msw.c (struct winsock_stream):
6788         * event-msw.c (winsock_writer):
6789         * event-msw.c (winsock_closer):
6790         * event-msw.c (make_winsock_stream_1):
6791         cleanup headers.  fix (hopefully) an error with data corruption
6792         when sending to a network connection.
6793
6794         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6795         to handle the ~user prefix by (a) always assuming we're referencing
6796         ourselves and not even verifying the user -- hence any file with
6797         a tilde as its first char is invalid! (b) if there wasn't a slash
6798         following the filename, the pointer was set *past* the end of
6799         file and we started reading from uninitialized memory.  Now we
6800         simply treat these as files, always.
6801
6802         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6803         
6804 2001-05-19  Ben Wing  <ben@xemacs.org>
6805
6806         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6807
6808         * process-nt.c:
6809         * process-nt.c (vars_of_process_nt):
6810         remove unused mswindows-quote-process-args.  rec for 21.4.
6811         
6812 2001-05-12  Ben Wing  <ben@xemacs.org>
6813
6814         * event-msw.c (mswindows_dde_callback):
6815         * event-msw.c (mswindows_wnd_proc):
6816         eliminate cygwin warnings.
6817
6818 2001-05-06  Ben Wing  <ben@xemacs.org>
6819
6820         * console-msw.h:
6821         * device-msw.c:
6822         * device-msw.c (print_dialog_worker):
6823         * device-msw.c (mswindows_handle_print_dialog_box):
6824         * device-msw.c (syms_of_device_mswindows):
6825         * dialog-msw.c (mswindows_make_dialog_box_internal):
6826         * general-slots.h:
6827         implement printing the selection when it's selected.
6828
6829 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6830
6831         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6832
6833 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6834
6835         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6836         EMACS_INT is signed.
6837
6838 2001-04-15  Michael Lausch  <mla@1012surf.net>
6839
6840         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6841         gtk_widget_request_size() to give scrollbar >0 width for
6842         GTK >1.2.8.
6843
6844 2001-05-30  William M. Perry  <wmperry@gnu.org>
6845
6846         * event-gtk.c: Check for buttons as modifier keys.
6847
6848 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6849
6850         * s\mingw32.h:
6851         Properly find MinGW's <process.h> inside Cygwin's restructured
6852         include directories.  Don't try to include <cygwin/version.h>
6853         since we are dropping support for MinGW in versions of Cygwin
6854         earlier than b21.
6855         * nt.c:
6856         Drop support for MinGW in versions of Cygwin before b21.
6857         * sysdep.c:
6858         Properly find MinGW's <process.h> inside Cygwin's restructured
6859         include directories.
6860         * syswindows.h:
6861         Drop support for MinGW in versions of Cygwin before b21.
6862         * unexcw.c:
6863         Even though a.out.h is no longer detected by configure, allow
6864         MinGW to use it until we figure out how to do the job with Win32.
6865
6866 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6867
6868         * syntax.c (find_start_of_comment):
6869         Fix `unbalanced parentheses' bug when dealing with mixed comment
6870         styles in c++/java/etc. mode
6871
6872 2001-05-29  Mike Alexander  <mta@arbortext.com>
6873
6874         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6875         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6876
6877 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6878
6879         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6880
6881 2001-03-31  Mike Sperber <mike@xemacs.org>
6882
6883         * search.c (Freplace_match): Support FSF-style specification of
6884         match subexpression when applied to a buffer.
6885
6886 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6887
6888         * event-stream.c (is_scrollbar_event): add missing semicolon
6889
6890 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6891
6892         * Makefile.in.in: Use TAR macro instead of hardcoding
6893           tar.  Allows use of GNU tar instead of system tar
6894
6895 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6896
6897         * event-stream.c (is_scrollbar_event): add missing semicolon
6898
6899 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6900
6901         * XEmacs 21.4.3 "Academic Rigor" is released.
6902
6903 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6904
6905         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6906
6907 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6908
6909         * buffer.c (Vcase_fold_search): Remove obsolete
6910           comment about non ASCII case-fold-search.  This
6911           bug has been fixed by case-table changes.
6912
6913 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6914
6915         * event-msw.c: Restore include of events-mod.h.
6916
6917 2001-04-22   zhaoway  <zw@debian.org>
6918
6919         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6920         !HAVE_SCROLLBARS.
6921
6922 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6923
6924         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6925
6926 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6927
6928         * mule-charset.c (Fmake_charset): Add missing else.
6929
6930 2001-04-23  Ben Wing  <ben@xemacs.org>
6931
6932         * event-msw.c (FAKE_MOD_QUIT):
6933         * event-msw.c (mswindows_dequeue_dispatch_event):
6934         * event-msw.c (mswindows_wnd_proc):
6935         * event-msw.c (emacs_mswindows_quit_p):
6936         Get critical quit working.
6937
6938 2001-05-05  Ben Wing  <ben@xemacs.org>
6939
6940         * console-msw.h:
6941         * device-msw.c:
6942         * device-msw.c (mswindows_get_default_margin):
6943         * frame-msw.c (mswindows_size_frame_internal):
6944         * frame-msw.c (msprinter_init_frame_1):
6945         * frame-msw.c (vars_of_frame_mswindows):
6946         Change top/bottom margin defaults to 0.5 inches.
6947
6948 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6949
6950         Fix link error with gcc 3.0 on Linux.
6951         * terminfo.c (UP): Remove.
6952         * terminfo.c (BC): Remove.
6953         * terminfo.c (PC): Remove.
6954         They weren't used, and in any case, these symbols should be
6955         defined in the *library*.
6956
6957 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6958
6959         * s/aix4.h: Fix crash with xlc -O3.
6960         Improve comment explaining how -O3 works.
6961
6962 2001-04-15  Ben Wing  <ben@xemacs.org>
6963
6964         * event-stream.c:
6965         * event-stream.c (Fnext_event):
6966         * event-stream.c (is_scrollbar_event):
6967         * event-stream.c (execute_command_event):
6968         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6969         crash' problem.  His fix introduces other problems.  We filter
6970         out scrollbar events specifically, making them somewhat invisible
6971         to command-building, and not appearing in `this-command-keys'.
6972         More work is still needed (see comments in event-stream.c), but
6973         this fixes all the major problems.
6974
6975 2001-04-20  Ben Wing  <ben@xemacs.org>
6976
6977         * .cvsignore: Added stuff for Windows.
6978
6979 2001-04-28  Ben Wing  <ben@xemacs.org>
6980
6981         * buffer.c (Ferase_buffer):
6982         * editfns.c (buffer_insert1):
6983         * editfns.c (Finsert_before_markers):
6984         * editfns.c (Finsert_string):
6985         * editfns.c (Finsert_char):
6986         * editfns.c (Fdelete_region):
6987         * editfns.c (Fwiden):
6988         * editfns.c (Fnarrow_to_region):
6989         remove bogus lines setting zmacs_region_stays to 0.
6990         
6991 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6992
6993         * process-unix.c (unix_open_network_stream): If connect() fails
6994         invalidate file descriptor after closing it.
6995
6996 2001-03-08  Mike Alexander  <mta@arbortext.com>
6997
6998         * event-msw.c (mswindows_need_event_in_modal_loop):
6999         Don't dispatch a message if we didn't get one.
7000         (mswindows_need_event):
7001         Terminate the correct process when one exits instead of the first
7002         one on Vprocess_list and look for process termination when in
7003         mswindows_protect_modal_loop.
7004
7005 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
7006
7007         * XEmacs 21.4.1 "Copyleft" is released.
7008
7009 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7010
7011         * input-method-motif.c (XIM_delete_frame): New callback.
7012         (XIM_init_frame): Register it.
7013
7014 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7015
7016         * XEmacs 21.4.0 "Solid Vapor" is released.
7017
7018 2001-04-15  Ben Wing  <ben@xemacs.org>
7019
7020         * cmdloop.c (call_command_loop):
7021         Fix braino in bit-rotting code.
7022         
7023 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
7024
7025         * extents.c (Fset_extent_endpoints): Force creation of extent info
7026         in buffer_or_string.
7027
7028         * extents.c (process_extents_for_insertion_mapper): Correctly
7029         check for open-open zero-length extents.
7030
7031 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7032
7033         * lisp.h: New typedefs Memory_count, Element_count.
7034         * regex.c:
7035         * regex.h:
7036         Sign-compare warning elimination: several unsigned -> signed.
7037         Based on work by Ben Wing <ben@xemacs.org>.
7038
7039 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
7040
7041         * XEmacs 21.2.47 "Zephir" is released.
7042
7043 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
7044
7045         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
7046
7047 2001-04-03  Mike Sperber <mike@xemacs.org>
7048
7049         * search.c: Revert previous patch due because of release.
7050
7051 2001-03-30  Ben Wing  <ben@xemacs.org>
7052
7053         * s\cygwin32.h:
7054         Add missing killpg prototype.
7055
7056         * elhash.c:
7057         Add a comment about fixing problems when a new entry is added
7058         while mapping.
7059
7060         * frame-msw.c (mswindows_init_frame_1):
7061         Fix compile warnings.
7062
7063         * menubar.c (vars_of_menubar):
7064         Provide `menu-accelerator-support' to indicate that we properly
7065         support %_ in menu specifications, so that package code can
7066         conditionalize on this (and remove %_ from menu specifications
7067         on older versions).
7068
7069         * event-msw.c:
7070         * scrollbar-msw.c:
7071         * scrollbar-msw.c (can_scroll):
7072         * scrollbar-msw.h:
7073         Fix handling of mouse wheel under Windows to follow standards --
7074         now scrolls window under pointer, not selected window.
7075
7076 2001-03-31  Mike Sperber <mike@xemacs.org>
7077
7078         * search.c (Freplace_match): Support FSF-style specification of
7079         match subexpression when applied to a buffer.
7080
7081 2001-03-15  Martin Buchholz  <martin@xemacs.org>
7082
7083         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
7084         function to modify KEYMAP, so map over a copy of the hash table.
7085
7086 2001-03-21  Martin Buchholz <martin@xemacs.org>
7087
7088         * XEmacs 21.2.46 "Urania" is released.
7089
7090 2001-03-20  Dan Holmsand  <dan@eyebee.com>
7091
7092         * realpath.c (xrealpath): Make file-truename work with symlinks to
7093         /cygdrive paths on cygwin. Always lowercase drive-letters on
7094         native windows.
7095         (cygwin_readlink): Don't try to find canonical filename unless
7096         file exists.
7097
7098 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
7099
7100         * ChangeLog: Log GTK merge.
7101
7102         * dumper.c:
7103         * select-x.c:
7104         * specifier.c:
7105         * symeval.h:
7106         Revert gratuitous whitespace changes from GTK merge.
7107
7108         * emacs.c: Document end of complex #ifdef @ l. 1495.
7109
7110
7111 2001-03-12  Andy Piper  <andy@xemacs.org>
7112
7113         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7114         have to do likewise.
7115
7116 2001-03-12  Andy Piper  <andy@xemacs.org>
7117
7118         * sysdep.c: we only support mingw now.
7119
7120 2001-03-09  Andy Piper  <andy@xemacs.org>
7121
7122         * unexcw.c (copy_executable_and_dump_data_section): making approx
7123         overrun a warning only.
7124
7125 2001-03-10  William M. Perry  <wmperry@aventail.com>
7126
7127         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7128         satisfy Stephen's identical-after-cpp plea.
7129
7130 2001-03-02  Ben Wing  <ben@xemacs.org>
7131
7132         * cmds.c:
7133         * cmds.c (Fforward_char):
7134         * syntax.c:
7135         * window.c:
7136
7137         Augment documentation of the most common motion commands to make
7138         note of the shifted-motion support.
7139         
7140 2001-03-02  Ben Wing  <ben@xemacs.org>
7141
7142         * nt.c (mswindows_fstat):
7143         * nt.c (mswindows_stat):
7144         * search.c (boyer_moore):
7145         Fix compile warnings under Windows.
7146         
7147         * sysdep.c (sys_readdir):
7148         Fix buggy filename-conversion code under Mule.
7149
7150 2001-03-09  William M. Perry  <wmperry@aventail.com>
7151
7152         * Makefile.in.in:
7153         * config.h.in:
7154         * console.c:
7155         * console.h:
7156         * device.c:
7157         * device.h:
7158         * dragdrop.c:
7159         * emacs.c:
7160         * event-stream.c:
7161         * events.c:
7162         * events.h:
7163         * faces.c:
7164         * frame.h:
7165         * general-slots.h:
7166         * glyphs.c:
7167         * gutter.c:
7168         * inline.c:
7169         * lisp.h:
7170         * lrecord.h:
7171         * make-src-depend:
7172         * redisplay-output.c:
7173         * redisplay.c:
7174         * symsinit.h:
7175         * sysfile.h:
7176         * toolbar.c:
7177         * window.c:
7178         The Great GTK Merge.
7179
7180         * ChangeLog.GTK:
7181         * console-gtk.c:
7182         * console-gtk.h:
7183         * device-gtk.c:
7184         * emacs-marshals.c:
7185         * emacs-widget-accessors.c:
7186         * event-gtk.c:
7187         * frame-gtk.c:
7188         * gccache-gtk.c:
7189         * gccache-gtk.h:
7190         * glade.c:
7191         * glyphs-gtk.c:
7192         * glyphs-gtk.h:
7193         * gtk-glue.c:
7194         * gtk-xemacs.c:
7195         * gtk-xemacs.h:
7196         * gui-gtk.c:
7197         * gui-gtk.h:
7198         * menubar-gtk.c:
7199         * native-gtk-toolbar.c:
7200         * objects-gtk.c:
7201         * objects-gtk.h:
7202         * redisplay-gtk.c:
7203         * scrollbar-gtk.c:
7204         * scrollbar-gtk.h:
7205         * select-gtk.c:
7206         * toolbar-gtk.c:
7207         * ui-byhand.c:
7208         * ui-gtk.c:
7209         * ui-gtk.h:
7210         The Great GTK Merge: new files.
7211
7212 2001-02-26  Ben Wing  <ben@xemacs.org>
7213
7214         Reapplied Lstream change.
7215
7216 2001-02-26  Ben Wing  <ben@xemacs.org>
7217
7218         Undid the last change, since it is more controversial than I
7219         thought.  It should be back in at some point soon.
7220         
7221 2001-02-25  Ben Wing  <ben@xemacs.org>
7222
7223         * buffer.c:
7224         * callproc.c (Fold_call_process_internal):
7225         * event-msw.c (ntpipe_slurp_reader):
7226         * event-msw.c (ntpipe_shove_writer):
7227         * event-msw.c (winsock_reader):
7228         * event-msw.c (winsock_writer):
7229         * file-coding.c:
7230         * file-coding.c (detect_eol_type):
7231         * file-coding.c (detect_coding_type):
7232         * file-coding.c (determine_real_coding_system):
7233         * file-coding.c (Fdetect_coding_region):
7234         * file-coding.c (decoding_reader):
7235         * file-coding.c (decoding_writer):
7236         * file-coding.c (mule_decode):
7237         * file-coding.c (Fdecode_coding_region):
7238         * file-coding.c (encoding_reader):
7239         * file-coding.c (encoding_writer):
7240         * file-coding.c (mule_encode):
7241         * file-coding.c (Fencode_coding_region):
7242         * file-coding.c (detect_coding_sjis):
7243         * file-coding.c (decode_coding_sjis):
7244         * file-coding.c (encode_coding_sjis):
7245         * file-coding.c (detect_coding_big5):
7246         * file-coding.c (decode_coding_big5):
7247         * file-coding.c (encode_coding_big5):
7248         * file-coding.c (detect_coding_ucs4):
7249         * file-coding.c (decode_coding_ucs4):
7250         * file-coding.c (encode_coding_ucs4):
7251         * file-coding.c (detect_coding_utf8):
7252         * file-coding.c (decode_coding_utf8):
7253         * file-coding.c (encode_coding_utf8):
7254         * file-coding.c (detect_coding_iso2022):
7255         * file-coding.c (decode_coding_iso2022):
7256         * file-coding.c (encode_coding_iso2022):
7257         * file-coding.c (decode_coding_no_conversion):
7258         * file-coding.c (encode_coding_no_conversion):
7259         * glyphs-x.c (write_lisp_string_to_temp_file):
7260         * gpmevent.c (tty_get_foreign_selection):
7261         * lisp.h:
7262         * lstream.c:
7263         * lstream.c (Lstream_flush_out):
7264         * lstream.c (Lstream_adding):
7265         * lstream.c (Lstream_write_1):
7266         * lstream.c (Lstream_write):
7267         * lstream.c (Lstream_raw_read):
7268         * lstream.c (Lstream_read_more):
7269         * lstream.c (Lstream_read):
7270         * lstream.c (Lstream_unread):
7271         * lstream.c (Lstream_fputc):
7272         * lstream.c (stdio_reader):
7273         * lstream.c (stdio_writer):
7274         * lstream.c (filedesc_reader):
7275         * lstream.c (filedesc_writer):
7276         * lstream.c (lisp_string_reader):
7277         * lstream.c (struct fixed_buffer_stream):
7278         * lstream.c (make_fixed_buffer_input_stream):
7279         * lstream.c (make_fixed_buffer_output_stream):
7280         * lstream.c (fixed_buffer_reader):
7281         * lstream.c (fixed_buffer_writer):
7282         * lstream.c (struct resizing_buffer_stream):
7283         * lstream.c (resizing_buffer_writer):
7284         * lstream.c (dynarr_writer):
7285         * lstream.c (lisp_buffer_reader):
7286         * lstream.c (lisp_buffer_writer):
7287         * lstream.h:
7288         * lstream.h (lstream_implementation):
7289         * lstream.h (struct lstream):
7290         * md5.c (Fmd5):
7291         * process-nt.c (nt_send_process):
7292         * process-unix.c (unix_send_process):
7293         
7294         Correct Lstream lossage due to mixing of signed and unsigned
7295         quantities.  All Lstream uses of size_t and ssize_t are now a
7296         single signed data type Lstream_data_count.  This fixes problems
7297         under Windows with sending large quantities of data to a process,
7298         and may well fix other subtle bugs.
7299
7300 2001-02-23  Martin Buchholz <martin@xemacs.org>
7301
7302         * XEmacs 21.2.45 "Thelxepeia" is released.
7303
7304 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7305
7306         * lisp-union.h (XSETINT): 
7307         (XSETCHAR):
7308         (XSETOBJ): 
7309         Reverse previous change of 2001-02-06.
7310
7311 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7312
7313         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7314         buffers.
7315         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7316         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7317         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7318         * regex.c (POS_AS_IN_BUFFER): removed
7319         * regex.c (re_search_2):
7320         * regex.c (re_match_2):
7321         Don't use an offset of 1 when calculating buffer positions, since
7322         `BI_BUF_BEGV' does it already.
7323
7324 2001-02-18  Wim Dumon  <wim@easics.be>
7325
7326         * insdel.c (prepare_to_modify_buffer): Also check for
7327         supersession when clash-detection is enabled. 
7328
7329 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7330
7331         * regex.c (re_match_2_internal):
7332         Convert temp characters from 'const unsigned char' to 're_char'.
7333         Fix crashing bug with extended characters under mule.
7334         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7335         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7336         font-lock, pdump, and new syntax-table code.
7337         * syntax.c (find_start_of_comment):
7338         (find_end_of_comment):
7339         (forward-comment):
7340         Fix crashing bugs involving moving beyond end of buffer.
7341         * syntax.c (find_start_of_comment):
7342         Fixed logic to allow proper detection of cases where the same
7343         character is used to end both a two-char comment start and a
7344         two-char comment end sequence. Fixes `(forward-comment -1)'.
7345         * syntax.c (find_start_of_comment):
7346         Return position just past last comment-end character for all cases
7347         (previously was only done for two-char comment-end sequences).
7348         * syntax.c (forward-comment):
7349         Take value returned from `find_end_of_comment', rather than
7350         incrementing it.
7351         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7352         Properly deal with BUFFERP (syntax_cache.object)
7353
7354 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7355
7356         * alloc.c (Fgarbage_collect): 
7357         * alloc.c (make_bit_vector_from_byte_vector):
7358         -Wsign-compare-correctness.
7359
7360 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7361
7362         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7363         (XSETCHAR): Likewise.
7364         (XSETOBJ): Likewise.
7365
7366 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7367
7368         * mule-canna.c (canna-func-delete_previous): 
7369         Rename to canna-func-delete-previous.
7370
7371 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7372
7373         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7374
7375 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7376
7377         * font-lock.c (find_context): Fix C++ compile errors introduced by
7378         recent patch
7379
7380 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7381
7382         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7383         pragma, but earlier ones barf on the same pragma.
7384
7385 2001-02-06  Mike Sperber <mike@xemacs.org>
7386
7387         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7388         `configure-mule-lisp-directory'.
7389
7390 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7391
7392         Make sure dump-id.c is compiled in the same way as other .c's.
7393         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7394         * dump-id.h: Remove.
7395         * emacs.c: Move dump-id.h into dumper.h.
7396         * dumper.h: Move dump-id.h into dumper.h.
7397         * Makefile.in.in:
7398         Use standard .c.o rule for building dump-id.o.
7399         Remove preprocessor flags from link command.
7400         Add dump-id.o to ${otherobjs} if PDUMP.
7401
7402 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7403
7404         Port FSF 20.7 syntax table improvements.
7405         * syntax.c.
7406         * syntax.h.
7407
7408         Fixups for new syntax table stuff.
7409         * dired.c: Include syntax.c.
7410         (Fdirectory_files): Initialize regex_match_object and
7411         regex_emacs_buffer.
7412         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7413         and Fget_char_property.
7414
7415         Use ported FSF 20.7 syntax table improvements.
7416         * font-lock.c.
7417         * regex.c.
7418         * search.c.
7419         
7420 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7421
7422         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7423         Unixware's enum boolean from sys/types.h.
7424
7425 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7426
7427         Fix support for building with latest Purify.
7428         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7429         (PURIFY_FLAGS): Likewise.
7430
7431 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7432
7433         * fileio.c (lisp_string_set_file_times): New.
7434         * fileio.c (Fcopy_file): Use it.
7435         Fixes bug:
7436         (copy-file filename non-ascii-filename t t)
7437         ==> No such file or directory, non-ascii-filename
7438
7439 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7440
7441         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7442         USHRT_MAX seems clearer than ~0 anyways.
7443
7444 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7445
7446         dumper improvements.  Inspired by Olivier.
7447         * dumper.c (pdump_max_align): New.
7448         * dumper.c (pdump_add_entry): Use pdump_max_align.
7449         * dumper.c (pdump_get_entry_list): Likewise.
7450         * dumper.c (pdump_scan_by_alignment): Likewise.
7451         Don't iterate through unnecessary alignments.
7452         * dumper.c (pdump_file_get): No need to align result of malloc().
7453         * dumper.c (pdump_mallocadr): Remove.  
7454         The result of malloc() is guaranteed to be maximally aligned.
7455         * dumper.c: s/elmt/elt/g;
7456         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7457         * dumper.c (pdump_alert_undump_object): Likewise.
7458         * dumper.c (pdump_align_table): 
7459         Don't support alignments > 64.
7460         Store ALIGNOF's, not shift counts, in table.
7461
7462 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7463
7464         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7465         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7466         * systime.h: Use HAVE_UTIME.
7467         * sysdep.c (struct utimbuf): Remove.
7468         * sysdep.c (set_file_times): Prefer utime() to utimes().
7469         * config.h.in (HAVE_UTIME): New.
7470         * config.h.in (HAVE_UTIME_H): Remove.
7471         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7472
7473 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7474
7475         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7476
7477 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7478
7479         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7480
7481 2001-02-08  Martin Buchholz <martin@xemacs.org>
7482
7483         * XEmacs 21.2.44 "Thalia" is released.
7484
7485 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7486
7487         Fixes crashes in kill-emacs on some systems.
7488         * process-unix.c (unix_kill_child_process):
7489         It's OK for kill() to fail with ESRCH.
7490
7491 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7492
7493         Contortions to make .gdbinit tricks work on most systems.
7494         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7495         * alloc.c (dbg_valmask): Make non-const.
7496         * alloc.c (dbg_typemask): Make non-const.
7497         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7498         * alloc.c (dbg_valbits): Make non-const.
7499         * alloc.c (dbg_gctypebits): Make non-const.
7500         * .gdbinit (decode_object): Make it work with AIX cc.
7501
7502 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7503
7504         * elhash.c (make_general_lisp_hash_table):
7505         Use simpler and more efficient calloc to clear entries.
7506
7507 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7508
7509         * window.c (window_scroll): Work around an AIX C compiler bug.
7510         Fixes 'scroll-up' does nothing problem with xlC.
7511
7512 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7513
7514         * .gdbinit: Remove obsolete comment.
7515
7516 2001-01-31  Mike Alexander  <mta@arbortext.com>
7517
7518         * select.c (Fown_selection_internal): Set owned_p for device
7519         method correctly.
7520
7521 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7522
7523         Port to g++ 2.97.
7524         "not" cannot be used as a macro name as it is an operator in C++
7525         * config.h.in: Stop #defining `not'.
7526         * chartab.c (check_category_char): not ==> not_p
7527         * chartab.h: Likewise.
7528         * regex.c (re_match_2_internal): Likewise.
7529
7530 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7531
7532         * lisp-disunion.h: Fix up comments.
7533
7534 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7535
7536         * keymap.c (define_key_check_and_coerce_keysym):
7537         (syms_of_keymap):
7538         Support mouse-6 and mouse-7 bindings in the obvious way.
7539
7540 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7541
7542         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7543
7544 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7545
7546         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7547         Previous patch missed DEFVAR_INT_MAGIC.
7548         Make sure future DEFVAR_foo use correct types.
7549         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7550         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7551         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7552         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7553         * (DEFVAR_INT): Likewise.
7554         * redisplay.c (vertical_clip): Should be of type Fixnum.
7555         * redisplay.c (horizontal_clip): Likewise.
7556         * lisp.h (dump_add_opaque_int): New.
7557         (dump_add_opaque_fixnum): New.
7558
7559 2001-01-29  Andy Piper  <andy@xemacs.org>
7560
7561         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7562         since they can be eval'ed
7563
7564 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7565
7566         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7567         Oops, XEmacs redefines `class'.  Use `typename' instead.
7568
7569 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7570
7571         * dumper.c: Fix C++ compile errors.
7572
7573 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7574
7575         * tparam.c: Use correct prototypes.
7576
7577 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7578
7579         * sysproc.h: #include util.h for NetBSD's openpty.
7580
7581 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7582
7583         More 64-bit correctness.
7584         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7585         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7586         Fix up comments.
7587         This finally finishes the 64-bit SGI port.
7588         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7589         * symbols.c: Fix up comments and type casts.
7590         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7591         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7592         * symeval.h (Fixnum): New type.
7593         * symeval.h (symbol_value_type): Fix up comment.
7594
7595         * commands.h:
7596         * nt.c:
7597         * emacs.c:
7598         * data.c:
7599         * redisplay.c:
7600         * abbrev.c:
7601         * dired-msw.c:
7602         * event-Xt.c:
7603         * eldap.c:
7604         * window.c:
7605         * sound.c:
7606         * event-stream.c:
7607         * eval.c:
7608         * buffer.c:
7609         * mule-canna.c: A million DEFVAR_INTs here...
7610         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7611         * extents.c:
7612         * cmdloop.c:
7613         * lisp.h:
7614         * select-x.c:
7615         * console-x.h:
7616         * event-msw.c:
7617         * mule-wnnfns.c:
7618         * hpplay.c:
7619         * ralloc.c:
7620         * alloc.c:
7621         * keymap.c:
7622         * profile.c:
7623         s/int/Fixnum/g in DEFVAR_INT declarations.
7624
7625 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7626
7627         Port pdump to SGI alignment-sensitive environment.
7628         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7629         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7630         properly aligned.
7631         Define and use aligned reading and writing macros.
7632         Use buffered stdio instead of posix i/o for faster dumping.
7633         Eliminate kludgy 256 byte space for header.
7634         Read and write from dump file using structs for alignment safety.
7635         * dumper.c (pdump_align_stream): New.
7636         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7637         * dumper.c (PDUMP_READ_ALIGNED): New.
7638         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7639         * dumper.c (pdump_static_Lisp_Object): New struct.
7640         * dumper.c (pdump_static_pointer): New struct.
7641         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7642         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7643         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7644         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7645
7646         * dumper.c (pdump_backtrace):
7647         * dumper.c (pdump_get_indirect_count):
7648         * dumper.c (pdump_register_object):
7649         * dumper.c (pdump_register_struct):
7650         * dumper.c (pdump_reloc_one):
7651         * dumper.c (pdump_scan_by_alignment):
7652         * dumper.c (pdump_dump_from_root_struct_ptrs):
7653         * dumper.c (pdump_dump_opaques):
7654         * dumper.c (pdump_dump_rtables):
7655         * dumper.c (pdump_dump_from_root_objects):
7656         * dumper.c (pdump):
7657         * dumper.c (pdump_load_finish):
7658         Use aligned reading and writing.
7659
7660         * dumper.c (pdump_free): Make static.
7661         * dumper.c (pdump_hFile): Likewise.
7662         * dumper.c (pdump_hMap): Likewise.
7663
7664 2001-01-26  Martin Buchholz <martin@xemacs.org>
7665
7666         * XEmacs 21.2.43 "Terspichore" is released.
7667
7668 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7669
7670         Type fiddling for window_config.saved_windows_count
7671         * window.c (struct window_config): 
7672         Make saved_windows_count member unsigned.
7673         * window.c (sizeof_window_config_for_n_windows): 
7674         Make parameter unsigned.
7675         * window.c (mark_window_config):
7676         * window.c (window_config_equal):
7677         * window.c (free_window_configuration):
7678         * window.c (Fset_window_configuration):
7679         * window.c (count_windows):
7680         * window.c (Fcurrent_window_configuration):
7681         * window.c (reinit_vars_of_window):
7682         Update all callers and users.
7683
7684 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7685
7686         Alignment correctness for flexible arrays.
7687         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7688         Make alignment-correct. Add interesting comments.
7689         * alloc.c (size_vector):
7690         * alloc.c (make_vector_internal):
7691         * alloc.c (make_bit_vector_internal):
7692         * alloc.c (sweep_bit_vectors_1):
7693         * fns.c (size_bit_vector):
7694         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7695         * window.c (sizeof_window_config_for_n_windows): 
7696         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7697
7698 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7699
7700         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7701
7702 2001-01-23  Andy Piper  <andy@xemacs.org>
7703
7704         * select.c (Fown_selection_internal): pass owned_p
7705
7706         * select-msw.c (mswindows_own_selection): New Signature.
7707
7708         * console.h (struct console_methods): add owned_p to
7709         _own_selection.
7710
7711         * select-x.c (x_own_selection): pass owned_p
7712         (hack_motif_clipboard_selection): use owned_p
7713         (vars_of_select_x): new variable -
7714         x_selection_strict_motif_ownership.
7715
7716 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7717
7718         * specifier.h (specifier_data_offset): Remove pointless parens.
7719         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7720
7721 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7722
7723         Make Lisp_Object sizeof methods be alignment-correct.
7724         pdump must restore objects to the same alignment as the C compiler
7725         assumes.  It really matters on SGIs.
7726         * lstream.c (aligned_sizeof_lstream): New.
7727         (sizeof_lstream): Use aligned_sizeof_lstream.
7728         (Lstream_new): Likewise.
7729         * opaque.c (aligned_sizeof_opaque): New.
7730         (sizeof_opaque): Use aligned_sizeof_opaque.
7731         (make_opaque): Likewise.
7732         * specifier.c (aligned_sizeof_specifier): New.
7733         (sizeof_specifier): Use aligned_sizeof_specifier.
7734         (make_specifier_internal): Likewise.
7735
7736 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7737
7738         * lstream.h (struct lstream): Use max_align_t for trailing data.
7739         * specifier.h (struct Lisp_Specifier): Likewise.
7740
7741 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7742
7743         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7744         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7745         (CCL_SUSPEND): Likewise.
7746         (CCL_INVALID_CMD): Likewise.
7747         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7748         (ccl_driver): Likewise.
7749         (CCL_WRITE_CHAR): Macro hygiene.
7750         (CCL_WRITE_STRING): Macro hygiene.
7751
7752 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7753
7754         Port "portable" dumper to SunOS 4 and HP-UX.
7755         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7756         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7757         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7758
7759 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7760
7761         * lisp.h (ALIGNOF): A better definition for C++.
7762
7763 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7764
7765         Macro hygiene.
7766         Fix printf warnings: int format, long int arg.
7767         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7768         (PUSH_FAILURE_POINT): Use correct printf formats.
7769         (POP_FAILURE_POINT): Use correct printf formats.  
7770         Use do {...} while (0)
7771
7772 2001-01-20  Martin Buchholz <martin@xemacs.org>
7773
7774         * XEmacs 21.2.42 "Poseidon" is released.
7775
7776 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7777
7778         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7779
7780 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7781
7782         De-kludgify FIXED_TYPE free list frobbing.
7783         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7784         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7785         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7786         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7787         * alloc.c (LRECORD_FREE_P): New.
7788         * alloc.c (MARK_LRECORD_AS_FREE): New.
7789         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7790         * alloc.c (STRUCT_FREE_P): Deleted.
7791         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7792         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7793         * alloc.c (STRING_CHARS_FREE_P): New.
7794         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7795         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7796         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7797         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7798         * alloc.c (resize_string): Use new definitions.
7799         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7800         * alloc.c (verify_string_chars_integrity): Use new definitions.
7801         * alloc.c (compact_string_chars): Use new definitions.
7802         * alloc.c: Update monster comments.
7803         * lrecord.h (lrecord_type): Add some new lrecord types for
7804         alloc.c's use.
7805
7806 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7807
7808         Improve alignment hackery.
7809         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7810         (max_align_t): Moved from opaque.h - general purpose.
7811         (ALIGN_PTR): Use size_t, not long.
7812         * opaque.h (max_align_t): Move to lisp.h.
7813
7814 2001-01-18  Norbert Koch  <nk@LF.net>
7815
7816         * gui.h: Fix and add prototypes to fix build problems.
7817
7818 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7819
7820         temacs is going away, so `dump-temacs' is now a bad name.
7821         * .dbxrc (dump-temacs): Rename to `dmp'.
7822         * .gdbinit (dump-temacs): Rename to `dmp'.
7823
7824 2001-01-17  Andy Piper  <andy@xemacs.org>
7825
7826         * glyphs.c (print_image_instance): comment to make martin happy.
7827
7828         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7829         change.
7830
7831         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7832         activation.
7833         (mswindows_tab_control_redisplay): warning suppression.
7834
7835         * glyphs-widget.c (widget_update): re-write to cope with updated
7836         items.
7837         (widget_instantiate): use new gui_item functions.
7838         (tab_control_update): deleted.
7839         (progress_gauge_update): deleted.
7840         (image_instantiator_progress_guage): take out update reference.
7841         (image_instantiator_tree_view): ditto.
7842         (image_instantiator_tab_control): ditto.
7843
7844         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7845         Right the new way.
7846         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7847         return whether anything was changed.
7848         (update_gui_item_keywords): as it sounds.
7849
7850         * gui.h: declare widget_gui_parse_item_keywords.
7851
7852         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7853         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7854
7855 2001-01-17  Martin Buchholz <martin@xemacs.org>
7856
7857         * XEmacs 21.2.41 "Polyhymnia" is released.
7858
7859 2001-01-16  Didier Verna  <didier@xemacs.org>
7860
7861         * glyphs.c (image_instantiate): don't use fallbacks when
7862         instantiating a face's background pixmap by inheritance.
7863
7864 2001-01-14  Mike Sperber <mike@xemacs.org>
7865
7866         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7867         Conditionalize accordingly.
7868
7869 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7870
7871         * dumper.c (pdump_file_get): Fix a compiler warning.
7872
7873 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7874
7875         Make Purify happy when pdumping.
7876         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7877         iniitalizing all bits of new lisp object memory.
7878         * symbols.c (Fmake_local_variable): Likewise.
7879         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7880         * symbols.c (Fdefvaralias): Likewise.
7881         * mule-charset.c (vars_of_mule_charset): Likewise.
7882
7883 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7884         Add the `-nd' flag when running pre-dump operations under the debugger.
7885         * .dbxrc (run-temacs): Add `-nd'.
7886         * .dbxrc (update-elc): Likewise.
7887         * .dbxrc (dump-temacs): Likewise.
7888         * .gdbinit (run-temacs): Likewise.
7889         * .gdbinit (check-temacs): Likewise.
7890         * .gdbinit (update-elc): Likewise.
7891         * .gdbinit (dump-temacs): Likewise.
7892
7893 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7894
7895         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7896         export OBJECT_MODE=64
7897         configure --pdump --use-union-type=no
7898         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7899         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7900
7901         * miscplay.c (sndcnv8U_2mono):
7902         Avoid two uses of `++' in the same expression.
7903         Suppresses a GCC warning.
7904
7905 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7906
7907         Make sure future compilers don't miscompile alloc.c.
7908         * alloc.c:
7909         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7910         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7911
7912 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7913
7914         * dumper.c: A little post-pdump-rename comment fixup.
7915
7916 2001-01-09  Jerry James  <james@eecs.ku.edu>
7917
7918         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7919
7920 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7921
7922         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7923         script:
7924         #!/bin/sh
7925         replace_symbol () {
7926           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7927         }
7928
7929         replace_symbol pdump_wire_lists pdump_weak_object_chains
7930         replace_symbol pdump_wire_list dump_add_weak_object_chain
7931
7932         replace_symbol pdump_wires pdump_root_objects
7933         replace_symbol pdump_wire dump_add_root_object
7934
7935         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7936         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7937
7938         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7939         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7940         replace_symbol dumpstructinfo pdump_root_struct_ptr
7941         replace_symbol dumpstruct dump_add_root_struct_ptr
7942
7943         replace_symbol dumpopaque dump_add_opaque
7944         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7945         replace_symbol dumpopaqueinfos pdump_opaques
7946         replace_symbol dumpopaqueinfo pdump_opaque
7947
7948         replace_symbol nb_structdump nb_root_struct_ptrs
7949         replace_symbol nb_opaquedump nb_opaques
7950
7951         replace_symbol align_table pdump_align_table
7952         replace_symbol dump_header pdump_header
7953
7954         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7955         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7956
7957
7958 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7959
7960         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7961         optimizing bytecount_to_charcount().
7962
7963 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7964
7965         * config.h.in:
7966         (HAVE_DLFCN_H): Removed.
7967         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7968
7969 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7970
7971         Portable dumper maintainability improvements.
7972         * alloc.c (staticpro):
7973         * alloc.c (staticpro_nodump):
7974         * alloc.c (garbage_collect_1):
7975         * alloc.c (reinit_alloc_once_early):
7976         * alloc.c (init_alloc_once_early):
7977         * alloc.c: Move dumper functions to alloc.c.
7978         * dumper.c (pdump_backtrace):
7979         * dumper.c (pdump_dump_structs):
7980         * dumper.c (pdump_dump_opaques):
7981         * dumper.c (pdump_dump_rtables):
7982         * dumper.c (pdump_dump_wired):
7983         * dumper.c (pdump):
7984         * dumper.c (pdump_load_check):
7985         * dumper.c (pdump_load_finish):
7986         * dumper.c (pdump_file_unmap):
7987         * dumper.c (pdump_file_get):
7988         * dumper.c (pdump_resource_free):
7989         * dumper.c (pdump_resource_get):
7990         * dumper.c (pdump_file_free):
7991         * dumper.c (pdump_file_try):
7992         * dumper.c (pdump_load):
7993         Remove fixed size limits on staticpro(), staticpro_nodump(),
7994         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7995         Remove custom code for dumping lrecord_implementations_table - use
7996         dumpopaque instead.
7997         Remove (most of the) custom code for dumping staticpros - dump it
7998         like any other dynarr.
7999
8000         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
8001         * dumper.c: Moved functions from alloc.c.
8002         * alloc.c (dumpstruct): Moved to dumper.c.
8003         * alloc.c (dumpopaque): Likewise.
8004         * alloc.c (pdump_wire): Likewise.
8005         * alloc.c (pdump_wire_list): Likewise.
8006
8007         * lisp.h (Dynarr_sizeof): New.
8008         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
8009         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
8010         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
8011
8012         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
8013         * lisp.h (dumpopaque): ditto.
8014         * lisp.h (pdump_wire): ditto.
8015         * lisp.h (pdump_wire_list): ditto.
8016
8017 2001-01-09  Martin Buchholz  <martin@xemacs.org>
8018
8019         * make-src-depend (PrintPatternDeps):
8020         Use `sort' to make output independent of perl version.
8021
8022 2001-01-08  Martin Buchholz  <martin@xemacs.org>
8023
8024         Port to Netbsd 1.5.
8025         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
8026         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
8027
8028 2001-01-03  Didier Verna  <didier@xemacs.org>
8029
8030         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
8031         that `focus_frame' is alive before thinking of calling
8032         `redisplay_redraw_cursor' on it.
8033
8034 2001-01-08  Martin Buchholz <martin@xemacs.org>
8035
8036         * XEmacs 21.2.40 is released.
8037
8038 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8039
8040         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
8041
8042 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8043
8044         * alloc.c (dbg_valmask): Make const.
8045         * alloc.c (dbg_typemask): Make const.
8046         * alloc.c (dbg_USE_UNION_TYPE): Make const.
8047         * alloc.c (dbg_valbits): Make const.
8048         * alloc.c (dbg_gctypebits): Make const.
8049
8050 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
8051
8052         * redisplay-x.c (x_bevel_area):
8053         redisplay.h (struct rune):
8054         Typo fixes in comments.
8055
8056 2001-01-05  Andy Piper  <andy@xemacs.org>
8057
8058         * glyphs-x.c (x_redisplay_widget): use size changed for offset
8059         adjustment.
8060
8061         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
8062
8063 2001-01-05  Martin Buchholz  <martin@xemacs.org>
8064
8065         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
8066
8067         * mule-ccl.c (stack_idx_of_map_multiple):
8068         Non const global data must not be initialized!
8069         Found by MIYASHITA Hisashi.
8070
8071 2001-01-02  Andy Piper  <andy@xemacs.org>
8072
8073         * frame.c (change_frame_size): make sure frame size is always
8074         marked as changed.
8075
8076         * glyphs.c (image_instance_layout): minor code reuse.
8077
8078         * window.c (Fcurrent_window_configuration): revert previous
8079         change.
8080
8081 2001-01-02  Martin Buchholz  <martin@xemacs.org>
8082
8083         * glyphs.h:
8084         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
8085
8086 2000-12-31  Andy Piper  <andy@xemacs.org>
8087
8088         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
8089         when widget gets unmapped.
8090
8091         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
8092         function. Make sure widgets losing focus don't just drop it.
8093         (handle_focus_event_1): record the widget with focus.
8094
8095 2000-12-31  Andy Piper  <andy@xemacs.org>
8096
8097         * window.c (allocate_window): use
8098         make_image_instance_cache_hash_table.
8099         (make_dummy_parent): ditto.
8100         (Fset_window_configuration): ditto.
8101
8102         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
8103
8104         * glyphs.c (process_image_string_instantiator): use
8105         INSTANTIATOR_TYPE.
8106         (get_image_instantiator_governing_domain): ditto.
8107         (normalize_image_instantiator): ditto.
8108         (instantiate_image_instantiator): ditto.
8109         (make_image_instance_1): ditto.
8110         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8111         (instantiator_eq_equal): new function for use with instance hash
8112         tables.
8113         (instantiator_eq_hash): ditto.
8114         (make_image_instance_cache_hash_table): create a suitable hash
8115         table for storing image instances.
8116
8117         * elhash.h (hash_table_weakness): new internal weakness type
8118         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8119         declare new functions.
8120
8121         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8122         another weakness type for glyphs.
8123         (make_standard_lisp_hash_table): new function split out from
8124         make_general_lisp_hash_table.
8125         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8126         (hash_table_instantiate): ditto.
8127         (Fmake_hash_table): ditto.
8128
8129 2000-12-31  Martin Buchholz <martin@xemacs.org>
8130
8131         * XEmacs 21.2.39 is released.
8132
8133 2000-12-29  Andy Piper  <andy@xemacs.org>
8134
8135         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8136
8137         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8138         the frame has changed so that we pick up geometry changes such as
8139         menubar visibility.
8140
8141 2000-12-28  Andy Piper  <andy@xemacs.org>
8142
8143         * lastfile.c (my_ebss): make a char array so we can pad the
8144         bss. Fixes cygwin unexec.
8145
8146         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8147
8148 2000-12-26  Andy Piper  <andy@xemacs.org>
8149
8150         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8151         comments and try and be more precise about a non-/SIGIO world.
8152         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8153         SIGIO.
8154
8155         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8156         we don't normalize to zero width or height.
8157
8158 2000-12-24  Andy Piper  <andy@xemacs.org>
8159
8160         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8161
8162 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8163
8164         * s/sco5.h: SCO 5 has pty support.
8165
8166 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8167
8168         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8169         input-method-xlib.c contains whole contents of input-method-xfs.c,
8170         so we can use input-method-xlib.c's code for USE_XFONTSET
8171         using #ifdefs.
8172         * input-method-xfs.c: removed.
8173
8174 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8175
8176         * file-coding.h (enum coding_category_type): reorder enumerators to
8177         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8178         (now one greater than largest real coding_category_type enumerator).
8179         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8180         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8181         Fcoding_category_list, Fset_coding_priority_list,
8182         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8183         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8184
8185 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8186
8187         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8188         * redisplay-output.c (redisplay_output_window): Clear top of window
8189         when face is changed.
8190         * redisplay-x.c (x_redraw_exposed_window): Call
8191         redisplay_clear_top_of_window.
8192         * redisplay.h: Publish redisplay_clear_top_of_window.
8193
8194 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8195
8196         * buffer.c (Fkill_buffer): Map over all devices.
8197         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8198         (list_windows): New function.
8199         (list_all_windows): Ditto.
8200         (Freplace_buffer_in_windows): Use them.
8201
8202 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8203
8204         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8205         (Fopen_database): Use `db_create' instead of `db_open'.
8206         (syms_of_database): Initialize Qqueue.
8207
8208 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8209
8210         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8211         buffer_local_face_property.
8212         * buffer.h (struct buffer): New member buffer_local_face_property.
8213         * window.c (Fset_window_buffer):  Mark window's face as changed
8214         when buffer has buffer local face.
8215         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8216         * objects.c (color_after_change): Set buffer_local_face_property
8217         when locale of face specifier is buffer.
8218         * objects.c (font_after_change): Ditto.
8219         * objects.c (face_boolean_after_change): Ditto.
8220         * glyphs.c (image_after_change): Ditto.
8221
8222 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8223
8224         * nt.c (mswindows_fstat): Report file permissions, volume serial
8225         number, etc. Code adapted from FSF Emacs 20.7.
8226
8227 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8228
8229         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8230         of stat when we don't have symbolic links, to make sure
8231         mswindows_stat is called on mswindows.
8232
8233 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8234
8235         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8236
8237 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8238
8239         * doprnt.c (emacs_doprnt_1): More printing fixes.
8240         Make printing of numbers compatible with libc and FSF Emacs.
8241         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8242         Use the system printf to do most of the hard work of formatting,
8243         instead of doprnt_1().
8244         Calculate memory to allocate for format string.
8245         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8246         (doprnt_1): Cleaner code and documentation.
8247
8248 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8249
8250         * Makefile.in.in: Use the loop variable to install headers.
8251
8252 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8253
8254         * window.c (Fsplit_window): Don't invalidate face cache.
8255
8256 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8257
8258         * minibuf.c (Fall_completions): Undo the previous change
8259         which removed checking elements start with space.
8260
8261 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8262
8263         * mule-canna.c: Didier suppression.
8264
8265 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8266
8267         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8268         (warning suppression).  Add English comment translations.
8269
8270 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8271
8272         * unexelfsgi.c (unexec): Better test for mmap failure.
8273
8274 2000-12-05  Martin Buchholz <martin@xemacs.org>
8275
8276         * XEmacs 21.2.38 is released.
8277
8278 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8279
8280         * redisplay.c (bar-cursor): Make a user variable.
8281
8282         * symsinit.h: Add init_postgresql_from_environment.
8283
8284 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8285
8286         * regex.c: Convert to clean C.
8287
8288 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8289
8290         * realpath.c:
8291         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8292         initialization.
8293         (sys_readlink): renamed to system_readlink to avoid conflict with
8294         the other sys_readlink.
8295
8296 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8297
8298         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8299
8300 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8301
8302         * postgresql.c (init_postgresql_from_environment): new function.
8303         (vars_of_postgresql): Move code initializing Lisp variables out and
8304         into init_postgresql_from_environment.
8305         emacs.c (main_1): Call init_postgresql_from_environment if and only
8306         if running a dumped XEmacs.
8307
8308 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8309
8310         * buffer.c: Make find-file-compare-truenames default to true on
8311         windows.
8312
8313         * realpath.c (win32_abs_start):
8314         (cygwin_readlink):
8315         (win32_readlink): New functions.
8316         (xrealpath): Return really real filenames on windows.
8317
8318         * fileio.c (Ffile_truename): Make file-truename work on windows.
8319
8320 2000-11-29  Didier Verna  <didier@xemacs.org>
8321
8322         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8323         * faces.c (update_face_cachel_data): use it.
8324         * faces.c (add_face_cachel): use it. Complete background pixmap
8325         frobbing in face cache if `update_face_cachel_data' has not done so.
8326
8327 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8328
8329         * search.c (string_match_1): Don't set last_thing_searched
8330         when search failed.
8331
8332 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8333
8334         * buffer.c: Include casetab.h
8335         (common_init_complex_vars_of_buffer): Use new case-table object.
8336         * buffer.h: Include casetab.h
8337         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8338         (DOWNCASE_TABLE_OF): Ditto.
8339         * bufslots.h: Remove char-tables and add case-table.
8340         * casetab.c: Include casetab.h
8341         (CASE_TABLE_P): Removed.
8342         (mark_case_table): New function.
8343         (allocate_case_table): New function.
8344         (Fcase_table_p): Use new case-table.
8345         (case_table_char): New function.
8346         (Fget_case_table): Ditto.
8347         (Fput_case_table): Ditto.
8348         (Fput_case_table_pair): Ditto.
8349         (Fcopy_case_table): Ditto.
8350         (Fcurrent_case_table): Return case-table.
8351         (Fstandard_case_table): Return case-table.
8352         (Fset_case_table): Fix doc-string.
8353         (set_case_table): Use case-table
8354         (syms_of_casetab): DEFSUBR new functions.
8355         (complex_vars_of_casetab): Set up standard case-table.
8356         * casetab.h: New file.
8357         * editfns.c: Include casetab.h
8358         (Fcompare_buffer_substrings): Use case-table.
8359         * inline.c: Include casetab.h
8360         * lisp.h: Remove bogus extern.
8361         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8362         * search.c: Include casetab.h
8363         (TRANSLATE_ASCII): Removed.
8364         (TRANSLATE): Unconditionally translate character.
8365         (looking_at_1): Use case-table.
8366         (string_match_1): Ditto.
8367         (fast_string_match): Ditto.
8368         (search_command): Ditto.
8369         (search_buffer): Separate boyer_moore.  Check whether
8370         boyer_moore is possible.
8371         (simple_search): New function.
8372         (boyer_moore): Separated from search_buffer. Translate char.
8373
8374 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8375
8376         * regex.c (RE_TR_ASCII): Removed.
8377         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8378         (PATFETCH): Call PATFETCH_RAW.
8379         (PATFETCH_RAW): Fetch Emchar.
8380         (PATUNFETCH): Decrement charptr.
8381         (GET_BUFFER_SPACE): Rename b to buf_end.
8382         (BUF_PUSH): Ditto.
8383         (BUF_PUSH_2): Ditto.
8384         (BUF_PUSH_3): Ditto.
8385         (EXTEND_BUFFER): Ditto.
8386         (SET_LIST_BIT): Ditto.
8387         (regex_compile): Ditto.  Translate non ASCII char.
8388         (compile_range): Ditto.
8389         (re_search_2): Ditto.
8390         (re_match_2_internal): Compare Emchar.
8391         (bcmp_translate): Ditto.
8392
8393 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8394
8395         * lisp.h (basic char/int typedefs):  comment improvement.
8396
8397 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8398
8399         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8400         unstomp inhibit_site_lisp.  Improve comments.
8401
8402 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8403
8404         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8405
8406 2000-11-28  Andy Piper  <andy@xemacs.org>
8407
8408         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8409         clipped display for windows in the gutter also.
8410         (redisplay_display_boxes_in_window_p): change semantics of return
8411         codes to be more intuitive.
8412
8413         * gutter.h: declare display_boxes_in_gutter_p.
8414
8415         * gutter.c (display_boxes_in_gutter_p): new function for
8416         redisplay.
8417
8418 2000-11-22  Andy Piper  <andy@xemacs.org>
8419
8420         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8421         autodetect domain.
8422
8423 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8424
8425         * callproc.c (Fold_call_process_internal):
8426         * gpm.c (Freceive_gpm_event):
8427         (tty_get_foreign_selection): Might be just warning supression.
8428         * fileio.c (Fwrite_region_internal):
8429         (Fset_visited_file_modtime):
8430         * keymap.c (event_matches_key_specifier_p):
8431         Initialize GCPROed variable.
8432
8433         * menubar-x.c (command_builder_find_menu_accelerator):
8434         Initialize before use.
8435
8436 2000-11-23  Andy Piper  <andy@xemacs.org>
8437
8438         * unexcw.c (unexec): make the resulting executable executable.
8439
8440 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8441
8442         * doc.c (get_doc_string):
8443         Use size_t, not int, for result of XSTRING_LENGTH.
8444
8445         * cmds.c (Fdelete_char):
8446         * cmds.c (Fpoint_at_eol):
8447         * cmds.c (Fself_insert_command):
8448         Use EMACS_INT, not int, for result of XINT.
8449         Someday, someone will want to insert more than 2**31 identical characters.
8450
8451         * cmds.c (Fdelete_char):
8452         * cmds.c (Fdelete_backward_char):
8453         * syntax.c (Fforward_word):
8454         * syntax.c (Fforward_comment):
8455         Make COUNT argument optional, for consistency with forward-char et al.
8456
8457 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8458
8459         * lisp.h:
8460         * print.c (long_to_string):
8461         Return a useful value: the pointer at end of data written.
8462
8463         * doprnt.c:
8464         Use `static const char * const' for constant strings.
8465         (union printf_arg): Delete `i', `ui' members.
8466         (get_doprnt_args):
8467         (emacs_doprnt_1):
8468         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8469         Do all printf-ing via the `l' specifier.
8470         Use EMACS_INT instead of int.
8471         Optimize.
8472
8473 2000-11-20  Didier Verna  <didier@xemacs.org>
8474
8475         * faces.c (update_face_cachel_data): don't frob the background
8476         pixmap when the window is being created. The face is needed but
8477         does not exist yet.
8478
8479 2000-11-20  Andy Piper  <andy@xemacs.org>
8480
8481         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8482         messing with a debug environment.
8483
8484 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8485
8486         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8487
8488 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8489
8490         * casetab.c (Fcase_table_p): Fix compile error and crash.
8491
8492 2000-11-18  Philip Aston  <philipa@mail.com>
8493
8494         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8495
8496 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8497
8498         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8499         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8500
8501 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8502
8503         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8504         * unexelf.c: Use HAVE_ELF_H.
8505         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8506         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8507         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8508         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8509         for testing.
8510         So this is an unexelfsgi.c from a different line of development.
8511
8512 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8513
8514         * regex.c (RE_TR_ASCII): New function.
8515         (RE_TRANSLATE): Call it.
8516
8517 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8518
8519         * buffer.h (TRT_TABLE_OF): Remove assert.
8520         (IN_TRT_TABLE_DOMAIN): Removed.
8521
8522 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8523
8524         * free-hook.c (log_gcpro):
8525         (show_gcprohist): Add support for GCPRO5.
8526
8527 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8528
8529         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8530
8531 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8532
8533         * symeval.h: Declare flush_all_buffer_local_cache.
8534
8535         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8536         (flush_buffer_local_cache): Added.
8537         (flush_all_buffer_local_cache): Added.
8538
8539         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8540
8541         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8542         (pdump_dump_data): Ditto.
8543         (pdump_reloc_one): Ditto.
8544         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8545         before dumping.
8546
8547
8548 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8549
8550         * buffer.c: Remove if 0'ed entry.
8551         * buffer.h: Rewrite TRT to use char-table.
8552         * bufslots.h: Remove mirror tables.
8553         * casetab.c: Remove mirror tables.
8554         (CASE_TABLE_P): New macro.
8555         (Fcase_table_p): Element of a case table is string or char-table.
8556         (make_mirror_trt_table): Removed.
8557         (set_case_table): Setup char-table from strings for backward
8558         compatibility.
8559         * dired.c (Fdirectory_files):
8560         * dired-msw.c: (mswindows_get_files):
8561         * lisp.h: Change prototype of re_pattern_buffer.
8562         * regex.c: (RE_TRANSLATE): New macro.
8563         (TRANSLATE_P): Ditto.
8564         Change translate to type RE_TRANSLATE_TYPE.
8565         * regex.h: Define RE_TRANSLATE_TYPE
8566         * search.c (TRANSLATE): New macro.
8567         (TRANSLATE_ASCII): New macro.
8568         Translate table is changed to Lisp_Object.
8569         (signal_failure): Inhibit return.
8570
8571 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8572
8573         * device-msw.c:
8574         * eldap.c:
8575         * event-Xt.c:
8576         * event-stream.c:
8577         * print.c:
8578         Do UNGCPRO before return.
8579
8580 2000-11-14  Martin Buchholz <martin@xemacs.org>
8581
8582         * XEmacs 21.2.37 is released.
8583
8584 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8585
8586         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8587         Add comments about discarded return value.
8588
8589 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8590
8591         * callint.c:
8592         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8593
8594 2000-10-27  Andy Piper  <andy@xemacs.org>
8595
8596         * gutter.c (Fset_default_gutter_position): default left and right
8597         gutters to visible.
8598         (calculate_gutter_size): calculate resonable heuristic for left
8599         and right gutter sizes.
8600         (specifier_vars_of_gutter): change left and right gutter sizes to
8601         autodetect.
8602         (calculate_gutter_size_from_display_lines): new function.
8603         (output_gutter): check for resizing on left and right gutters.
8604         (clear_gutter): don't special case top and left gutters.
8605         (specifier_vars_of_gutter): use new signature for
8606         set_specifier_caching.
8607
8608         * glyphs-x.c (x_redisplay_widget): spelling fix.
8609         * glyphs.c (specifier_vars_of_glyphs):
8610         * menubar.c (specifier_vars_of_menubar):
8611         * redisplay.c (specifier_vars_of_redisplay):
8612         * toolbar.c (specifier_vars_of_toolbar):
8613         * window.c (specifier_vars_of_window):
8614         * scrollbar.c (specifier_vars_of_scrollbar):
8615         (complex_vars_of_scrollbar): use new signature for
8616         set_specifier_caching.
8617
8618         * specifier.c (set_specifier_caching): include recompute flag.
8619         (recompute_one_cached_specifier_in_window): always recompute if
8620         flag set.
8621         (recompute_one_cached_specifier_in_frame): ditto.
8622
8623         * specifier.h (struct specifier_caching): add recompute flag.
8624
8625 2000-10-24  Andy Piper  <andy@xemacs.org>
8626
8627         * unexcw.c (copy_executable_and_dump_data_section): add new
8628         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8629         5.0 happy.
8630
8631 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8632
8633         * console-x.h (x_device): New member modifier_release_time.
8634         * event-Xt.c (x_handle_sticky_modifiers):
8635         Bound interval modifier keys are sticky.
8636         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8637         * events.h: extern it.
8638
8639 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8640
8641         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8642
8643 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8644
8645         * event-stream.c (execute_command_event): Preserve current_events
8646         and the like when event is misc-user-event.
8647         Inhibit quit during the call to maybe_echo_keys.
8648
8649 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8650
8651         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8652         symlink when buffer is killed.
8653         (inhibit_clash_detection): New variable.
8654
8655 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8656
8657         * console.c (Fset_input_method): Trigger redisplay on tty.
8658
8659 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8660
8661         * process.c (Fprocess_status): Revert to previous behavior:
8662         (process-status "nosuchprocess") ==> nil
8663
8664 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8665
8666         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8667         Work around another GCC 2.95.2 optimizer bug.
8668
8669 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8670
8671         * process.c (Fget_process): Use LIST_LOOP_2.
8672         (kill_buffer_processes): Use LIST_LOOP_2.
8673
8674         * minibuf.c (Fall_completions):
8675         Delete old non-functional code for FSF fourth argument.
8676
8677         * frame.c (frame_matches_frame_spec):
8678         Renamed from `frame_matches_frametype'.  Update all callers.
8679         (device_matches_device_spec):
8680         Renamed from 'device_matches_console_spec'.  Update all callers.
8681
8682         * doc.c (Fsubstitute_command_keys):
8683         Remove buffer overflow crash.  Small code cleanups.
8684
8685         * casetab.c (check_case_table): Simpler code.
8686
8687         * window.c (Freplace_buffer_in_windows):
8688         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8689         (and similar implementation) as Fdelete_windows_on.
8690         Update all callers.
8691
8692         * alloc.c (Fmake_list):
8693         * alloc.c (make_vector):
8694         * alloc.c (Fmake_vector):
8695         * alloc.c (make_bit_vector):
8696         * alloc.c (Fmake_bit_vector):
8697         * alloc.c (Fbit_vector):
8698         * alloc.c (Fmake_string):
8699         * alloc.c (Fpurecopy):
8700         * alloc.c (Fmemory_limit):
8701         * buffer.c:
8702         * buffer.c (Fget_buffer):
8703         * buffer.c (Fkill_buffer):
8704         * buffer.c (complex_vars_of_buffer):
8705         * bytecode.c (Fcompiled_function_stack_depth):
8706         * callint.c (Fprefix_numeric_value):
8707         * event-stream.c:
8708         * event-stream.c (Fread_key_sequence):
8709         * casetab.c:
8710         * casetab.c (Fcase_table_p):
8711         * casetab.c (check_case_table):
8712         * casetab.c (Fset_case_table):
8713         * casetab.c (Fset_standard_case_table):
8714         * chartab.c:
8715         * chartab.c (Fchar_table_type):
8716         * chartab.c (Freset_char_table):
8717         * chartab.c (Fget_char_table):
8718         * chartab.c (Fget_range_char_table):
8719         * chartab.c (Fput_char_table):
8720         * chartab.c (Fmap_char_table):
8721         * chartab.c (Fcategory_table_p):
8722         * chartab.c (Fcheck_category_at):
8723         * chartab.c (Fchar_in_category_p):
8724         * chartab.c (Fcategory_table):
8725         * chartab.c (Fcopy_category_table):
8726         * chartab.c (Fset_category_table):
8727         * chartab.c (Fcategory_designator_p):
8728         * chartab.c (Fcategory_table_value_p):
8729         * cmds.c (Fdelete_char):
8730         * cmds.c (Fdelete_backward_char):
8731         * cmds.c (Fself_insert_command):
8732         * cmds.c (Fself_insert_internal):
8733         * console.c (Fvalid_console_type_p):
8734         * console.c (Fcdfw_console):
8735         * console.c (Fconsole_type):
8736         * console.c (Fconsole_name):
8737         * console.c (Fconsole_device_list):
8738         * console.c (Fconsole_on_window_system_p):
8739         * data.c:
8740         * data.c (Feq):
8741         * data.c (Fold_eq):
8742         * data.c (Fsubr_interactive):
8743         * data.c (Fchar_to_int):
8744         * data.c (Fint_to_char):
8745         * data.c (Fsetcar):
8746         * data.c (Fsetcdr):
8747         * data.c (Fnumber_to_string):
8748         * data.c (Fstring_to_number):
8749         * data.c (Frem):
8750         * database.c (mark_database):
8751         * database.c (finalize_database):
8752         * database.c (Fdatabase_live_p):
8753         * database.c (Fdatabasep):
8754         * device-x.c (Fx_get_resource):
8755         * device.c (Fdfw_device):
8756         * dired.c:
8757         * dired.c (Ffile_name_completion):
8758         * dired.c (Ffile_name_all_completions):
8759         * dired.c (Fuser_name_completion):
8760         * dired.c (Fuser_name_completion_1):
8761         * dired.c (Fuser_name_all_completions):
8762         * doc.c (Fdocumentation):
8763         * doc.c (Fdocumentation_property):
8764         * doc.c (Fsubstitute_command_keys):
8765         * editfns.c:
8766         * editfns.c (Fchar_to_string):
8767         * editfns.c (Fstring_to_char):
8768         * editfns.c (Ftemp_directory):
8769         * editfns.c (Finsert_char):
8770         * editfns.c (Fbuffer_substring_no_properties):
8771         * editfns.c (Fnarrow_to_region):
8772         * editfns.c (Fchar_equal):
8773         * editfns.c (Fchar_Equal):
8774         * editfns.c (Ftranspose_regions):
8775         * emacs.c (Fdump_emacs):
8776         * eval.c (Fthrow):
8777         * eval.c (Fcommand_execute):
8778         * eval.c (Fautoload):
8779         * eval.c (Fbacktrace):
8780         * eval.c (Fbacktrace_frame):
8781         * events.c:
8782         * events.c (Fcopy_event):
8783         * events.c (Fcharacter_to_event):
8784         * events.c (Fevent_button):
8785         * events.c (Fevent_process):
8786         * extents.c:
8787         * extents.c (Fnext_extent_change):
8788         * extents.c (Fextent_property):
8789         * faces.c (Ffacep):
8790         * faces.c (Fmake_face):
8791         * file-coding.c:
8792         * file-coding.c (Fencode_shift_jis_char):
8793         * file-coding.c (Fencode_big5_char):
8794         * fileio.c (Ffile_name_directory):
8795         * fileio.c (Ffile_name_nondirectory):
8796         * fileio.c (Ffile_name_as_directory):
8797         * fileio.c (Fdirectory_file_name):
8798         * fileio.c (Ffile_truename):
8799         * fileio.c (Fsubstitute_in_file_name):
8800         * fileio.c (Ffile_modes):
8801         * fileio.c (Fset_file_modes):
8802         * fileio.c (Fset_default_file_modes):
8803         * fileio.c (Fverify_visited_file_modtime):
8804         * floatfns.c (Facos):
8805         * floatfns.c (Fasin):
8806         * floatfns.c (Fatan):
8807         * floatfns.c (Fcos):
8808         * floatfns.c (Fsin):
8809         * floatfns.c (Ftan):
8810         * floatfns.c (Fbessel_j0):
8811         * floatfns.c (Fbessel_j1):
8812         * floatfns.c (Fbessel_jn):
8813         * floatfns.c (Fbessel_y0):
8814         * floatfns.c (Fbessel_y1):
8815         * floatfns.c (Fbessel_yn):
8816         * floatfns.c (Ferf):
8817         * floatfns.c (Ferfc):
8818         * floatfns.c (Flog_gamma):
8819         * floatfns.c (Fexp):
8820         * floatfns.c (Fexpt):
8821         * floatfns.c (Flog):
8822         * floatfns.c (Flog10):
8823         * floatfns.c (Fsqrt):
8824         * floatfns.c (Fcube_root):
8825         * floatfns.c (Facosh):
8826         * floatfns.c (Fasinh):
8827         * floatfns.c (Fatanh):
8828         * floatfns.c (Fcosh):
8829         * floatfns.c (Fsinh):
8830         * floatfns.c (Ftanh):
8831         * floatfns.c (Fabs):
8832         * floatfns.c (Ffloat):
8833         * floatfns.c (Flogb):
8834         * floatfns.c (Fceiling):
8835         * floatfns.c (Ffloor):
8836         * floatfns.c (Fround):
8837         * floatfns.c (Ftruncate):
8838         * floatfns.c (Ffceiling):
8839         * floatfns.c (Fffloor):
8840         * floatfns.c (Ffround):
8841         * floatfns.c (Fftruncate):
8842         * fns.c (Fstring_equal):
8843         * fns.c (Fstring_lessp):
8844         * fns.c (concat2):
8845         * fns.c (concat3):
8846         * fns.c (vconcat2):
8847         * fns.c (vconcat3):
8848         * fns.c (Fsubstring):
8849         * fns.c (Fassoc):
8850         * fns.c (Fold_assoc):
8851         * fns.c (assoc_no_quit):
8852         * fns.c (Fassq):
8853         * fns.c (Fold_assq):
8854         * fns.c (assq_no_quit):
8855         * fns.c (Frassoc):
8856         * fns.c (Fold_rassoc):
8857         * fns.c (Frassq):
8858         * fns.c (Fold_rassq):
8859         * fns.c (rassq_no_quit):
8860         * fns.c (Fremassoc):
8861         * fns.c (remassoc_no_quit):
8862         * fns.c (Fremassq):
8863         * fns.c (remassq_no_quit):
8864         * fns.c (Fremrassoc):
8865         * fns.c (Fremrassq):
8866         * fns.c (remrassq_no_quit):
8867         * fns.c (Fsort):
8868         * fns.c (Fplist_get):
8869         * fns.c (Fplist_put):
8870         * fns.c (Fplist_remprop):
8871         * fns.c (Fplist_member):
8872         * fns.c (Flax_plist_get):
8873         * fns.c (Flax_plist_put):
8874         * fns.c (Flax_plist_remprop):
8875         * fns.c (Flax_plist_member):
8876         * fns.c (Fequal):
8877         * fns.c (Fold_equal):
8878         * fns.c (Frequire):
8879         * fns.c (Fbase64_encode_region):
8880         * fns.c (Fbase64_encode_string):
8881         * fns.c (Fbase64_decode_region):
8882         * frame.c:
8883         * frame.c (frame_matches_frame_spec):
8884         * frame.c (device_matches_device_spec):
8885         * frame.c (next_frame):
8886         * frame.c (previous_frame):
8887         * frame.c (Fnext_frame):
8888         * frame.c (Fprevious_frame):
8889         * frame.c (Fframe_property):
8890         * frame.c (Fset_frame_height):
8891         * frame.c (Fset_frame_size):
8892         * frame.h:
8893         * glyphs.c:
8894         * glyphs.c (if):
8895         * glyphs.c (decode_error_behavior_flag):
8896         * glyphs.c (Fmake_image_instance):
8897         * indent.c (Findent_to):
8898         * intl.c (Fignore_defer_gettext):
8899         * keymap.c (Fkeymapp):
8900         * keymap.c (Flookup_key):
8901         * lread.c:
8902         * lread.c (Fload_internal):
8903         * lread.c (Feval_buffer):
8904         * lread.c (Feval_region):
8905         * macros.c (Fexecute_kbd_macro):
8906         * marker.c (set_marker_internal):
8907         * marker.c (Fset_marker):
8908         * marker.c (set_marker_restricted):
8909         * marker.c (Fcopy_marker):
8910         * marker.c (noseeum_copy_marker):
8911         * menubar.c:
8912         * menubar.c (Fpopup_menu):
8913         * minibuf.c:
8914         * mule-charset.c (Fcharset_name):
8915         * mule-charset.c (Fchar_charset):
8916         * mule-charset.c (Fchar_octet):
8917         * mule-charset.c (Fsplit_char):
8918         * mule-wnnfns.c (Fwnn_open):
8919         * mule-wnnfns.c (Fwnn_dict_comment):
8920         * mule-wnnfns.c (Fwnn_quit_henkan):
8921         * mule-wnnfns.c (Fwnn_word_toroku):
8922         * mule-wnnfns.c (Fwnn_word_sakujo):
8923         * mule-wnnfns.c (Fwnn_word_use):
8924         * mule-wnnfns.c (Fwnn_hindo_set):
8925         * objects.c:
8926         * objects.c (Fmake_color_instance):
8927         * objects.c (Fmake_font_instance):
8928         * print.c (Fwrite_char):
8929         * process.c:
8930         * process.c (mark_process):
8931         * process.c (print_process):
8932         * process.c (get_process_from_usid):
8933         * process.c (Fprocessp):
8934         * process.c (Fprocess_live_p):
8935         * process.c (Fget_process):
8936         * process.c (Fget_buffer_process):
8937         * process.c (get_process):
8938         * process.c (Fprocess_id):
8939         * process.c (Fprocess_name):
8940         * process.c (Fprocess_command):
8941         * process.c (init_process_io_handles):
8942         * process.c (start_process_unwind):
8943         * process.c (Fstart_process_internal):
8944         * process.c (Fopen_multicast_group_internal):
8945         * process.c (Fset_process_window_size):
8946         * process.c (read_process_output):
8947         * process.c (send_process):
8948         * process.c (Fprocess_tty_name):
8949         * process.c (Fset_process_buffer):
8950         * process.c (Fprocess_buffer):
8951         * process.c (Fprocess_mark):
8952         * process.c (set_process_filter):
8953         * process.c (Fset_process_filter):
8954         * process.c (Fprocess_filter):
8955         * process.c (Fprocess_send_region):
8956         * process.c (Fprocess_send_string):
8957         * process.c (exec_sentinel):
8958         * process.c (Fset_process_sentinel):
8959         * process.c (Fprocess_sentinel):
8960         * process.c (status_notify):
8961         * process.c (Fprocess_status):
8962         * process.c (Fprocess_exit_status):
8963         * process.c (process_send_signal):
8964         * process.c (Fprocess_send_eof):
8965         * process.c (deactivate_process):
8966         * process.c (remove_process):
8967         * process.c (Fdelete_process):
8968         * process.c (kill_buffer_processes):
8969         * process.c (Fprocess_kill_without_query):
8970         * process.c (Fprocess_kill_without_query_p):
8971         * rangetab.c:
8972         * rangetab.c (Fget_range_table):
8973         * rangetab.c (Fput_range_table):
8974         * rangetab.c (Fremove_range_table):
8975         * rangetab.c (Fclear_range_table):
8976         * search.c:
8977         * search.c (Fskip_chars_forward):
8978         * search.c (Fskip_chars_backward):
8979         * search.c (Fskip_syntax_forward):
8980         * search.c (Fskip_syntax_backward):
8981         * search.c (search_command):
8982         * search.c (Freplace_match):
8983         * search.c (Fregexp_quote):
8984         * select.c (Fown_selection_internal):
8985         * select.c (Fselection_owner_p):
8986         * select.c (Fselection_exists_p):
8987         * select.c (Fget_selection_internal):
8988         * specifier.c:
8989         * symbols.c:
8990         * symbols.c (Fintern):
8991         * symbols.c (Fintern_soft):
8992         * symbols.c (Funintern):
8993         * symbols.c (Fapropos_internal):
8994         * symbols.c (Fset_default):
8995         * syntax.c:
8996         * syntax.c (Fsyntax_table_p):
8997         * syntax.c (Fcopy_syntax_table):
8998         * syntax.c (Fset_syntax_table):
8999         * syntax.c (Fchar_syntax):
9000         * syntax.c (syntax_match):
9001         * syntax.c (Fmatching_paren):
9002         * syntax.c (Fforward_word):
9003         * syntax.c (scan_lists):
9004         * syntax.c (Fscan_lists):
9005         * syntax.c (Fscan_sexps):
9006         * syntax.c (Fparse_partial_sexp):
9007         * toolbar.c (Fcheck_toolbar_button_syntax):
9008         * tooltalk.doc:
9009         * window.c:
9010         * window.c (Fwindowp):
9011         * window.c (Fwindow_live_p):
9012         * window.c (Fwindow_point):
9013         * window.c (Fdelete_window):
9014         * window.c (Fnext_window):
9015         * window.c (Fprevious_window):
9016         * window.c (Fother_window):
9017         * window.c (window_loop):
9018         * window.c (Fget_lru_window):
9019         * window.c (Fsplit_window):
9020         * window.c (Fenlarge_window):
9021         * window.c (Fenlarge_window_pixels):
9022         * window.c (Fshrink_window):
9023         * window.c (Fshrink_window_pixels):
9024         * window.c (change_window_height):
9025         * window.c (Fwindow_configuration_p):
9026         * window.c (Fcurrent_window_configuration):
9027         * window.h:
9028         * casefiddle.c (casify_object):
9029         * casefiddle.c (Fupcase):
9030         * casefiddle.c (Fdowncase):
9031         * casefiddle.c (Fcapitalize):
9032         * casefiddle.c (Fupcase_initials):
9033         * casefiddle.c (casify_region_internal):
9034         * casefiddle.c (casify_region):
9035         * casefiddle.c (Fupcase_region):
9036         * casefiddle.c (Fdowncase_region):
9037         * casefiddle.c (Fcapitalize_region):
9038         * casefiddle.c (Fupcase_initials_region):
9039         * casefiddle.c (Fupcase_word):
9040         * casefiddle.c (Fdowncase_word):
9041         * casefiddle.c (Fcapitalize_word):
9042         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
9043         Replace 0 with '\0' when working with bytes.
9044         Replace initial "(" with "\(" in docstrings.
9045
9046 2000-11-01  Martin Buchholz  <martin@xemacs.org>
9047
9048         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
9049
9050         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
9051
9052 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9053
9054         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
9055
9056 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9057
9058         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
9059         correctly.
9060
9061 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9062
9063         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
9064         (inhibit_auto_save_session): New variable.
9065         (vars_of_fileio): Declare and initialize them.
9066         * fileio.c (Fdo_auto_save): Don't create session file if
9067         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
9068
9069 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9070
9071         * sgiplay.c (play_internal): C++ compilability.
9072         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
9073         * callproc.c (Fold_call_process_internal):
9074         Remove unused vars `env', `first'.
9075         * scrollbar.c (update_scrollbar_instance):
9076         #### unused var `current_window'.
9077         * redisplay-tty.c: Put currently unused vars insert_mode_on,
9078         etc. within #ifdef NOT_YET.
9079         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
9080         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
9081         * specifier.c (specifier_instance):
9082         #### unused var `tag'.
9083         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
9084
9085 2000-10-27  Martin Buchholz  <martin@xemacs.org>
9086
9087         * fns.c (Fbutlast):
9088         * fns.c (list_sort):
9089         * fns.c (Ffillarray):
9090         * fns.c (bytecode_nconc2):
9091         * fns.c (Fnconc):
9092         * fns.c (mapcar1):
9093         * fns.c (Fmapconcat):
9094         Be pedantically 64-bit correct.  For the time when someone will
9095         want to have a list with length > 2**32.
9096
9097         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9098         Work around MIPSpro compiler bug.
9099
9100         * process-unix.c (unix_kill_child_process): Add snarky comment.
9101         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
9102
9103         * config.h.in: Oops, _getpt ==> _getpty
9104
9105 2000-10-26  Martin Buchholz  <martin@xemacs.org>
9106
9107         * config.h.in:
9108         * regex.c:
9109         Use void*, not char*, as return type of alloca().
9110
9111         * alloc.c (free_marker): Side effect inside assert expression!
9112
9113 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9114
9115         * mule-charset.c (Fset_charset_ccl_program): To check
9116         if the given ccl program is valid, use setup_ccl_program()
9117         instead of CHECK_VECTOR().
9118         (Fmake_charset): Likewise.
9119
9120 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9121
9122         * faces.c (get_extent_fragment_face_cache_index):
9123         Fix cachel.merged_faces memory leak.
9124
9125 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9126
9127         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9128         Reset MSB of octets obtained by DECODE_SJIS
9129         because of the incompatibility with Emacs.
9130         (ccl_driver)<CCL_ENCODE_SJIS>:
9131         Set MSB of octets before passing them to
9132         ENCODE_SJIS because of the incompatibility
9133         with Emacs.
9134
9135 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9136
9137         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9138         (DECLARE_LRECORD): Undo the last change.
9139         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9140
9141 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9142
9143         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9144         the implementation to lrecord_implementations_table.
9145
9146 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9147
9148         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9149         initial value of `lrecord_type_##c_name' and
9150         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9151         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9152         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9153         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9154         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9155
9156 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9157
9158         * miscplay.c (sndcnv8S_2mono):
9159         (sndcnv2monounsigned):
9160         (sndcnvULaw_2linear):
9161         (sndcnv16swap):
9162         Remove implementation-defined behavior.
9163
9164 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9165
9166         * input-method-xlib.c: Warning suppression.
9167
9168 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9169
9170         * mule-ccl.c: Sync up with Emacs 21.0.90.
9171         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9172         Do nothing.
9173         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9174         Likewise.
9175         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9176         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9177         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9178         leading char belongs to official 2-dimensional charset.
9179         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9180         write the given character as is.  Otherwise,
9181         if it is a multibyte char, convert it by
9182         non_ascii_set_charptr_emchar, then write it.
9183         (CCL_WRITE_STRING): Likewise.
9184         (ccl_get_compiled_code): New function.
9185         (setup_ccl_program): When ccl_prog is invalid,
9186         return -1.
9187         (Fregister_code_conversion_map): New function.
9188         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9189
9190         * mule-ccl.h: Sync up with Emacs 21.0.90.
9191         (Fregister_ccl_program): export it.
9192
9193         * redisplay-msw.c (separate_textual_runs):
9194         If ccl program is not valid, don't do ccl conversion.
9195
9196         * redisplay-x.c (separate_textual_runs): Ditto.
9197
9198         * file-coding.c (Fmake_coding_system):
9199         When type is ccl and value is vector, register it
9200         with a proper symbol.  And checks whether the
9201         given ccl program is valid.
9202         (mule_decode): When calling ccl_driver, if src indicates
9203         NULL pointer, set an empty string instead.
9204         (mule_encode): Likewise.
9205
9206 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9207
9208         The following large batch of changes gets us back to a state of
9209         C++ compilability.  Extbyte is now a char, which means that
9210         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9211
9212         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9213
9214         * sound.c (Fplay_sound): Type correctness.
9215
9216         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9217         (x_get_window_property): Type correctness.
9218         (receive_incremental_selection): unsigned char ==> Extbyte
9219         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9220         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9221         (Fx_store_cutbuffer_internal): Type correctness.
9222
9223         * process-unix.c (try_to_initialize_subtty): Type correctness.
9224
9225         * objects-x.c (x_print_color_instance): Type correctness.
9226         (x_print_font_instance): Type correctness.
9227         (x_list_fonts): SExtbyte ==> Extbyte.
9228         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9229         (x_find_charset_font): SExtbyte ==> Extbyte.
9230         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9231         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9232         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9233         Use bufbyte_strcmp.
9234
9235         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9236         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9237         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9238         (BYTE_C0_P): Use bit ops for char-signedness safety.
9239         (BYTE_C1_P): Use bit ops for char-signedness safety.
9240         (CHARSET_BY_LEADING_BYTE):
9241         (CHARSET_BY_ATTRIBUTES):
9242         Always use inline function.
9243         Use type_checking_assert.
9244         Hide chlook.
9245
9246         * mule-charset.c (non_ascii_charptr_copy_char):
9247         Modify to work with both ASCII and non-ASCII characters.
9248         Improve docs and variable names.
9249         Replace over-clever fall-through switch with a simple loop.
9250         (Lstream_get_emchar_1):
9251         Replace over-clever fall-through switch with a simple loop.
9252
9253         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9254         Warning suppression.
9255
9256         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9257         the return value of Lstream_getc, which could be EOF as well.
9258
9259         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9260
9261         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9262         APIs can be used on Extbytes without casts.  Risky!
9263         (SExtbyte): Remove.
9264         (UExtbyte): Remove.
9265
9266         * input-method-xlib.c (XIM_init_device):
9267         Use Xlib.h instead of IntrinsicP.h.
9268         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9269         which will break in X11R7.
9270         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9271         to call XRegisterIMInstantiateCallback with correct types.
9272
9273         * gui-x.c (button_item_to_widget_value): Type correctness.
9274
9275         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9276
9277         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9278         (xbm_instantiate_1): Type correctness.
9279         (BUILD_GLYPH_INST):  Type correctness.
9280
9281         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9282
9283         * file-coding.c:
9284         (decode_coding_sjis):
9285         (decode_coding_big5):
9286         (decode_coding_ucs4):
9287         (decode_coding_utf8):
9288         (decode_coding_iso2022):
9289         (decode_coding_no_conversion):
9290         Make all decoding functions take an Extbyte * arg.
9291         (encode_coding_sjis):
9292         (encode_coding_big5):
9293         (encode_coding_ucs4):
9294         (encode_coding_utf8):
9295         (encode_coding_iso2022):
9296         (encode_coding_no_conversion):
9297         Make all encoding functions take a Bufbyte * arg.
9298         Use size_t instead of unsigned int for memory sizes.
9299         Only cast to unsigned char whenever dereferencing Extbyte *.
9300
9301         * doc.c (unparesseuxify_doc_string): Type correctness.
9302
9303         * console-x.c (split_up_display_spec):
9304         Rewrite without using details of internal string representation.
9305         (x_semi_canonicalize_device_connection): Type correctness.
9306
9307         * config.h.in:
9308         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9309         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9310         (HAVE_XFREE386): Removed.
9311
9312         * buffer.h (DEC_CHARPTR): `const' correctness.
9313         (bufbyte_strcmp): New.
9314         (bufbyte_memcmp): New.
9315
9316         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9317
9318         * buffer.h (XCHAR_OR_CHAR_INT):
9319         Always use inline function.
9320         Remove redundant type checking assert() - XINT will abort quite nicely.
9321
9322 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9323
9324         * search.c (Freplace_match): Set newtext to an empty string.
9325
9326 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9327
9328         * s/decosf1-3.h: Remove #include of stropts.h
9329         * s/ptx.h: Remove #include of stropts.h
9330         * s/usg5-4.h: Remove #include of stropts.h
9331         * sysproc.h:
9332         * config.h.in:
9333         Use stropts.h, not sys/stropts.h.
9334         Use strtio.h, not sys/strtio.h.
9335
9336 2000-10-04  Martin Buchholz <martin@xemacs.org>
9337
9338         * XEmacs 21.2.36 is released.
9339
9340 2000-09-21  Andy Piper  <andy@xemacs.org>
9341
9342         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9343         changes still involve copying the widget tree.
9344         (update_widget_face): make sure a change is register in the widget
9345         tree. Call update_tab_widget_face appropriately.
9346         (update_tab_widget_face): ditto.
9347         (x_tab_control_redisplay): make sure non-structural changes still
9348         involve copying the widget tree.
9349
9350 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9351
9352         * lread.c (locate_file): Check the path element is non-nil.
9353
9354 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9355
9356         * lisp.h: Warning suppression for SCO compilers.
9357
9358         * redisplay-tty.c (reset_tty_modes): Fix crash.
9359         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9360
9361 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9362
9363         Big signal/process handling overhaul.  Bugs fixed:
9364         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9365         M-x comint-kill-subjob should work for both values nil and t of
9366         process-connection-type. It was broken on most platforms.
9367         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9368         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9369         * process-unix.c: Signal/Process handling overhaul.
9370         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9371         (allocate_pty): Use all available modern methods of allocating
9372         ptys, falling back to old style BSD allocation as a last resort.
9373         Use allegedly more secure Unix98 pty allocation by default.
9374         (allocate_pty_the_old_fashioned_way): New. the last resort.
9375         (unix_create_process): Push ptem, ldterm, ttcompat where
9376         available.  Autoconfiscate.
9377         (try_to_initialize_subtty): New.
9378         (unix_kill_child_process): Proper signal handling for ptys on most
9379         platforms, using special knowledge of AIX, BSD, etc...
9380         (unix_create_process): Always disconnect_controlling_terminal() for
9381         subprocesses, whether using ptys or not.
9382         * process.h: Remove old getpt-dependent PTY code.
9383         * process.c (Fprocess_send_signal): New, obvious generic function.
9384         (decode_signal): New.
9385         (Finterrupt_process):
9386         (Fkill_process):
9387         (Fquit_process):
9388         (Fstop_process):
9389         (Fcontinue_process):
9390         (Fsignal_process): Use decode_signal.
9391         (process_send_signal):
9392         Many docstring corrections.
9393         Allow any signal to be sent to a process object.
9394         * config.h.in: Add symbols for big signal/process overhaul.
9395         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9396         * sysproc.h: Include process-related headers, where available:
9397         sys/stropts.h sys/strtio.h pty.h libutil.h
9398         * s/irix4-0.h:
9399         * s/irix5-0.h:
9400         * s/cygwin32.h:
9401         * s/gnu.h:
9402         * s/linux.h:
9403         * s/hpux.h:
9404         * s/aix3-1.h:
9405         Remove old S&M pty stuff.
9406         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9407         * systty.h: Simplify cpp hackery, improve comments.
9408         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9409
9410         * editfns.c (Fformat_time_string):
9411         Be a little more paranoid with the return value of ctime.
9412
9413         * fileio.c (check_executable):
9414         (check_writable):
9415         Use symbolic constants X_OK, W_OK.
9416
9417         * console-x.c (split_up_display_spec): Fix a warning.
9418
9419 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9420
9421         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9422         * ntproc.c (sys_spawnve): make_string ==> build_string
9423         Small clarity improvements.
9424
9425 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9426
9427         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9428
9429         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9430
9431         * config.h.in (HAVE_STRCASECMP): Remove.
9432
9433 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9434
9435         * redisplay-output.c (redisplay_output_pixmap):
9436         Cleaner and possibly more 64-bit correct code.
9437
9438 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9439
9440         * dumper.c (pdump_load_finish): move restoration of
9441         `noninteractive1' to emacs.c (main_1).
9442         * emacs.c (main_1): protect LISP-visible command-line flags
9443         from pdump_load().
9444
9445 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9446
9447         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9448         DUMP_TARGET instead of literal program names.
9449
9450 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9451
9452         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9453
9454 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9455
9456         * *: Spelling mega-patch
9457
9458 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9459
9460         * fns.c (bad_bad_turtle):
9461         Delete "Eek!" comment, since we fixed the bug to which it refers.
9462
9463 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9464
9465         * alloca.c: Replace REGISTER with register.
9466
9467 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9468
9469         * file-coding.c (ucs_to_char): Use countof.
9470
9471 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9472
9473         * file-coding.c: (ucs_to_char):
9474         (complex_vars_of_file_coding):
9475         Use countof instead of sizeof.
9476         Use CHECK_NATNUM instead of CHECK_INT.
9477
9478         * sysdep.c (strcasecmp): Remove.
9479         * device-x.c (ascii_strcasecmp): New.
9480         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9481         Avoid using non-standard non-portable strcasecmp.
9482
9483 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9484
9485         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9486         * font-lock.c: remove reference to emacsfns.h.
9487         * search.c: small doc improvement.
9488         * event-Xt.c: correct file names in comments.
9489         * console-x.h Correct file names in comments.
9490         * frame.c: Correct file names in comments.
9491         * event-stream.c: remove Energize from comments.
9492
9493 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9494
9495         * symeval.h (DEFERROR_STANDARD):
9496         (DEFERROR):
9497         (DEFSYMBOL):
9498         (DEFSYMBOL_NO_DUMP):
9499         (DEFSYMBOL_MULTIWORD_PREDICATE):
9500         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9501         (DEFKEYWORD):
9502         The construct &##name is not sensible C.
9503         Fixes compilation errors with Unixware native compiler.
9504
9505 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9506
9507         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9508         (next_frame_internal): Removed.  We now just have next_frame.
9509         (next_frame):
9510         Write a simpler and cleaner one-pass algorithm.
9511         Remove called_from_delete_device arg and #ifdefed-out code.
9512         (previous_frame):
9513         Renamed from prev_frame.  Update callers.
9514         Cleaned up to have an analogous implementation to next_frame.
9515         (other_visible_frames_internal): Remove the
9516         called_from_delete_device bogus arg, and hence, remove this
9517         function.  Just use other_visible_frames().
9518
9519         * window.c (Fnext_window):
9520         Prettify docstring.
9521         Since next_frame() is guaranteed to return a frame, remove check
9522         for nil inserted in previous patch.
9523         (Fprevious_window):
9524         Prettify docstring.
9525         Make code look more like Fnext_window.
9526         (window_loop):
9527         Respect the `console' arg when iterating through windows.
9528         Fixes bug: (get-buffer-window buffer t device) not respecting
9529         the `device' arg.
9530         This function needs more work, as others have pointed out.
9531
9532         * frame.h: Rename prev_frame to previous_frame.
9533         device_matches_console_spec no longer takes a `frame' arg.
9534
9535         * s/gnu.h:
9536         * s/linux.h:
9537         * s/hpux.h:
9538         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9539         From "Golubev I. N." <gin@mo.msk.ru>.
9540
9541         * make-src-depend: Fix typo.
9542
9543 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9544
9545         * window.c (Fnext_window):
9546         next_frame() might return nil, not a frame.
9547         Fixes this crash:
9548         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9549
9550         * frame.c (next_frame_internal):
9551         We've passed a frame if we've passed its device.
9552         Fixes this crash:
9553         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9554 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9555
9556 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9557
9558         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9559         Allow option to suppress accelerators in menu/dialog items.
9560         (populate_or_checksum_helper): Pass dialog title through above.
9561
9562 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9563
9564         * event-msw.c (mswindows_key_to_emacs_keysym):
9565         Add "pause" key, fix "menu" key.
9566
9567 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9568
9569         * eval.c (reinit_vars_of_eval):
9570         Increase max_lisp_eval_depth to 1000,
9571         required for thai-xtis.el to byte-compile under some circumstances.
9572
9573 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9574
9575         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9576         From Kenichi Handa.
9577
9578 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9579
9580         * make-src-depend: Make the generated Makefiles smaller.
9581
9582         * s/hpux.h (SETUP_SLAVE_PTY):
9583         Provide a %d in the format string for the errno argument.
9584
9585         * editfns.c (Ftemp_directory):
9586         Warning fix.
9587         Avoid buffer overrun on very long file name.
9588
9589         * input-method-xlib.c (XIM_init_device):
9590         6th parameter of XRegisterIMInstantiateCallback has different
9591         pointer types on different OSes, so simply cast to (void *).
9592
9593         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9594
9595         * sysdll.c (dll_open):
9596         shl_load will hang hard if passed a NULL filename.
9597         Simply return NULL for compatibility with dlopen.
9598         * sysdll.c: Conform to XEmacs coding standards.
9599
9600         * sysdep.c (get_pty_max_bytes):
9601         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9602
9603 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9604
9605         * tooltalk.c: Add #include <syssignal.h>
9606
9607 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9608
9609         * s/hpux.h: Don't use undefined function sigunblock().
9610
9611 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9612
9613         * config.h.in: Add HAVE_BALLOON_HELP.
9614         * emacs.c: Use HAVE_BALLOON_HELP.
9615         * Makefile.in.in (x_objs):
9616         Make Balloon Help conditional on finding shape.h.
9617
9618 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9619
9620         * syntax.c (regex_emacs_buffer_p): New variable.
9621         * syntax.h (regex_emacs_buffer_p): extern.
9622         * search.c (looking_at_1):
9623         (string_match_1):
9624         (fast_string_match):
9625         (search_buffer): Set regex_emacs_buffer_p.
9626         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9627         when before_dot, at_dot, after_dot.
9628
9629 2000-08-23  Andy Piper  <andy@xemacs.org>
9630
9631         * gui-x.c (popup_selection_callback): Only set action_occurred
9632         when we really have an image instance.
9633         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9634
9635 2000-08-23  Andy Piper  <andy@xemacs.org>
9636
9637         * gui-msw.c (mswindows_handle_gui_wm_command): set
9638         action_occurred.
9639         * gui-x.c (popup_selection_callback): ditto.
9640
9641         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9642         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9643         (struct Lisp_Image_Instance): add action_occurred flag.
9644
9645         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9646         (image_instance_changed): ditto.
9647         (reset_frame_subwindow_instance_cache): only unmap windows - do
9648         not remove them from the cache also.
9649
9650         * glyphs-widget.c (tab_control_update): better debug.
9651         (progress_gauge_update): ditto.
9652         (layout_update): ditto.
9653         (layout_instantiate): ditto.
9654         (tab_control_order_only_changed): cope with null pending items.
9655
9656         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9657         debug. Force selection of an item when an action occurred. Cope
9658         with null pending_items.
9659         (mswindows_progress_gauge_redisplay): better debug.
9660         * glyphs-x.c (x_tab_control_redisplay): ditto.
9661
9662         * redisplay.c (redisplay_frame): reset the frame cache if the
9663         frame is garbaged.
9664
9665         * window.c (Fset_window_configuration): potentially re-enable
9666         frame cache reset.
9667         (window_unmap_subwindows): need to finalize instances here since
9668         it is only used in mark_window_as_deleted.
9669
9670 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9671
9672         * nas.c (SndOpenDataForReading):
9673         nas.c (WaveOpenDataForReading):
9674         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9675         Somehow escaped from the 2000-08-14 patch.
9676
9677 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9678
9679         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9680         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9681
9682 2000-08-21  Andy Piper  <andy@xemacs.org>
9683
9684         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9685         window if it is not already displayed.
9686
9687         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9688         it is not already displayed.
9689
9690         * window.c (Fset_window_configuration): don't reset the frame
9691         cache.
9692
9693         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9694         instances from the frame cache if we are actually finalizing them.
9695         (reset_frame_subwindow_instance_cache): reset frame cache only
9696         after unmapping everything.
9697         (map_subwindow): set displayed flag after mapping.
9698
9699 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9700
9701         * data.c (indirect_function):
9702         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9703
9704         * eval.c (function_argcount):
9705         Use original function when signaling errors.
9706
9707 2000-08-18  Andy Piper  <andy@xemacs.org>
9708
9709         * frame.c (delete_frame_internal): use new
9710         free_frame_subwindow_instances name.
9711
9712         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9713         (add_tab_item): make return type correct.
9714         (mswindows_tab_control_instantiate): assert index of tab.
9715         (mswindows_tab_control_redisplay): Re-code to use
9716         gui_item_equal_sans_selected and gui_item_list_find_selected.
9717
9718         * glyphs-widget.c (tab_control_update): Correct comment.
9719
9720         * window.c (window_unmap_subwindows): use new
9721         unmap_subwindow_instance_cache_mapper.
9722         (window_unmap_subwindows_cache_mapper): deleted.
9723         (Fset_window_configuration): comparisons should now be with
9724         EQ. Preserve the subwindow instance cache across configuration
9725         changes.
9726         (allocate_window): ditto.
9727         (make_dummy_parent): ditto.
9728
9729         * glyphs.c (free_frame_subwindow_instances): rename from
9730         free_frame_subwindow_instance_cache. finalize all instances rather
9731         than just those in the display cache.
9732         (finalize_all_subwindow_instances): walk windows unmapping and
9733         finalizing subwindows.
9734         (unmap_subwindow_instance_cache_mapper): moved from
9735         window.c. Allow finalization as well as unmapping.
9736
9737         * gui.c (gui_item_list_find_selected): new function.
9738
9739         * gui.h (gui_item_list_find_selected): declare.
9740
9741         * glyphs-x.c (x_tab_control_redisplay): pick tab
9742         explicitly. Re-code to use gui_item_equal_sans_selected and
9743         gui_item_list_find_selected.
9744
9745         * glyphs-x.h: add lwlib-utils.h
9746
9747         * buffer.c (Frecord_buffer): undo previous change.
9748
9749 2000-08-09  Vin Shelton  <acs@xemacs.org>
9750
9751         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9752         possible.  Create temporary files more securely.  The patch was
9753         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9754         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9755         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9756         for details.
9757
9758 2000-08-07  Ben Wing  <ben@xemacs.org>
9759
9760         * getloadavg.c: remove duplicate (and windows-breaking)
9761         includes of fcntl.h and sys/file.h.
9762
9763         * nt.c: remove duplicate getloadavg() definition.
9764
9765         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9766         encodings.
9767
9768 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9769
9770         * eval.c (function_argcount): If function needs to be autoloaded
9771         actually use the loaded definition.
9772         GCPRO function.
9773
9774 2000-08-05  Ben Wing  <ben@xemacs.org>
9775
9776         * getloadavg.c: add prototype for getloadavg().  remove
9777         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9778         of the code).  remove duplicate header includes.
9779
9780         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9781
9782         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9783         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9784         useful load average.
9785
9786         * alloc.c (reinit_alloc_once_early): removed references to
9787         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9788         the lisp vars are the only things referencing the malloc_sbrk_*
9789         vars, and they were already if 0'd out.  these vars only exist
9790         in the older malloc.c, which is basically unused, and they're
9791         only for informational purposes.
9792
9793         * m\*.h: removed useless VIRT_ADDR_VARIES.
9794
9795         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9796
9797 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9798
9799         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9800         color if the image is a mono pixmap.
9801
9802 2000-07-30  Ben Wing  <ben@xemacs.org>
9803
9804         * Makefile.in.in (release):
9805         Remove stray @.
9806
9807         * buffer.c (directory_is_current_directory):
9808         * dired-msw.c (mswindows_get_files):
9809         * dired.c:
9810         * dired.c (Fdirectory_files):
9811         * dired.c (file_name_completion_stat):
9812         * dired.c (Ffile_attributes):
9813         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9814         preprocessor tricks, to avoid problems on some machines
9815         (e.g. SCO).
9816
9817         * callproc.c (egetenv): GC docs.
9818
9819         * console-msw.h:
9820         * console-msw.h (struct mswindows_dialog_id):
9821         * lrecord.h (lrecord_type):
9822         New object for use with MSW dialogs.
9823
9824         * console.h (struct console_methods):
9825         New enable/disable frame methods, for proper modal dialogs.
9826
9827         * device-msw.c (msprinter_default_printer): Fix to follow
9828         proper Mule conventions.
9829
9830         * device-msw.c:
9831         * device-msw.c (signal_open_printer_error):
9832         * device-msw.c (msprinter_init_device):
9833         * device-msw.c (ensure_not_printing):
9834         * device-msw.c (plist_get_margin):
9835         * device-msw.c (Fmsprinter_select_settings):
9836         * device-msw.c (finalize_devmode):
9837         * device-msw.c (Fmsprinter_settings_despecialize):
9838         * device-msw.c (signal_enum_priner_error):
9839         * extents.c (decode_extent):
9840         * extents.c (decode_map_extents_flags):
9841         * extents.c (decode_extent_at_flag):
9842         * extents.c (Fextent_at):
9843         * extents.c (Fextents_at):
9844         * extents.c (symbol_to_glyph_layout):
9845         [[[[2]]]] Use structured errors.
9846
9847         * dialog-msw.c:
9848         * dialog-msw.c (mswindows_is_dialog_msg):
9849         * dialog-msw.c (mark_mswindows_dialog_id):
9850         * dialog-msw.c (dialog_proc):
9851         * dialog-msw.c (handle_question_dialog_box):
9852         * dialog-msw.c (syms_of_dialog_mswindows):
9853         Define new object to clean up marking; use it as a dialog identifier.
9854         Call new delete-dialog-box-hook.
9855
9856         * dialog-x.c (dbox_selection_callback):
9857         * dialog-x.c (dbox_descriptor_to_widget_value):
9858         * dialog-x.c (x_make_dialog_box_internal):
9859         Call new delete-dialog-box-hook.
9860         Return an id.
9861
9862         * dialog.c:
9863         * dialog.c (syms_of_dialog):
9864         * dialog.c (vars_of_dialog):
9865         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9866
9867         * eval.c:
9868         * eval.c (signal_call_debugger):
9869         when noninteractive, output stack traces on the console instead
9870         of in a (never-seen) buffer.
9871
9872         * eval.c (signal_type_error):
9873         * eval.c (invalid_argument_2):
9874         * lisp.h:
9875         new funs for use w/structured errors.
9876
9877         * event-Xt.c:
9878         * event-Xt.c (x_to_emacs_keysym):
9879         * event-Xt.c (describe_event):
9880         * event-Xt.c (emacs_Xt_event_handler):
9881         * event-Xt.c (vars_of_event_Xt):
9882         * event-msw.c:
9883         * event-msw.c (mswindows_wnd_proc):
9884         * event-msw.c (vars_of_event_mswindows):
9885         rename {x,mswindows}-debug-events to debug-{}-events for
9886         consistency with other debug-foo variables.
9887
9888         * event-stream.c:
9889         document next-event more clearly.
9890
9891         * fileio.c (Ffile_name_directory):
9892         * fileio.c (Ffile_name_nondirectory):
9893         * fileio.c (Funhandled_file_name_directory):
9894         * fileio.c (file_name_as_directory):
9895         * fileio.c (Ffile_name_as_directory):
9896         * fileio.c (directory_file_name):
9897         * fileio.c (Fdirectory_file_name):
9898         * fileio.c (Fmake_temp_name):
9899         * fileio.c (Ffile_truename):
9900         * fileio.c (Fsubstitute_in_file_name):
9901         * fileio.c (expand_and_dir_to_file):
9902         * fileio.c (barf_or_query_if_file_exists):
9903         * fileio.c (check_executable):
9904         * fileio.c (Ffile_exists_p):
9905         * fileio.c (Ffile_writable_p):
9906         * fileio.c (Ffile_directory_p):
9907         * fileio.c (Ffile_regular_p):
9908         * fileio.c (Ffile_modes):
9909         * fileio.c (Ffile_newer_than_file_p):
9910         * fileio.c (Fverify_visited_file_modtime):
9911         * fileio.c (Fset_visited_file_modtime):
9912         * fileio.c (auto_save_1):
9913         (1). (2).
9914         fix up gcpro's.
9915
9916         * frame-msw.c:
9917         * frame-msw.c (mswindows_init_frame_1):
9918         * frame-msw.c (mswindows_enable_frame):
9919         * frame-msw.c (error_frame_unsizable):
9920         * frame-msw.c (msprinter_init_frame_1):
9921         * frame-msw.c (msprinter_init_frame_3):
9922         * frame-msw.c (console_type_create_frame_mswindows):
9923         (2).
9924         implement new enable/disable frame methods.
9925
9926         * frame-x.c:
9927         * frame-x.c (x_enable_frame):
9928         * frame-x.c (console_type_create_frame_x):
9929         implement new enable/disable frame methods.
9930
9931         * frame.c:
9932         * frame.c (Fdisable_frame):
9933         * frame.c (syms_of_frame):
9934         * frame.h (struct frame):
9935         implement new enable/disable frame methods/functions.
9936
9937         * general-slots.h:
9938         add initial-focus.
9939
9940         * glyphs-msw.c (mswindows_widget_instantiate):
9941         comment that initial-focus should be implemented.
9942
9943         * glyphs-widget.c:
9944         * glyphs-widget.c (check_valid_instantiator):
9945         * glyphs-widget.c (check_valid_orientation):
9946         * glyphs-widget.c (check_valid_tab_orientation):
9947         * glyphs-widget.c (check_valid_justification):
9948         * glyphs-widget.c (check_valid_border):
9949         * glyphs-widget.c (check_valid_callback):
9950         * glyphs-widget.c (check_valid_int_or_function):
9951         * glyphs-widget.c (check_valid_string_or_vector):
9952         * glyphs-widget.c (check_valid_item_list_1):
9953         * glyphs-widget.c (widget_validate):
9954         * glyphs-widget.c (combo_box_validate):
9955         * glyphs-widget.c (widget_instantiate):
9956         * glyphs-widget.c (syms_of_glyphs_widget):
9957         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9958         * glyphs-widget.c (image_instantiator_combo_box):
9959         * glyphs-widget.c (image_instantiator_scrollbar):
9960         * glyphs-widget.c (image_instantiator_tab_control):
9961         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9962         (2).
9963         support (unimplemented) keyword initial-focus.
9964         reindent long macros.
9965
9966         * glyphs-x.c (x_redisplay_widget):
9967         * glyphs-x.c (x_button_instantiate):
9968         * glyphs-x.c (x_button_redisplay):
9969         * glyphs-x.c (x_progress_gauge_instantiate):
9970         * glyphs-x.c (x_edit_field_instantiate):
9971         * glyphs-x.c (x_combo_box_instantiate):
9972         * glyphs-x.c (x_tab_control_instantiate):
9973         * glyphs-x.c (x_label_instantiate):
9974         * gui-x.c:
9975         * gui-x.c (button_item_to_widget_value):
9976         * gui-x.c (gui_items_to_widget_values_1):
9977         * gui-x.c (gui_item_children_to_widget_values):
9978         * gui-x.c (gui_items_to_widget_values):
9979         * gui-x.h:
9980         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9981         add new flag to gui-parsing routines to indicate whether
9982         accelerator specs should be supported.
9983
9984         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9985
9986         * glyphs.h (struct Lisp_Image_Instance):
9987         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9988         add initial-focus flag.
9989
9990         * gui.c:
9991         * gui.c (syms_of_gui):
9992         * gui.c (vars_of_gui):
9993         clean up menu-no-selection-hook.
9994
9995         * gui.h:
9996         support delete-dialog-box-hook.
9997
9998         * lread.c (Fload_internal):
9999         * lread.c (locate_file_in_directory_mapper):
10000         (1).
10001
10002         * lrecord.h:
10003         * lrecord.h (struct toolbar_button):
10004         * lrecord.h (syms_of_toolbar):
10005         document how to create a new object.
10006
10007         * menubar-msw.c (mswindows_char_is_accelerator):
10008         may be called on frames w/o menus.
10009
10010         * menubar.c (vars_of_menubar):
10011         clean up :filter docs.
10012
10013         * nt.c (readdir):
10014         * ntproc.c:
10015         (1).
10016
10017         * process-nt.c:
10018         * process-nt.c (validate_signal_number):
10019         * process-nt.c (signal_cannot_launch):
10020         * process-nt.c (nt_create_process):
10021         * process-nt.c (nt_send_process):
10022         * process-nt.c (nt_kill_child_process):
10023         * process-nt.c (nt_open_network_stream):
10024         * process-nt.c (syms_of_process_nt):
10025         (2).
10026         delete quote-handling.  call new lisp code that does it better.
10027
10028         * process-unix.c (connect_to_file_descriptor):
10029         * process-unix.c (allocate_pty):
10030         * process-unix.c (unix_send_process):
10031         * process-unix.c (unix_kill_child_process):
10032         * process-unix.c (unix_open_network_stream):
10033         * process-unix.c (unix_open_multicast_group):
10034         (1). (2).
10035
10036         * process.c:
10037         * process.c (Fstart_process_internal):
10038         (2).  need to canonicalize process path even if absolute.
10039
10040         * select-msw.c (symbol_to_ms_cf):
10041         * select-msw.c (ms_cf_to_symbol):
10042         * select-msw.c (cf_is_autofreed):
10043         * select-msw.c (mswindows_destroy_selection):
10044         * select.c:
10045         * select.c (syms_of_select):
10046         * select.h:
10047         support dibv5, fix bugs. (from Mike Alexander)
10048
10049         * select.c (Fget_selection_internal):
10050         * select.c (select_convert_out):
10051
10052         * sysdep.c:
10053         * sysdep.c (xemacs_stat):
10054         renamed.
10055
10056         * sysdep.c (mkdir):
10057         * sysdep.c (rmdir):
10058         but keep original stat() here because we provide encapsulation
10059         around these funs.
10060
10061         * sysfile.h:
10062         * sysfile.h (fstat):
10063         remove stat garbage.
10064
10065         * syswindows.h:
10066         fix X/MSW conflict.
10067         don't include tchar.h.  it's inappropriate because it makes
10068         compile-time distinctions when we want runtime distinctions.
10069         (we provide our own tchar replacements)
10070
10071         * toolbar.c:
10072         use default object printer for toolbar-button.
10073
10074         * unexcw.c:
10075         make sure we don't encapsulate.
10076
10077         * window.c (vars_of_window):
10078         emphasize that temp-buffer-show-hook is obsolete.
10079
10080 2000-08-05  Martin Buchholz  <martin@xemacs.org>
10081
10082         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
10083         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
10084
10085         * events.c (Fevent_timestamp_lessp):
10086         Not 64-bit clean.  Use EMACS_INT, not int.
10087
10088 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
10089
10090         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
10091         unsigned int and changed the last enum to
10092         lrecord_type_last_built_in_type.
10093         (lrecord_implementations_table): changed prototype to know how
10094         long the array is supposed to be.
10095         (lrecord_type_count): new unsigned int to keep track of the
10096         current number of lisp lrecord types.
10097         (DEFINE_EXTERNAL_LRECORD):
10098         (DECLARE_EXTERNAL_LRECORD): Added these two for external
10099         dynamic-modules to declare new lisp types. They are the same
10100         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
10101         int for each new type, and increment lrecord_type_count by 1.
10102
10103         * alloc.c (lrecord_implementations_table): Changed to reference
10104         lrecord_type_last_built_in_type for the size of the array.
10105         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
10106
10107 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10108
10109         * glyphs.h (check_valid_item_list): Renamed from
10110         check_valid_item_list_1.
10111
10112 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10113
10114         * select.c (Qselect_coerce): New.
10115         * select.c (Vselection_coercion_alist): New.
10116         * select.c (syms_of_select): Declare.
10117         * select.c (get-selection-internal): Use it.
10118         Use the new select-coerce functionality.
10119
10120         * select.c (select_coerce): New.
10121         * select.h (select_coerce): Declare.
10122         New function to coerce one type of data into another.
10123
10124 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10125
10126         * callproc.c (Fcall_process_internal):
10127         (Fcall_process_internal):
10128         * process-unix.c (unix_create_process):
10129         Save and restore the value of errno, so that error messages are accurate.
10130
10131 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10132
10133         * elhash.c (print_hash_table):
10134         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10135         Prettify docstrings and indentation.
10136
10137 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10138
10139         * window.c (Fwindow_pixel_edges): Subtract frame border and
10140         gutter size.
10141
10142 2000-07-31  Andy Piper  <andy@xemacs.org>
10143
10144         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10145         will acknowledge the change.
10146
10147         * glyphs.h: declare tab_control_order_only_changed.
10148
10149         * glyphs-x.c (x_tab_control_redisplay): use
10150         tab_control_order_only_changed.
10151
10152         * glyphs-widget.c (tab_control_order_only_changed): new function.
10153
10154         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10155         tab_control_order_only_changed.
10156
10157         * gui.c (gui_item_equal_sans_selected): new function.
10158         (gui_item_equal): use it.
10159
10160         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10161         :properties in favor of :items..
10162
10163         * glyphs-widget.c (check_valid_item_list): rename from
10164         check_valid_item_list_1.
10165         (check_valid_item_list_1): renamed.
10166         (combo_box_validate): deprecate :properties in favor of :items.
10167         (widget_instantiate): ditto.
10168         (tab_control_update): ditto.
10169         (image_instantiator_combo_box): ditto.
10170         (image_instantiator_tree_view): ditto.
10171         (image_instantiator_tab_control): ditto.
10172         (layout_post_instantiate): remove dead code.
10173
10174         * print.c (debug_print_no_newline): only write to debugger if in
10175         WIN32_NATIVE.
10176
10177         * elhash.c (Fmake_hash_table): update doc string.
10178
10179         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10180         messages whilst in GC. This at least stops XEmacs crashing but has
10181         the potential for wierd behaviour.
10182
10183 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10184
10185         * config.h.in:
10186         Make existence of s&m files optional.
10187
10188         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10189         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10190         * s/gnu.h: Remove HAVE_GETLOADAVG.
10191         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10192         * s/sol2.h: Remove HAVE_GETLOADAVG.
10193         * lisp.h: Remove getloadavg() declaration.
10194         * fns.c:
10195         Include <sys/loadavg.h> if available.
10196         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10197         * config.h.in:  Group together getloadavg()-related macros.
10198         Use only configure-time tests to detect getloadavg().
10199
10200 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10201
10202         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10203
10204 2000-07-25  Andy Piper  <andy@xemacs.org>
10205
10206         * syswindows.h: add tchar.h for native builds.
10207
10208         * frame.c (syms_of_frame): remove set-glyph-image.
10209
10210         * general-slots.h: add Qset_glyph_image.
10211
10212         * glyphs-widget.c (layout_update): add domain arg to
10213         set-glyph-image.
10214         (syms_of_glyphs_widget): remove set-glyph-image.
10215
10216 2000-07-23  Ben Wing  <ben@xemacs.org>
10217
10218         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10219         Vpopup_frame_list.
10220
10221 2000-07-22  Andy Piper  <andy@xemacs.org>
10222
10223         * symsinit.h: add syms_of_win32().
10224
10225         * gui-msw.c (syms_of_gui_mswindows): remove
10226         Fmswindows_shell_execute.
10227         (Fmswindows_shell_execute): moved to win32.c.
10228
10229         * emacs.c (main_1): add syms_of_win32 ().
10230
10231         * win32.c (init_potentially_nonexistent_functions): rewrite in
10232         compiler-friendly terms.
10233         (Fmswindows_shell_execute): move here from gui-msw.c.
10234         (syms_of_win32): new.
10235
10236         * device-msw.c (Fmswindows_printer_list): clean up args to
10237         EnumPrinters.
10238         Don't include tchar under cygwin or mingw.
10239         (msprinter_default_printer): make cygwin-friendly.
10240
10241 2000-07-21  Andy Piper  <andy@xemacs.org>
10242
10243         * glyphs-widget.c (image_instantiator_tree_view): use tab
10244         control's update function.
10245         (layout_property): new function. Retrieve items.
10246
10247         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10248         function. Re-populate the tree view from the pending items.
10249
10250         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10251         is designated the parent if the domain is an image instance. This
10252         is needed so that dirtiness can be cascade up the hierarchy and
10253         thus for layout children to be redisplayed correctly.
10254         (allocate_image_instance): rename glyph -> parent.
10255
10256         * redisplay.h: change redisplay_output_layout signature.
10257
10258         * redisplay-msw.c (mswindows_output_display_block): use domain
10259         arg.
10260
10261         * redisplay-x.c (x_output_display_block): use domain arg.
10262
10263 2000-07-10  Andy Piper  <andy@xemacs.org>
10264
10265         * window.c (Fset_window_configuration): add comment.
10266
10267         * redisplay-output.c (compare_runes):
10268         (redisplay_output_subwindow): redisplay rather than update subwindow.
10269         (redisplay_output_layout): ditto.
10270
10271         * redisplay-msw.c (mswindows_frame_output_end):
10272         (mswindows_frame_output_end): make defer window pos optional.
10273
10274         * lisp.h: add Flast.
10275
10276         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10277         normalize method. Change update method to be for changed
10278         instantiators. Add redisplay method. Change signature of layout
10279         method.
10280         (struct Lisp_Image_Instance): add instantiator.
10281         (IMAGE_INSTANCE_INSTANTIATOR): new.
10282         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10283         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10284         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10285
10286         * glyphs.c:
10287         (find_instantiator_differences): new function.
10288         (Fset_instantiator_property): new convenience function.
10289         (check_image_instance_structure): strictly check for vector
10290         instantiators.
10291         (normalize_image_instantiator): make non-static.
10292         (instantiate_image_instantiator): pass on dest_mask and use new
10293         signatures for image_instance_layout and friends.
10294         (mark_image_instance): mark the instantiator. Mark the subwindow
10295         face not the widget face.
10296         (image_instance_equal): add instantiator.
10297         (image_instance_hash): ditto.
10298         (allocate_image_instance): ditto.
10299         (Fset_image_instance_property): removed.
10300         (Fimage_instance_file_name): ditto.
10301         (Fcolorize_image_instance): ditto.
10302         (image_instance_layout): add offsets to be set.
10303         (update_image_instance): new function. update an image instance
10304         from its changed instantiator.
10305         (inherit_normalize): add dest_mask.
10306         (xbm_normalize): ditto.
10307         (xface_normalize): ditto.
10308         (xpm_normalize): ditto.
10309         (text_update): set_property -> update.
10310         (image_instantiate): use the glyph identity as a hash key, not the
10311         instantiator.
10312         (glyph_width): use new image_instance_layout signature.
10313         (glyph_ascent): ditto.
10314         (glyph_descent): ditto.
10315         (glyph_height): ditto.
10316         (glyph_query_geometry): ressurrect.
10317         (glyph_layout): ditto.
10318         (redisplay_subwindow): update -> redisplay.
10319         (syms_of_glyphs): add Fset_instantiator_property.
10320         (image_instantiator_format_create): set_property -> update.
10321
10322         * glyphs-x.c:
10323         (autodetect_normalize): add dest_maks to signature.
10324         (x_redisplay_subwindow): update -> redisplay.
10325         (x_redisplay_widget): ditto.
10326         (x_button_redisplay): ditto.
10327         (x_progress_gauge_redisplay): ditto.
10328         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10329         stacking order.
10330         (console_type_create_glyphs_x): update -> redisplay.
10331         (image_instantiator_format_create_glyphs_x): ditto.
10332
10333         * glyphs-widget.c:
10334         (check_valid_instantiator): disallow glyphs in the instantiator,
10335         they must now be vectors.
10336         (check_valid_instantiator_list): ditto.
10337         (glyph_instantiator_to_glyph): use internal symbol rather than
10338         intern.
10339         (widget_update): renamed from widget_set_property. Call cascaded
10340         update methods.
10341         (redisplay_widget): renamed from update_widget.
10342         (widget_layout): image_instance_layout now takes position as well
10343         as size.
10344         (widget_normalize): ditto.
10345         (widget_instantiate): ditto.
10346         (tab_control_query_geometry) ditto.:
10347         (tab_control_update): renamed from tab_control_set_property.
10348         (progress_gauge_update): set_property -> update.
10349         (layout_normalize): rewrite so that child instantiators are
10350         normalized also.
10351         (layout_update): new function. Create glyphs from the normalized
10352         children and cope with any other layout keywords. We do not
10353         instantiate children here that will be take care of by
10354         redisplay_output_layout.
10355         (layout_instantiate): call layout_update and not much else.
10356         (layout_post_instantiate): not sure whether this is needed
10357         anymore.
10358         (layout_query_geometry): query glyph geometry rather than
10359         image_instance geometry.
10360         (layout_layout): set offsets from pass in parameters. Use glyph
10361         geometry and layout functions rather than image instance ones.
10362         (native_layout_layout): ditto.
10363         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10364         (image_instantiator_widget): set_property -> update.
10365         (image_instantiator_buttons): ditto.
10366         (image_instantiator_progress_guage): ditto.
10367         (image_instantiator_tab_control): ditto.
10368         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10369         (image_instantiator_layout): add update method.
10370
10371         * glyphs-msw.c (bmp_normalize):
10372         (mswindows_resource_normalize): add dest_mask so that it can be
10373         proprogated by layout_normalize.
10374         (begin_defer_window_pos): make optional because it may not be the
10375         right thing to do and it introduces differences with X.
10376         (mswindows_unmap_subwindow): ditto.
10377         (mswindows_map_subwindow): ditto.
10378         (mswindows_redisplay_subwindow): renamed from
10379         mswindows_update_subwindow.
10380         (mswindows_redisplay_widget): ditto.
10381         (mswindows_button_redisplay): renamed from
10382         mswindows_button_update. Update is now what the instantiation
10383         function does for a changed instantiator.
10384         (mswindows_progress_gauge_instantiate): set the progress value
10385         here if appropriate.
10386         (mswindows_tab_control_redisplay): cope with re-ordering of the
10387         members of the tab widget by simply selecting the new top
10388         widget. This makes things appear ok if you click on a tab.
10389         (mswindows_combo_box_instantiate): image_instance_layout now takes
10390         position as well as size.
10391         (mswindows_progress_gauge_redisplay): renamed from
10392         mswindows_progress_gauge_update.
10393         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10394         (image_instantiator_format_create_glyphs_mswindows): ditto.
10395
10396         * glyphs-eimage.c (jpeg_normalize):
10397         (gif_normalize):
10398         (png_normalize):
10399         (tiff_normalize): add dest_mask so that it can be proprogated by
10400         layout_normalize.
10401
10402         * elhash.c:
10403         (print_hash_table):
10404         (hash_table_weakness_validate):
10405         (decode_hash_table_weakness):
10406         (Fhash_table_weakness):
10407         (Fhash_table_type):
10408         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10409
10410         * console.h (struct console_methods): move update_* to
10411         redisplay_*.
10412
10413 2000-07-20  Ben Wing  <ben@xemacs.org>
10414
10415         * *.[ch] (XSETOBJ): remove unused middle argument.
10416         lisp-disunion.h: correct wrap_object() to one argument.
10417
10418 2000-07-15  Ben Wing  <ben@xemacs.org>
10419
10420         * s/cygwin32.h:
10421         * s/cygwin32.h (CYGWIN_CONV_PATH):
10422         Add missing logb prototype for v1.1.
10423         Use post-b20 names and alias to pre-b20 names when pre-b20.
10424
10425         * s/windowsnt.h: [5].
10426
10427 2000-07-15  Ben Wing  <ben@xemacs.org>
10428
10429         * Makefile.in.in (x_objs):
10430         * Makefile.in.in (sheap_objs):
10431         * Makefile.in.in (objs):
10432         added win32.o, cosmetic cleanups.
10433
10434         * alloc.c (Fmake_byte_code):
10435         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10436         etc. macros which declare their own args now.
10437
10438         * alloc.c (syms_of_alloc):
10439         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10440
10441         * buffer.c:
10442         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10443
10444         * buffer.c (Fget_file_buffer):
10445         Fixed GCPRO problem.
10446
10447         * buffer.c (get_truename_buffer):
10448         Fixed comment about GC checking.
10449
10450         * buffer.c (syms_of_buffer):
10451         Undeclared those dedicated frame funs.
10452         [2].
10453
10454         * buffer.h:
10455         Define convenience macros for internal/external conversions.
10456         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10457         and Qenvironment_variable_encoding for cleaner code.
10458
10459         * bufslots.h:
10460         Remove dedicated-frame; in lisp.
10461
10462         * bytecode.c (funcall_compiled_function):
10463         [1].
10464
10465         * bytecode.c (syms_of_bytecode):
10466         [2].
10467
10468         * console-msw.c:
10469         * console-msw.c (mswindows_show_console): Rewrote.
10470
10471         * console-msw.c (Fmswindows_debugging_output): New.
10472         Sends to OutputDebugString (special MSWin debugger interface).
10473
10474         * console-msw.c (Fmswindows_message_box):
10475         Fixed stupid bugs so it works when called from kill-emacs.
10476
10477         * console-msw.c (syms_of_console_mswindows):
10478         Declare Fmswindows_debugging_output.
10479
10480         * console-msw.h:
10481         New MSWin prototypes.
10482
10483         * console-msw.h (struct mswindows_frame):
10484         New entry last-click-mods for improved button-modifier support.
10485
10486         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10487         New struct entry `popup' with corresponding accessor.
10488
10489         * console-x.c:
10490         * console-x.c (split_up_display_spec):
10491         * console-x.c (get_display_arg_connection):
10492         * console-x.c (x_semi_canonicalize_console_connection):
10493         * console-x.c (x_canonicalize_device_connection):
10494         [[[6]]]: Change char to more specific type.
10495         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10496
10497         * console-x.c (x_semi_canonicalize_console_connection):
10498         * console-x.c (x_canonicalize_device_connection):
10499         [[[9]]]: Fix up error signalling to use new structured error system.
10500
10501         * console-x.h:
10502         [[[4]]]: Define codesys aliases:
10503         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10504         Qx_color_name_encoding, Qx_display_name_encoding.
10505
10506         * console.h (struct console_methods):
10507         New method make_dialog_box_internal supersedes older
10508         popup_dialog_box method.
10509
10510         * data.c:
10511         Define many new errors, part of new structured errors.
10512
10513         * data.c (init_errors_once_early):
10514         * data.c (syms_of_data):
10515         [2].
10516
10517         * device-msw.c (mswindows_init_device):
10518         [[[5]]]: Cleanup to support NT 3.51.
10519
10520         * device-msw.c (decode_devmode): Cleanup.
10521
10522         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10523         * device-msw.c (mswindows_handle_print_dialog_box):
10524         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10525         * device-msw.c (syms_of_device_mswindows):
10526         Delete the dialog box primitives recently introduced by Kirill and
10527         instead interface to general dialog box interface.
10528
10529         * device-x.c:
10530         * device-x.c (compute_x_app_name):
10531         * device-x.c (x_init_device):
10532         * device-x.c (Fx_valid_keysym_name_p):
10533         * device-x.c (Fx_set_font_path):
10534         [6].
10535         [7].
10536
10537         * device.h (wrap_device): New.
10538         First of its kind; meant to replace XSETDEVICE.
10539
10540         * dialog-msw.c: Many file-dialog symbols.
10541
10542         * dialog-msw.c (mswindows_register_popup_frame): New.
10543         * dialog-msw.c (mswindows_is_dialog_msg): New.
10544         For supporting kbd traversal in dialog boxes.
10545
10546         * dialog-msw.c (dialog_proc):
10547         Support hitting ESC in dialogs.
10548
10549         * dialog-msw.c (struct):
10550         Common dialog box errors.
10551
10552         * dialog-msw.c (handle_file_dialog_box): New.
10553         Add file dialog code.
10554
10555         * dialog-msw.c (handle_question_dialog_box):
10556         Redo existing code to support new question dialog syntax.
10557
10558         * dialog-msw.c (console_type_create_dialog_mswindows):
10559         We support new dialog console method.
10560
10561         * dialog-msw.c (syms_of_dialog_mswindows):
10562         * dialog-msw.c (vars_of_dialog_mswindows):
10563         New file dialog symbols, vars.
10564
10565         * dialog-x.c:
10566         * dialog-x.c (maybe_run_dbox_text_callback):
10567         * dialog-x.c (dbox_descriptor_to_widget_value):
10568         * dialog-x.c (x_make_dialog_box_internal):
10569         * dialog-x.c (console_type_create_dialog_x):
10570         Mule-ize entire file.
10571         Redo to support question dialog syntax.
10572         [6].
10573
10574         * dialog.c:
10575         * dialog.c (Fmake_dialog_box_internal):
10576         * dialog.c (syms_of_dialog):
10577         Kill old popup-dialog-box, replace with new primitive.
10578         Just call device method or signal error.
10579
10580         * eldap.c (Fldap_open):
10581         * eldap.c (Fldap_search_basic):
10582         * eldap.c (Fldap_add):
10583         * eldap.c (Fldap_modify):
10584         [1].
10585         [7].
10586
10587         * emacs.c:
10588         * emacs.c (make_arg_list_1):
10589         * emacs.c (make_arg_list):
10590         Mule-ize call to dll_init().
10591         [6].
10592         [8].
10593
10594         * emacs.c (make_argc_argv):
10595         * emacs.c (free_argc_argv):
10596         * emacs.c (init_cmdargs):
10597         * emacs.c (main_1):
10598         * emacs.c (Fkill_emacs):
10599         * emacs.c (Fdump_emacs):
10600         Update comments about what can be used in syms_* etc.
10601         Call init_win32() when necessary.
10602         Fix up MS Win dialog box in kill-buffer to actually work right.
10603         [7].
10604
10605         * eval.c:
10606         * eval.c (For):
10607         * eval.c (Fand):
10608         * eval.c (Fprogn):
10609         * eval.c (Fprog1):
10610         * eval.c (Fprog2):
10611         * eval.c (FletX):
10612         * eval.c (Flet):
10613         * eval.c (condition_case_3):
10614         * eval.c (Feval):
10615         * eval.c (function_argcount):
10616         * eval.c (funcall_lambda):
10617         [1].
10618
10619         * eval.c (type_error): New.
10620         * eval.c (maybe_type_error): New.
10621         * eval.c (continuable_type_error): New.
10622         * eval.c (maybe_continuable_type_error): New.
10623         * eval.c (type_error_with_frob): New.
10624         * eval.c (maybe_type_error_with_frob): New.
10625         * eval.c (continuable_type_error_with_frob): New.
10626         * eval.c (maybe_continuable_type_error_with_frob): New.
10627         New functions for use with structured errors.
10628
10629         * event-Xt.c:
10630         * event-Xt.c (x_event_to_emacs_event):
10631         Buttons are now modifiers too.
10632
10633         * event-Xt.c (emacs_Xt_current_event_timestamp):
10634         Implement new event method.
10635         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10636
10637         * event-msw.c:
10638         * event-msw.c (ntpipe_shove_writer): [5].
10639         * event-msw.c (mswindows_enqueue_mouse_button_event):
10640         * event-msw.c (mswindows_drain_windows_queue):
10641         * event-msw.c (mswindows_wnd_proc): [7].
10642         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10643         * event-msw.c (mswindows_modifier_state):
10644         Throughout: support new button modifiers.
10645
10646         * event-msw.c (emacs_mswindows_current_event_timestamp):
10647         Implement new event method.
10648         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10649
10650         * event-stream.c:
10651         * event-stream.c (event_stream_current_event_timestamp): New.
10652         * event-stream.c (maybe_kbd_translate): New functionality.
10653         * event-stream.c (vars_of_event_stream):
10654         Document new kbd-translate-table functionality.
10655
10656         * event-stream.c (Fcurrent_event_timestamp): New.
10657         New primitive for use in fabricated events.
10658         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10659
10660         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10661
10662         * events.c:
10663         * events.c (Fmake_event):
10664         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10665         [1].
10666         [9].
10667
10668         * events.c (format_event_object): fix gcc warnings.
10669
10670         * events.c (Fevent_timestamp): Document new primitives.
10671
10672         * events.c (TIMESTAMP_HALFSPACE): New.
10673
10674         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10675         comparing timestamps correctly (half-space algorithm).
10676
10677         * events.c (Fevent_modifier_bits): Doc fix.
10678
10679         * events.c (Fevent_modifiers): Major doc addition.
10680         * events.c (event_x_y_pixel_internal): Typo fix.
10681         * events.c (syms_of_events): Declare new primitives.
10682
10683         * events.h:
10684         Update long comment for button modifiers, timestamps.
10685
10686         * events.h (struct event_stream):
10687         New current_event_timestamp method.
10688
10689         * extents.c:
10690         * extents.c (extent_in_region_p):
10691         * extents.c (decode_extent):
10692         * extents.c (Fset_extent_parent):
10693         * extents.c (decode_map_extents_flags):
10694         Fix gcc warnings.
10695         [9].
10696
10697         * extents.c (struct extent_at_arg):
10698         * extents.c (decode_extent_at_flag):
10699         * extents.c (extent_at_mapper):
10700         * extents.c (extent_at_bytind):
10701         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10702         * extents.c (Fextents_at): New primitive. [9].
10703         * extents.c (symbol_to_glyph_layout): [9].
10704         Support new primitive `extents-at'.
10705
10706
10707         * extents.c (get_text_property_bytind):
10708         extent_at_bytind has another arg.
10709         [9].
10710
10711         * extents.c (syms_of_extents): New primitive.
10712
10713         * file-coding.c (Fmake_coding_system): [1].
10714         * file-coding.c (subsidiary_coding_system): fix gcc warning
10715         * file-coding.c (syms_of_file_coding): [2].
10716
10717         * fileio.c (Fexpand_file_name):
10718         * fileio.c (Fsysnetunam):
10719         * fileio.c (Ffile_exists_p):
10720         * fileio.c (Ffile_executable_p):
10721         * fileio.c (Fverify_visited_file_modtime):
10722         Clean up GCPROing.
10723
10724         * fileio.c (syms_of_fileio): [2].
10725
10726         * filelock.c (lock_file_1):
10727         * filelock.c (current_lock_owner):
10728         * filelock.c (lock_if_free):
10729         * filelock.c (lock_file):
10730         * filelock.c (unlock_file):
10731         Clean up GCPROing.
10732
10733         * fns.c (concat): Fix gcc warning.
10734
10735         * fns.c (Fmember):
10736         * fns.c (Fold_member):
10737         * fns.c (Fmemq):
10738         * fns.c (Fold_memq):
10739         * fns.c (memq_no_quit):
10740         * fns.c (Fassoc):
10741         * fns.c (Fold_assoc):
10742         * fns.c (Fassq):
10743         * fns.c (Fold_assq):
10744         * fns.c (assq_no_quit):
10745         * fns.c (Frassoc):
10746         * fns.c (Fold_rassoc):
10747         * fns.c (Frassq):
10748         * fns.c (Fold_rassq):
10749         * fns.c (rassq_no_quit):
10750         * fns.c (Fdelete):
10751         * fns.c (Fold_delete):
10752         * fns.c (Fdelq):
10753         * fns.c (Fold_delq):
10754         * fns.c (delq_no_quit):
10755         * fns.c (Fremassoc):
10756         * fns.c (Fremassq):
10757         * fns.c (remassq_no_quit):
10758         * fns.c (Fremrassoc):
10759         * fns.c (Fremrassq):
10760         * fns.c (remrassq_no_quit):
10761         * fns.c (Freverse):
10762         * fns.c (mapcar1):
10763         [1].
10764
10765         * frame-msw.c (mswindows_init_frame_1):
10766         * frame-msw.c (mswindows_delete_frame):
10767         Register popups with dialog code so keyboard traversing works.
10768
10769         * frame-tty.c (tty_raise_frame_no_select): [1].
10770
10771         * frame-x.c:
10772         * frame-x.c (x_set_frame_text_value):
10773         * frame-x.c (x_set_frame_properties):
10774         * frame-x.c (x_create_widgets):
10775         [7].
10776
10777         * frame.c:
10778         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10779
10780         * frame.h (wrap_frame): New.
10781         Macro like wrap_device.
10782
10783         * general.c:
10784         * general.c (SYMBOL):
10785         * general.c (syms_of_general):
10786         Major reorg.  This is now just a wrapper and symbols themselves
10787         are listed in general-slots.h.
10788
10789         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10790         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10791
10792         * glyphs-msw.c (mswindows_native_layout_instantiate):
10793         Add DS_CONTROL so keyboard traversal will work.
10794
10795         * glyphs-widget.c:
10796         * glyphs-widget.c (syms_of_glyphs_widget):
10797         Move some symbols to general-slots.h.
10798
10799         * glyphs-x.c:
10800         * glyphs-x.c (xbm_instantiate_1):
10801         * glyphs-x.c (x_xbm_instantiate):
10802         * glyphs-x.c (x_xface_instantiate):
10803         * glyphs-x.c (autodetect_instantiate):
10804         * glyphs-x.c (cursor_font_instantiate):
10805         * glyphs-x.c (x_update_widget):
10806         * glyphs-x.c (x_widget_instantiate):
10807         * glyphs.c (bitmap_to_lisp_data):
10808         * glyphs.c (pixmap_to_lisp_data):
10809         [7].
10810
10811         * glyphs.c (syms_of_glyphs):
10812         [2].
10813
10814         * gui-x.c:
10815         * gui-x.c (print_widget_value):
10816         * gui-x.c (menu_separator_style_and_to_external):
10817         * gui-x.c (add_accel_and_to_external):
10818         * gui-x.c (button_item_to_widget_value):
10819         * gui-x.c (gui_items_to_widget_values_1):
10820         * gui-x.c (gui_items_to_widget_values):
10821         * gui-x.c (syms_of_gui_x):
10822         * gui-x.c (vars_of_gui_x):
10823         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10824         [9].
10825
10826         * gui-x.h:
10827         Muleize, prototype changes matching gui-x.c.
10828
10829         * gui.c:
10830         * gui.c (separator_string_p):
10831         * gui.c (gui_item_add_keyval_pair):
10832         * gui.c (make_gui_item_from_keywords_internal):
10833         * gui.c (signal_too_long_error):
10834         * gui.c (parse_gui_item_tree_item):
10835         * gui.c (syms_of_gui):
10836         * gui.c (vars_of_gui):
10837         * gui.h:
10838         menu-no-selection-hook moved here (used by MSWin).
10839         Move some symbols to general-slots.h.
10840         [6].
10841         [9].
10842
10843         * insdel.c (get_buffer_pos_char):
10844         * insdel.c (get_buffer_range_char):
10845         Add GC comments.
10846
10847         * keymap.c (keymap_lookup_directly):
10848         * keymap.c (keymap_store):
10849         * keymap.c (ensure_meta_prefix_char_keymapp):
10850         * keymap.c (describe_map):
10851         * keymap.h:
10852         Support new button modifiers.
10853
10854         * lisp-disunion.h (wrap_object):
10855         * lisp-disunion.h (XSETOBJ):
10856         Rename make_obj to wrap_object.
10857
10858         * lisp-union.h:
10859         * lisp-union.h (make_int):
10860         * lisp-union.h (make_char):
10861         Support wrap_object.
10862
10863         * lisp.h:
10864         * lisp.h (LIST_LOOP):
10865         * lisp.h (EXTERNAL_LIST_LOOP):
10866         * lisp.h (LIST_LOOP_2):
10867         * lisp.h (EXTERNAL_LIST_LOOP_1):
10868         * lisp.h (EXTERNAL_LIST_LOOP_2):
10869         * lisp.h (EXTERNAL_LIST_LOOP_3):
10870         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10871         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10872         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10873         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10874         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10875         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10876         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10877         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10878         * lisp.h (struct Lisp_Symbol):
10879         * lisp.h (maybe_continuable_error_with_frob):
10880         Fix up section comments.
10881         Add new types for char to indicate usage.
10882         Delete symbols auto-generated from general-slots.h.
10883         Add prototypes for structured error functions.
10884         Add long comments describing looping macros and change interface
10885         so that lvalues are automatically declared.
10886         Add NO_DECLARE macro in case callers want to declare lvalues
10887         themselves.
10888
10889         * lread.c (read_syntax_error):
10890         * lread.c (continuable_read_syntax_error):
10891         * lread.c (read_structure):
10892         * lread.c (sequence_reader):
10893         * lread.c (read_list_conser):
10894         * lread.c (read_compiled_function):
10895         Rename syntax_error and continuable_syntax_error to avoid clash
10896         with same-named structured error functions.
10897
10898         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10899         * menubar-msw.c (populate_menu_add_item):
10900         * menubar-msw.c (populate_or_checksum_helper):
10901         [5].
10902         [9].
10903
10904         * menubar-x.c:
10905         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10906         Mule-ize whole file.
10907
10908         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10909
10910         * mule-charset.c (Fmake_charset):
10911         * mule-wnnfns.c (Fwnn_set_param):
10912         [1].
10913
10914         * ntproc.c (create_child):
10915         * ntproc.c (Fwin32_set_current_locale):
10916         Add comments portending doom.
10917
10918         * objects-msw.c:
10919         * objects-msw.c (old_font_enum_callback_2):
10920         * objects-msw.c (font_enum_callback_1):
10921         * objects-msw.c (mswindows_enumerate_fonts):
10922         [5].
10923
10924         * objects-x.c:
10925         * objects-x.c (allocate_nearest_color):
10926         * objects-x.c (x_parse_nearest_color):
10927         * objects-x.c (x_initialize_color_instance):
10928         * objects-x.c (x_print_color_instance):
10929         * objects-x.c (x_finalize_color_instance):
10930         * objects-x.c (x_valid_color_name_p):
10931         * objects-x.c (x_initialize_font_instance):
10932         * objects-x.c (x_print_font_instance):
10933         * objects-x.c (valid_x_font_name_p):
10934         * objects-x.c (truename_via_FONT_prop):
10935         * objects-x.c (truename_via_random_props):
10936         * objects-x.c (truename_via_XListFonts):
10937         * objects-x.c (x_font_truename):
10938         * objects-x.c (x_font_instance_truename):
10939         * objects-x.c (x_font_instance_properties):
10940         * objects-x.c (x_list_fonts):
10941         * objects-x.c (x_find_charset_font):
10942         Mule-ize entire file.
10943         [7].
10944
10945         * objects-x.h:
10946         Mule-verify.
10947
10948         * print.c:
10949         * print.c (std_handle_out_external):
10950         * print.c (debug_print_no_newline):
10951         * print.c (syms_of_print):
10952         Output to all debugger kinds in debug-print.
10953         Fix console-output code under MSWin to actually work.
10954
10955         * process-nt.c (send_signal):
10956         * process-nt.c (nt_create_process):
10957         Use newer Unicode macros.
10958
10959         * process-unix.c (unix_create_process):
10960         * process-unix.c (unix_canonicalize_host_name):
10961         * process-unix.c (unix_open_network_stream):
10962         [7].
10963
10964         * scrollbar-x.c:
10965         Mule-verify.
10966
10967         * search.c (syms_of_search):
10968         [2].
10969
10970         * select-msw.c (mswindows_destroy_selection):
10971         Use LIST_LOOP_2.
10972
10973         * select-x.c (symbol_to_x_atom):
10974         [7].
10975
10976         * select.c (syms_of_select):
10977         [2].
10978
10979         * sound.c (Fplay_sound_file):
10980         [7].
10981
10982         * specifier.c:
10983         * specifier.c (decode_specifier_type):
10984         * specifier.c (Fvalid_specifier_locale_type_p):
10985         * specifier.c (check_valid_locale_or_locale_type):
10986         * specifier.c (decode_locale):
10987         * specifier.c (decode_locale_type):
10988         * specifier.c (decode_locale_list):
10989         * specifier.c (check_valid_domain):
10990         * specifier.c (decode_specifier_tag_set):
10991         * specifier.c (Fcanonicalize_tag_set):
10992         * specifier.c (Fdefine_specifier_tag):
10993         * specifier.c (Fspecifier_tag_predicate):
10994         * specifier.c (check_valid_inst_list):
10995         * specifier.c (check_valid_spec_list):
10996         * specifier.c (decode_how_to_add_specification):
10997         * specifier.c (check_modifiable_specifier):
10998         * specifier.c (specifier_add_spec):
10999         * specifier.c (boolean_validate):
11000         * specifier.c (display_table_validate):
11001         [9].
11002
11003         * specifier.c (syms_of_specifier):
11004         Move some symbols to general-slots.h.
11005         [2].
11006
11007         * symbols.c:
11008         * symbols.c (Fmapatoms):
11009         * symbols.c (Fapropos_internal):
11010         Add GCPROs.
11011
11012         * symbols.c (set_default_buffer_slot_variable):
11013         * symbols.c (set_default_console_slot_variable):
11014         [1].
11015
11016         * symbols.c (defsymbol_massage_name_1):
11017         * symbols.c (defkeyword_massage_name):
11018         * symbols.c (deferror_1):
11019         * symbols.c (deferror):
11020         * symbols.c (deferror_massage_name_and_message):
11021         * symeval.h:
11022         * symeval.h (DEFSYMBOL):
11023         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
11024
11025         * symbols.c (syms_of_symbols):
11026         [2].
11027
11028         * symsinit.h:
11029         * symsinit.h (init_win32): New.
11030         Also new is syms_of_dialog_mswindows.
11031
11032         * syswindows.h:
11033         Add new Unicode macros, missing Cygwin wide-char functions,
11034         convenience conversion macros for Qmswindows_tstr, macros for
11035         encapsulating required MSWin <-> Cygwin filename conversions,
11036         prototype for dynamically-extracted (not in NT 3.51) functions.
11037
11038         * toolbar-x.c:
11039         Mule-verify.
11040
11041         * tooltalk.c (Fadd_tooltalk_message_arg):
11042         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11043         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11044         [7].
11045
11046         * tooltalk.c (syms_of_tooltalk):
11047         [2].
11048
11049         * unexnt.c:
11050         * unexnt.c (unexec):
11051         Fix up headers, declaration of unexec() to be more standard.
11052
11053 2000-07-20  Martin Buchholz  <martin@xemacs.org>
11054
11055         * offix.h: Revert change to guard macros - they're used in offix.c!
11056
11057 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11058
11059         * lisp.h: Defsubred Fdelete.
11060
11061         * console-msw.h:  (msprinter_default_printer): Added.
11062
11063         * console-msw.c (msprinter_canonicalize_console_connection):
11064         (msprinter_canonicalize_device_connection): Added.
11065
11066         * device-msw.c (msprinter_default_printer):
11067         (Fmswingows_get_default_printer):
11068         (signal_enum_priner_error):
11069         (Fmswingows_printer_list): Added.
11070
11071 2000-07-19  Martin Buchholz <martin@xemacs.org>
11072
11073         * XEmacs 21.2.35 is released.
11074
11075 2000-07-19  Martin Buchholz  <martin@xemacs.org>
11076
11077         * select-x.c (x_handle_selection_request):
11078         Text selected in xemacs and pasted into xterm failed to appear.
11079         Spelling fixes and cosmetic changes.
11080
11081 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11082
11083         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
11084         XEmacs frame (fix for doubling chars in dialog boxes).
11085
11086 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11087
11088         * select.c (select_convert_in, select_convert_out):
11089         Don't call intern() every time.
11090
11091         * select.c (Qselect_convert_in, Qselect_convert_out): New.
11092         * select.c (vars_of_select): Initialise them.
11093
11094 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11095
11096         * select.c (selection-coercible-types): New.
11097
11098         * select.c (own-selection-internal):
11099         * select.c (get-selection-internal):
11100         MULE bug fix - these should default to COMPOUND_TEXT and not
11101         STRING for MULE. I think.
11102
11103         * select.c (select_convert_out): Use selection-coercible-types
11104         to find types that we can attempt to perform coercions on.
11105
11106 2000-07-18  Martin Buchholz  <martin@xemacs.org>
11107
11108         * mule-wnnfns.c:
11109         * mule-canna.c:
11110         Add coding: cookie to identify encoding.
11111
11112         * mule-canna.c (CANNA_mode_keys): make static.
11113         Use proper prototypes, even for functions of no arguments.
11114         Remove external prototype for Fding().
11115
11116         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11117
11118         * select.c (syms_of_select): Add missing DEFSUBR.
11119
11120 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11121
11122         * select.c (get_selection_internal, own_selection_internal):
11123         Make the type default to STRING, rather than placing a nil type
11124         into Vselection_alist.
11125
11126 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11127
11128         * gpmevent.c (tty_selection_exists_p):
11129         * gpmevent.c (tty_own_selection):
11130         Updated parameter lists.
11131
11132 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11133
11134         * select.h (selection-alist): Removed declaration.
11135
11136         * select.h (get_local_selection):
11137         * select.c (get_local_selection):
11138         Made static.
11139
11140         * select.h (convert_selection): Removed declaration.
11141         * select.c (convert_selection): Removed.
11142         This function belongs in Lisp.
11143
11144         * select.h (select_convert_in): Declare.
11145         * select.h (select_convert_out): Declare.
11146         * select.c (select_convert_in): New.
11147         * select.c (select_convert_out): New.
11148         New conversion functions for other files to call.
11149
11150         * select.h (select_notify_buffer_kill): Declare.
11151         * select.c (select_notify_buffer_kill): New.
11152         New functions that get called from kill-buffer.
11153
11154         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11155         X-specific lisp code.
11156
11157         * select.h: Declare some of the lisp-visible functions for
11158         external use.
11159
11160         * select.c (clean_local_selection_data): Removed. This was
11161         a disgusting function, and previously should have been in
11162         select-x.c in any case. The functionality is now provided
11163         in select-convert-from-integer (select.el).
11164
11165         * select.c (available-selection-types): Fixed stupidity where
11166         INTEGER and ATOM got added twice. Also add STRING when we see an
11167         extent.
11168
11169         * select.c (get-selection-internal): Removed symbol stripping. No
11170         longer causes conversion when data comes from the internal cache.
11171
11172         * select.c (syms_of_select): Added new functions.
11173
11174         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11175         error checking - previously this called abort!
11176
11177         * select-x.c (x_own_selection): Changed comment.
11178
11179         * select-x.c (x_handle_selection_request): Use select_convert_out.
11180         Don't mess with selection-alist; it's an internal variable of select.c.
11181
11182         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11183
11184         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11185         rather than messing with selection-alist.
11186
11187         * select-msw.c (mswindows_get_foreign_selection):
11188         Use TO_INTERNAL_FORMAT rather than hacking.
11189
11190 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11191
11192         * process-unix.c (unix_open_multicast_group):
11193         (unix_open_multicast_group): Remove useless casts.
11194
11195 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11196
11197         * sound.c (Fplay_sound): Fix `unused variable' warning.
11198
11199         * emacs.c (main): Use correct type for _environ on SCO5.
11200
11201 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11202
11203         * console.h (own_selection_method):
11204         * console.h (selection_exists_p_method):
11205         * console.h (available_selection_types_method): New.
11206         * console.h (register_selection_data_type_method): New.
11207         * console.h (selection_data_type_name): New.
11208
11209         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11210         function & alist to track GlobalAlloc()'d handles that need
11211         releasing when the clipboard data gets replaced or emptied.
11212
11213         * event-msw.c (mswindows_wnd_proc): Call it.
11214
11215         * lisp.h, general.c (Qappend): New symbol representing a
11216         `how-to-add' mode.
11217
11218         * select.c (own-selection-internal):
11219         * select.c (selection-exists-p):
11220         * select.c (available-selection-types): New.
11221         * select.c (register-selection-data-type): New.
11222         * select.c (selection-data-type-name): New.  New functions to deal
11223         with device-specific selection data formats.
11224         * select.c (selection-converter-out-alist): Renamed.
11225         * select.c (selection-converter-in-alist): New.
11226         * select.c (selection-appender-alist): New.  Added new alists.
11227         * select.c (syms_of_select, vars_of_select): Added new symbols &
11228         variables.
11229         * select.c (get_local_selection): Split.
11230         * select.c: Removed spurious type checking - selections may now be
11231         of any type, not just strings.
11232         * select.c (own-selection-internal):
11233
11234         * select.h, select.c (convert_selection): New. Created
11235         convert_selection() function based on get_local_selection().
11236         * select.h, select.c (QCF_*): New symbols representing mswindows
11237         clipboard formats.
11238         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11239         symbols representing `how-to-add' modes.
11240
11241         * select-msw.c (x_sym_p): New.
11242         * select-msw.c (symbol_to_ms_cf): New.
11243         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11244         symbols & clipboard formats. Can also handle string names.
11245         * select-msw.c (mswindows_own_selection):
11246         * select-msw.c (mswindows_selection_exists_p):
11247         Added `data-type' parameter. Use it.
11248         * select-msw.c (mswindows_available_selection_types): New.
11249         * select-msw.c (mswindows_register_selection_data_type): New.
11250         * select-msw.c (mswindows_selection_data_type_name): New.
11251         * select-msw.c (mswindows_own_selection):
11252         * select-msw.c (mswindows_get_foreign_selection):
11253         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11254         * select-msw.c (console_create_select_mswindows): Added new methods.
11255         * select-msw.c (mswindows_destroy_selection): New.
11256         * select-msw.c (Vhandle_alist): New list.
11257         * select-msw.c (mswindows_own_selection):
11258
11259         * select-x.c (x_own_selection):
11260         * select-x.c (x_selection_exists_p):
11261         * select-x.c: Added some comments about maybe using new
11262         functionality.
11263         * select-x.c (x_own_selection):
11264
11265         * specifier.c: Remove definition of Qappend (now in general.c)
11266         * specifier.c (syms_of_specifier): Remove Qappend.
11267
11268 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11269
11270         * config.h.in: Add socklen_t.
11271
11272         * s/decosf4-0.h: No special compiler flags needed or desired.
11273         In particular, undefine _BSD for DEC OSF 4.0.
11274
11275 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11276
11277         * redisplay-msw.c (msprinter_frame_output_end): Added.
11278         (console_type_create_redisplay_mswindows): Referred the above.
11279
11280         * frame.c (setup_frame_without_minibuffer): Do not create a
11281         default minibuffer frame on a printer device.
11282
11283         * frame-msw.c (apply_dc_geometry): Added.
11284         (msprinter_start_page):
11285         (msprinter_init_frame_3):
11286         (msprinter_eject_page): Use it.
11287
11288         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11289         and removed residual duplex and orientation properties.
11290
11291 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11292
11293         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11294
11295         * unexalpha.c: Remove system prototypes from C sources!
11296
11297 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11298
11299         * eval.c: Remove references to M-x edit-options in DEFUNs for
11300         `defvar' and `defconst'.
11301
11302 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11303
11304         * config.h.in: Remove SMART_INCLUDE hackery.
11305
11306         PostgreSQL hacking:
11307         * config.h.in: Don't use SMART_INCLUDE.
11308
11309         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11310         * inline.c: Simply #include "postgresql.h"
11311         * postgresql.c:
11312         - Don't use SMART_INCLUDE
11313         - Use simply "const".
11314         - Use standard doc string conventions.
11315         - Use correct type for result of PQstatus.
11316
11317 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11318
11319         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11320
11321         C++ compilation changes.
11322         * config.h.in (EXTERN_C): Define.
11323         * config.h.in (not): This is also a C++ keyword.
11324         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11325         * cm.c: Use EXTERN_C.
11326         * redisplay-tty.c: Use EXTERN_C.
11327         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11328
11329 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11330
11331         * general.c: Remove duplicate definition for Qfunction.
11332
11333 2000-07-08  Ben Wing  <ben@xemacs.org>
11334
11335         * device-msw.c (msprinter_init_device):
11336         * device-msw.c (sync_printer_with_devmode):
11337         * device-msw.c (handle_devmode_changes):
11338         * device-msw.c (print_dialog_worker):
11339         * device-msw.c (Fmsprinter_apply_settings):
11340         * device-msw.c (hash_devmode):
11341         * device-msw.c (Fmsprinter_settings_despecialize):
11342         use Qmswindows_tstr, not Qctext.
11343
11344         * vm-limit.c (check_memory_limits):
11345         avoid infinite loop printing warning messages.
11346
11347 2000-07-05  Craig Lanning  <lanning@scra.org>
11348
11349         * Makefile.in.in: Add support for including the Windows resources
11350         when building with the cygwin and mingw targets.
11351
11352         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11353         not set or not correct.
11354         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11355         (init_initial_directory): Don't try to use $PWD on the
11356         WIN32_NATIVE target.
11357
11358         * s\cygwin32.h:
11359         [[Add -mwindows to eliminate console window.]] not required --ben
11360         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11361         (MAIL_USE_POP): removed; now handled by configure.
11362
11363         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11364         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11365         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11366         (MAIL_USE_POP): removed; now handled by configure.
11367         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11368         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11369         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11370         constant string.
11371         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11372         up from <winsock.h> via systime.h.
11373         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11374         (getpagesize): from Dan Holmsand, added.
11375         Added #endif which was left dangling by Ben's mega patch; added
11376         comment to help prevent this in the future.
11377
11378         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11379
11380 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11381
11382         * console-msw.h (struct mswindows_device): Removed unnecessary
11383         cached device geometry values.
11384         Added update_tick and an accessor macro.
11385         (Lisp_Devmode): Added lrecord declaration.
11386         (struct msprinter_device): Contain devmode as a Lisp object.
11387         Added mswindows_get_selected_frame_hwnd();
11388
11389         * console.h (struct console_methods): Indentation nitpicking.
11390
11391         * device-msw.c (mswindows_init_device): Do not initialize geometry
11392         cache. Initialize update tick.
11393         (mswindows_device_system_metrics): Ask the device for its geometry.
11394         (global_free_2_maybe):
11395         (devmode_to_hglobal):
11396         (handle_printer_changes):
11397         (ensure_not_printing):
11398         (print_dialog_worker):
11399         (Fmsprinter_print_setup_dialog):
11400         (Fmsprinter_print_dialog):
11401         (plist_get_margin):
11402         (plist_set_margin):
11403         (Fmsprinter_page_setup_dialog): Added functions.
11404         (sync_printer_with_devmode):
11405         (handle_devmode_changes):
11406         (Fmsprinter_get_settings):
11407         (Fmsprinter_select_settings):
11408         (Fmsprinter_apply_settings):
11409         (allocate_devmode):
11410         (Fmsprinter_settings_copy):
11411         (Fmsprinter_settings_despecialize):
11412         (print_devmode):
11413         (finalize_devmode):
11414         (equal_devmode):
11415         (hash_devmode): Added functions
11416         (syms_of_device_mswindows): Init devmode lrecord class.
11417
11418         * device.h: Added an exfun for find-device.
11419
11420         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11421         geometry; although, recreate the device compatible DC.
11422
11423         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11424         (msprinter_init_frame_3):
11425         (msprinter_frame_property):
11426         (msprinter_internal_frame_property_p):
11427         (msprinter_frame_properties):
11428         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11429         print job properties (will move to device settings).
11430
11431         * lisp.h: Added symbols.
11432
11433         * general.c (syms_of_general): Declared them.
11434
11435         * hash.c (string_hash): Added.
11436
11437         * lrecord.h (lrecord_type): Added devmode lrecord type.
11438
11439 2000-07-02  Mike Sperber <mike@xemacs.org>
11440
11441         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11442         FreeBSD 4.0.
11443
11444 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11445
11446         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11447         integer.
11448
11449 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11450
11451         * data.c (Fstring_to_number): Don't recognize floating point if
11452         base is not 10.
11453
11454 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11455
11456         * glyphs-widget.c (tab_control_query_geometry):
11457         (widget_query_geometry):
11458         (button_query_geometry):
11459         * glyphs.c (text_query_geometry):
11460         Enforce type correctness.
11461
11462 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11463
11464         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11465         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11466
11467 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11468
11469         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11470         conflicts with gcc's fixincluded version of FOO.h.
11471
11472         * glyphs.h (image_instance_geometry): Remove trailing `,'
11473
11474 2000-06-08  Mike Alexander  <mta@arbortext.com>
11475
11476         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11477         (shove_thread): Don't write the same output twice
11478         (make_ntpipe_output_stream): Increase priority of shove thread
11479         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11480         chance to run
11481         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11482         it.
11483
11484 2000-06-12  Ben Wing  <ben@xemacs.org>
11485
11486         * s\mingw32.h (sigset):
11487         * s\windowsnt.h (sigset):
11488         rename msw_ to mswindows_ for consistency with general convention.
11489
11490 2000-06-12  Ben Wing  <ben@xemacs.org>
11491
11492         * console-msw.c:
11493         * console-msw.c (mswindows_get_console_hwnd):
11494         * console-msw.c (mswindows_ensure_console_allocated):
11495         * console-msw.c (mswindows_hide_console):
11496         * console-msw.c (mswindows_show_console):
11497         * console-msw.c (mswindows_ensure_console_buffered):
11498         * console-msw.c (mswindows_output_console_string):
11499         * console-msw.c (mswindows_windows9x_p):
11500         * console-msw.h:
11501         * device-msw.c (mswindows_get_workspace_coords):
11502         * device-msw.c (mswindows_device_system_metrics):
11503         * dialog-msw.c (mswindows_popup_dialog_box):
11504         * event-msw.c (mswindows_wnd_proc):
11505         * frame-msw.c (mswindows_size_frame_internal):
11506         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11507         * menubar-msw.c (displayable_menu_item):
11508         * menubar-msw.c (mswindows_char_is_accelerator):
11509         * nt.c:
11510         * nt.c (mswindows_sigset):
11511         * nt.c (mswindows_sigrelse):
11512         * nt.c (mswindows_sigpause):
11513         * nt.c (mswindows_raise):
11514         * nt.c (timer_proc):
11515         * ntproc.c:
11516         * ntproc.c (find_child_console):
11517         * ntproc.c (sys_kill):
11518         * print.c:
11519         * print.c (std_handle_out_external):
11520         * process-nt.c (find_child_console):
11521         * process-nt.c (send_signal_the_95_way):
11522         * process-nt.c (ensure_console_window_exists):
11523         * process-nt.c (nt_create_process):
11524         * syssignal.h:
11525         rename msw_ to mswindows_ for consistency with general convention.
11526
11527         * emacs.c:
11528         * dumper.c:
11529         include nt.h, not syswindows.h.
11530
11531         * nt.c (mswindows_fstat):
11532         * nt.c (mswindows_stat):
11533         prefix mswindows_ instead of attempting to directly override the
11534         library functions.  fix declarations.
11535
11536         * nt.h:
11537         include syswindows.h.  move some sysdep.h stuff here.
11538
11539         * ntheap.h:
11540         include syswindows.h, not <windows.h>.
11541
11542         * ntplay.c:
11543         clean up headers.
11544
11545         * sysdep.c:
11546         clean up headers.
11547
11548         * sysdep.c (sys_fstat):
11549         * sysdep.c (sys_stat):
11550         call mswindows versions when appropriate.
11551
11552         * sysdep.h:
11553         move mswin decls to nt.h.
11554
11555         * syswindows.h:
11556         add long comment describing appropriate use of the various windows
11557         headers.
11558
11559 2000-06-11  Ben Wing  <ben@xemacs.org>
11560
11561         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11562
11563 2000-06-10  Ben Wing  <ben@xemacs.org>
11564
11565         * Makefile.in.in (release):
11566         Correction to make sure xemacs.exe always dumped when correct.
11567
11568         * alloca.c:
11569         * balloon_help.c:
11570         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11571
11572         * buffer.c (set_buffer_internal):
11573         [[[[2]]]]: Remove HAVE_FEP code.
11574
11575         * buffer.c (init_initial_directory):
11576         [3].
11577
11578         * bytecode.c:
11579         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11580         individual files.
11581
11582         * callproc.c:
11583         * callproc.c (call_process_cleanup):
11584         * callproc.c (Fold_call_process_internal):
11585         * callproc.c (child_setup):
11586         * callproc.c (getenv_internal):
11587         * callproc.c (init_callproc):
11588         * callproc.c (vars_of_callproc):
11589         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11590         __CYGWIN32__ -> CYGWIN.
11591         DOS_NT -> WIN32_NATIVE.
11592         Remove MSDOS support/references, converting to WIN32_NATIVE
11593           where correct.
11594         __MINGW32__ -> MINGW.
11595         Fix windows.h includes.
11596         Remove bogus HAVE_NTGUI.
11597
11598         * config.h.in:
11599         [2].
11600
11601         * console-msw.c:
11602         mswindows_message_outputted added for use in allowing startup
11603         errors on the console to be seen.
11604
11605         * console-msw.c (msw_ensure_console_allocated):
11606         * console-msw.c (msw_output_console_string):
11607         * console-msw.c (DHEADER):
11608         * console-msw.c (DOPAQUE_DATA):
11609         * console-msw.c (DEVENT):
11610         * console-msw.c (DCONS):
11611         * console-msw.c (DCONSCDR):
11612         * console-msw.c (DSTRING):
11613         * console-msw.c (DVECTOR):
11614         * console-msw.c (DSYMBOL):
11615         * console-msw.c (DSYMNAME):
11616         Fix warnings.
11617
11618         * console-stream.c (stream_init_console):
11619         Fix text/binary problems.
11620
11621         * device-msw.c:
11622         * device-msw.c (mswindows_finish_init_device):
11623         * device-msw.c (mswindows_delete_device):
11624         [1].
11625
11626         * device.c (handle_asynch_device_change):
11627         [3].
11628
11629         * dgif_lib.c:
11630         * dgif_lib.c (DGifOpenFileName):
11631         * dgif_lib.c (DGifOpenFileHandle):
11632         * dgif_lib.c (DGifGetLine):
11633         * dgif_lib.c (DGifGetPixel):
11634         Added config.h/lisp.h, fix up includes.
11635         [1].
11636
11637         * dired-msw.c:
11638         [4].
11639
11640         * dired.c:
11641         * dired.c (file_name_completion):
11642         * dired.c (Ffile_attributes):
11643         * dired.c (syms_of_dired):
11644         [1].
11645
11646         * dumper.c:
11647         * dumper.c (pdump_file_unmap):
11648         * dumper.c (pdump_load):
11649         [1].
11650
11651         * editfns.c:
11652         * editfns.c (Ftemp_directory):
11653         * editfns.c (user_login_name):
11654         * editfns.c (Fuser_real_login_name):
11655         * editfns.c (get_home_directory):
11656         [1].
11657
11658         * elhash.c (finish_marking_weak_hash_tables):
11659         [[[[5]]]]: Fix GCC warnings.
11660
11661         * emacs.c:
11662         * emacs.c (mswindows_handle_hardware_exceptions):
11663         * emacs.c (make_arg_list_1):
11664         * emacs.c (main_1):
11665         * emacs.c (Fkill_emacs):
11666         * emacs.c (Fdump_emacs):
11667         [1].
11668         Fix problems with nested crashes, add long comment.
11669
11670         * event-Xt.c (init_event_Xt_late):
11671         [1].
11672
11673         * event-msw.c:
11674         * event-msw.c (mswindows_dde_callback):
11675         * event-msw.c (mswindows_handle_sticky_modifiers):
11676         * event-msw.c (mswindows_wnd_proc):
11677         [1].
11678         [5].
11679
11680         * events.c (character_to_event):
11681         [1].
11682
11683         * fileio.c:
11684         * fileio.c (Ffile_name_directory):
11685         * fileio.c (Ffile_name_nondirectory):
11686         * fileio.c (directory_file_name):
11687         * fileio.c (Fexpand_file_name):
11688         * fileio.c (Fsubstitute_in_file_name):
11689         * fileio.c (Ffile_name_absolute_p):
11690         * fileio.c (check_executable):
11691         * fileio.c (Ffile_readable_p):
11692         * fileio.c (Ffile_accessible_directory_p):
11693         * fileio.c (Ffile_modes):
11694         * fileio.c (Funix_sync):
11695         * fileio.c (vars_of_fileio):
11696         [1]. [4].
11697
11698         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11699
11700         Expand getdefdir defn.
11701         Fix bogus rename() comment.
11702
11703         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11704         to use standard XEmacs include files, e.g. sysfile.h, rather
11705         than system-specific includes.
11706
11707         * fns.c:
11708         * fns.c (Fsubseq):
11709         [5]. [6].
11710
11711         * frame.c (vars_of_frame):
11712         [1].
11713
11714         * getloadavg.c:
11715         * getloadavg.c (getloadavg):
11716         [1]. [6].
11717         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11718         (We don't use it elsewhere in the code; just add a comment.)
11719
11720         * gif_io.c:
11721         [6].
11722         Add config.h.
11723
11724         * glyphs-msw.c:
11725         * glyphs-msw.c (mswindows_resource_instantiate):
11726         [1].
11727
11728         * glyphs-x.c (x_native_layout_instantiate):
11729         [5].
11730
11731         * gui-msw.c (Fmswindows_shell_execute):
11732         [1].
11733
11734         * insdel.c:
11735         [4].
11736
11737         * lisp.h:
11738         [4]. [5].
11739
11740         * lread.c (locate_file_in_directory_mapper):
11741         [1].
11742
11743         * lstream.c:
11744         [4].
11745
11746         * mem-limits.h:
11747         * mem-limits.h (get_lim_data):
11748         [1].
11749
11750         * menubar-msw.c:
11751         [4].
11752
11753         * ndir.h:
11754         [1].
11755
11756         * nt.c:
11757         * nt.c (getwd):
11758         * nt.c (closedir):
11759         * nt.c (rva_to_section):
11760         * nt.c (mswindows_executable_type):
11761         [1]. [6].
11762         Fix closedir() defn.
11763
11764         * nt.h:
11765         [[[[8]]]]: *_OK defs moved to sysfile.h.
11766
11767         * ntproc.c:
11768         [6]. [7].
11769
11770         * objects-x.c:
11771         [4].
11772
11773         * print.c:
11774         * print.c (std_handle_out_external):
11775         [1]. [4].
11776
11777         * process-nt.c:
11778         * process-nt.c (nt_create_process):
11779         [6].
11780         try to fix process quoting somewhat.
11781
11782         * process-unix.c (unix_create_process):
11783         [1].
11784
11785         * process.c:
11786         * process.c (vars_of_process):
11787         Add Vnull_device.
11788
11789         * process.h:
11790         [1].
11791
11792         * realpath.c:
11793         * realpath.c (xrealpath):
11794         [1].
11795
11796         * redisplay-tty.c (init_tty_for_redisplay):
11797         [3].
11798
11799         * redisplay.c:
11800         [4]. [6].
11801
11802         * scrollbar-msw.c:
11803         [4].
11804
11805         * sheap.c:
11806         * sheap.c (more_static_core):
11807         * sheap.c (report_sheap_usage):
11808         [5]. [6].
11809
11810         * signal.c:
11811         * signal.c (alarm_signal):
11812         [1]. [6].
11813
11814         * sound.c:
11815         [6].
11816
11817         * strftime.c:
11818         * strftime.c (zone_name):
11819         [1]. [5].
11820
11821         * symsinit.h (init_sunpro):
11822         [1].
11823
11824         * syscommctrl.h:
11825         commctrl.h not in Cygwin b20.1.
11826
11827         * sysdep.c:
11828         * sysdep.c (endif):
11829         * sysdep.c (sys_subshell):
11830         * sysdep.c (init_baud_rate):
11831         * sysdep.c (emacs_get_tty):
11832         * sysdep.c (emacs_set_tty):
11833         * sysdep.c (tty_init_sys_modes_on_device):
11834         * sysdep.c (init_system_name):
11835         * sysdep.c (sys_open):
11836         * sysdep.c (interruptible_open):
11837         * sysdep.c (sys_fopen):
11838         * sysdep.c (sys_mkdir):
11839         * sysdep.c (sys_rename):
11840         * sysdep.c (get_process_times_1):
11841         [1]. [6].
11842
11843         * sysdep.h:
11844         [1].
11845
11846         * sysdir.h:
11847         * sysdir.h (DIRENTRY_NONEMPTY):
11848         [1]. [6].
11849
11850         * sysdll.c (dll_init):
11851         * sysdll.h:
11852         [1].
11853
11854         * sysfile.h:
11855         [1]. [6]. [8].
11856         added text/binary defs.
11857
11858         * sysfloat.h:
11859         [1].
11860
11861         * sysproc.h:
11862         * sysproc.h (EDESTADDRREQ):
11863         * sysproc.h (poll_fds_for_input):
11864         [1]. [6].
11865
11866         * syspwd.h:
11867         [6].
11868
11869         * syssignal.h:
11870         [1].
11871
11872         * systime.h:
11873         [1]. [6].
11874
11875         * systty.h:
11876         [1].
11877
11878         * syswindows.h:
11879         [1].
11880         Always define WIN32_LEAN_AND_MEAN.
11881
11882         * unexcw.c (unexec):
11883         [5].
11884
11885         * unexec.c:
11886         * unexec.c (copy_text_and_data):
11887         * unexec.c (adjust_lnnoptrs):
11888         [1].
11889
11890         * unexnt.c:
11891         * unexnt.c (_start):
11892         [1].
11893
11894 2000-06-07  Ben Wing  <ben@xemacs.org>
11895
11896         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11897         was used only as a model.  We've long since extracted any useful
11898         logic or code out of this. (I just did an exhaustive search.)
11899
11900         * s\msdos.h: Removed.
11901
11902         * s\windows95.h: Removed.
11903
11904 2000-06-10  Ben Wing  <ben@xemacs.org>
11905
11906         * s\cygwin32.h:
11907         [1]. [5].
11908         Don't use extern with fun defs.
11909
11910         * s\mingw32.h:
11911         [1]. [7].
11912         Remove nt\inc include.
11913         Remove getdisk, getdefdir. (The former is unused, the latter
11914         expanded in fileio.h.)
11915
11916         * s\windowsnt.h:
11917         * s\windowsnt.h (WIN32_NATIVE):
11918         * s\windowsnt.h (HAVE_STRCASECMP):
11919         [1]. [7].
11920         Add long comment about preprocessor changes.
11921         Remove getdisk, getdefdir. (The former is unused, the latter
11922         expanded in fileio.h.)
11923
11924 2000-06-10  Ben Wing  <ben@xemacs.org>
11925
11926         * m\arm.h:
11927         * m\delta.h:
11928         * m\intel386.h:
11929         * m\sequent.h:
11930         * m\template.h:
11931         * m\windowsnt.h:
11932         [1].
11933         Remove bogus/unused NO_SOCK_SIGIO.
11934
11935 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11936
11937         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11938         not an Emchar.
11939
11940 2000-06-04  Mike Sperber <mike@xemacs.org>
11941
11942         * casetab.c (set_case_table): For `set-standard-case-table',
11943         actually deposit the new case tables where the rest of XEmacs can
11944         see them.
11945
11946 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11947
11948         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11949
11950 2000-06-05  Ben Wing  <ben@xemacs.org>
11951
11952         * callproc.c (child_setup): Don't do close_load_descs() under
11953         MS Windows.  Put in a comment explaining why.
11954
11955 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11956
11957         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11958         Toolkit shell" which breaks `kill-compilation' on Windows NT
11959         native, retaining STDERR handling improvements.
11960
11961 2000-06-01  Andreas Jaeger  <aj@suse.de>
11962
11963         * s/s390.h: Support for S390, based on a patch by Martin
11964         Schwidefsky <schwidefsky@de.ibm.com>.
11965
11966 2000-05-30  Andy Piper  <andy@xemacs.org>
11967
11968         * window.c (allocate_window):
11969         (make_dummy_parent):
11970         (Fset_window_configuration): use new hashtable type.
11971
11972         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11973         (struct image_instantiator_methods):
11974         (struct Lisp_Image_Instance): make instance geometry signed.
11975
11976         * glyphs.c (instantiate_image_instantiator):
11977         (image_instance_query_geometry):
11978         (image_instance_layout):
11979         (image_instance_layout):
11980         (query_string_geometry):
11981         (text_query_geometry):
11982         (image_instantiate):
11983         (image_instantiate):
11984         (cache_subwindow_instance_in_frame_maybe):
11985         (subwindow_query_geometry): make instance geometry signed.
11986
11987         * glyphs-widget.c (widget_query_geometry):
11988         (widget_layout):
11989         (button_query_geometry):
11990         (tree_view_query_geometry):
11991         (tab_control_query_geometry):
11992         (layout_query_geometry):
11993         (layout_layout):
11994         (native_layout_layout): make instance geometry signed.
11995
11996 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11997
11998         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11999         constant.
12000
12001         * general.c (syms_of_general): Add Qfull_assoc symbol.
12002
12003         * data.c (finish_marking_weak_lists): Mark full-assoc lists
12004         correctly.
12005         (decode_weak_list_type): Decode full-assoc type.
12006         (encode_weak_list_type): Encode full-assoc type.
12007         (Fmake_weak_list): Update doc string.
12008
12009 2000-05-30  Andy Piper  <andy@xemacs.org>
12010
12011         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
12012
12013         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
12014         (decode_hash_table_weakness): ditto.
12015         (Fhash_table_weakness): ditto.
12016         (Fhash_table_type): ditto.
12017         (finish_marking_weak_hash_tables): ditto.
12018         (hash_table_weakness_validate): ditto.
12019         (syms_of_elhash): ditto.
12020
12021 2000-05-28  Martin Buchholz <martin@xemacs.org>
12022
12023         * XEmacs 21.2.34 is released.
12024
12025 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12026
12027         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
12028         start cache.
12029         (updating_line_start_cache): Gone.
12030         (regenerate_window): Replace resetting of VERTICAL_CLIP by
12031         generic code to force a minimum of 1 line laid out in the
12032         CMOTION_DISP case.
12033
12034 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12035
12036         * glyphs.c (instantiate_image_instantiator): Check for initialized
12037         height & width no longer special cases IMAGE_NOTHING.
12038         (nothing_instantiate): Set height and width of instance.
12039
12040 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12041
12042         * unexelf.c (unexec): Search for ".data" section.
12043         Initialize new_data2_offset from old_data_index.
12044         Remove redundant check for ElfW.
12045
12046 2000-05-23  Andy Piper  <andy@xemacs.org>
12047
12048         * glyphs.c (get_image_instantiator_governing_domain): allow more
12049         specific domains as the governing domain rather than expecting an
12050         exact match. This fixes problems with layouts.
12051
12052 2000-05-22  Andy Piper  <andy@xemacs.org>
12053
12054         * redisplay-output.c (compare_runes): check for non-images
12055
12056         * glyphs.c (set_glyph_dirty_p): ditto.
12057         (update_glyph_cachel_data): ditto.
12058
12059         * glyphs-widget.c (layout_post_instantiate): ditto.
12060         (layout_post_instantiate): ditto.
12061
12062         * event-msw.c (mswindows_wnd_proc): warning removal.
12063
12064 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
12065
12066         * s\mingw32.h: Added #undef for CLASH_DETECTION.
12067
12068         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
12069
12070         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
12071
12072         * nt.c (rva_to_section): mingw32 needs rva_to_section.
12073         (mswindows_executable_type): mingw32 now has enough headers for
12074         this to work.
12075
12076 2000-05-20  Andy Piper  <andy@xemacs.org>
12077
12078         * console-msw.c (mswindows_output_last_error): ; -> ,
12079
12080 2000-05-12  Andy Piper  <andy@xemacs.org>
12081
12082         * console-msw.c (FROB): compare ints with ints.
12083
12084 2000-05-11  Andy Piper  <andy@xemacs.org>
12085
12086         * glyphs-x.c (x_finalize_image_instance): make minimal build
12087         happy.
12088
12089 2000-05-20  Ben Wing  <ben@xemacs.org>
12090
12091         * event-Xt.c:
12092         * event-Xt.c (vars_of_event_Xt):
12093         move modifier-keys-are-sticky to event-stream.c.
12094
12095         * event-msw.c:
12096         * event-msw.c (mswindows_enqueue_mouse_button_event):
12097         * event-msw.c (key_needs_default_processing_p):
12098         * event-msw.c (XEMSW_LCONTROL):
12099         * event-msw.c (mswindows_handle_sticky_modifiers):
12100         * event-msw.c (FROB):
12101         * event-msw.c (clear_sticky_modifiers):
12102         * event-msw.c (output_modifier_keyboard_state):
12103         * event-msw.c (output_alt_keyboard_state):
12104         * event-msw.c (mswindows_wnd_proc):
12105         * event-msw.c (mswindows_modifier_state):
12106         * event-msw.c (emacs_mswindows_handle_magic_event):
12107         implement sticky modifiers.
12108
12109         * event-stream.c:
12110         * event-stream.c (vars_of_event_stream):
12111         move modifier-keys-are-sticky here.
12112
12113         * lisp.h:
12114         add CHECK_FUNCTION.
12115
12116         * rangetab.c:
12117         implement map-range-table.
12118
12119
12120 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12121
12122         * redisplay-tty.c (reset_tty_modes):
12123         (tty_redisplay_shutdown): Adjust argument type to
12124         tty_frame_output_end.
12125
12126 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12127
12128         * eval.c (Fbacktrace): Don't output a line with only right
12129         parenthesis.
12130
12131 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12132
12133         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12134         (Fpq_reset_poll): Ditto.
12135
12136 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12137
12138         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12139
12140 2000-05-16  Ben Wing  <ben@xemacs.org>
12141
12142         * buffer.c:
12143         * buffer.c (dfc_convert_to/from_internal_format):
12144         * buffer.c (reinit_vars_of_buffer):
12145         Fix conversion functions to allow reentrancy.
12146
12147         * console-msw.c:
12148         * console-msw.c (mswindows_output_last_error):
12149         New fun, generally useful -- output a human-readable
12150         version of GetLastError() on the console.
12151
12152         * console-msw.h:
12153         * console-msw.h (struct mswindows_frame):
12154         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12155
12156         * console-stream.c (stream_output_begin):
12157         * console-stream.c (stream_output_end):
12158         * console-stream.c (stream_output_vertical_divider):
12159         * console-stream.c (stream_clear_region):
12160         * console-stream.c (stream_flash):
12161         * console-stream.c (console_type_create_stream):
12162         Delete blank stream methods, not needed.
12163
12164         * console.h (struct console_methods):
12165         Split begin/end methods into window and frame.
12166
12167         * event-msw.c:
12168         * event-msw.c (mswindows_handle_paint):
12169         * event-msw.c (output_alt_keyboard_state):
12170         * event-msw.c (mswindows_wnd_proc):
12171         * event-msw.c (vars_of_event_mswindows):
12172         Comment about problems with ignored-expose.
12173         Define mswindows-debug-events; not really implemented.
12174
12175         * frame-msw.c (mswindows_init_frame_1):
12176         random cleanups.
12177
12178         * glyphs-msw.c:
12179         * glyphs-msw.c (begin_defer_window_pos):
12180         * glyphs-msw.c (mswindows_unmap_subwindow):
12181         * glyphs-msw.c (mswindows_map_subwindow):
12182         * glyphs-msw.c (mswindows_resize_subwindow):
12183         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12184
12185         * glyphs.c (make_image_instance_1):
12186         Fix crash.
12187
12188         * gutter.c (Fredisplay_gutter_area):
12189         Use new begin/end methods.
12190
12191         * lisp.h (Dynarr_new2):
12192         New creation fun.
12193
12194         * redisplay-msw.c:
12195         * redisplay-msw.c (mswindows_frame_output_begin):
12196         * redisplay-msw.c (mswindows_frame_output_end):
12197         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12198         New begin/end methods -- handle DeferWindowPos.
12199
12200         * redisplay-output.c (redisplay_move_cursor):
12201         * redisplay-output.c (redraw_cursor_in_window):
12202         * redisplay-output.c (redisplay_update_line):
12203         * redisplay-output.c (redisplay_output_window):
12204         New begin/end methods.
12205
12206         * redisplay-tty.c:
12207         * redisplay-tty.c (tty_frame_output_begin):
12208         * redisplay-tty.c (tty_frame_output_end):
12209         * redisplay-tty.c (console_type_create_redisplay_tty):
12210         New begin/end methods.
12211
12212         * redisplay-x.c:
12213         * redisplay-x.c (x_window_output_begin):
12214         * redisplay-x.c (x_window_output_end):
12215         * redisplay-x.c (console_type_create_redisplay_x):
12216         New begin/end methods.
12217
12218         * redisplay.c (redisplay_frame):
12219         * redisplay.c (Fredisplay_echo_area):
12220         New begin/end methods.
12221         use MAYBE_DEVMETH for clear_frame; it may not exist.
12222
12223         * window.h (WINDOW_XFRAME):
12224         WINDOW_XFOO macros -- get locale and decode struct pointer.
12225
12226
12227 2000-05-12  Ben Wing  <ben@xemacs.org>
12228
12229         * emacs.c:
12230         * emacs.c (ensure_no_quitting_from_now_on):
12231         * emacs.c (fatal_error_signal):
12232         * emacs.c (mswindows_handle_hardware_exceptions):
12233         * emacs.c (main):
12234         * emacs.c (Fkill_emacs):
12235         * emacs.c (shut_down_emacs):
12236         * emacs.c (assert_failed):
12237         various improvements in fatal error handling.
12238
12239         * eval.c:
12240         move preparing_for_armageddon to emacs.c.
12241
12242         * lisp.h:
12243         declare fatal_error_in_progress.
12244
12245         * print.c:
12246         * print.c (std_handle_out_external):
12247         * print.c (std_handle_out_va):
12248         * print.c (stderr_out):
12249         * print.c (stdout_out):
12250         use console under mswin when no standard output.
12251         don't do code conversion during fatal error.
12252
12253         * scrollbar.c (Fscrollbar_page_up):
12254         * scrollbar.c (Fscrollbar_page_down):
12255         fix missing else.  reindent.
12256
12257 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12258
12259         Emergency fix.
12260
12261         * glyphs.h (GLYPH_CACHEL_DESCENT):
12262         (GLYPH_CACHEL_DESCENT):
12263         (GLYPH_CACHEL_DESCENT):
12264         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12265         used in case these are inline functions.
12266         Use more absurd values to error check.
12267
12268         include window.h for error check functions.
12269
12270 2000-05-11  Ben Wing  <ben@xemacs.org>
12271
12272         * cmdloop.c (Freally_early_error_handler):
12273         Display message box under windows; otherwise, message will disappear
12274         before it can be viewed.
12275
12276         * console-msw.c:
12277         * console-msw.c (Fmswindows_message_box):
12278         * console-msw.c (FROB):
12279         * console-msw.c (syms_of_console_mswindows):
12280         Define new fun `mswindows-message-box'.
12281         #### I will merge this into `popup-dialog-box'; just give me
12282         a bit of time.
12283
12284         * general.c:
12285         * general.c (syms_of_general):
12286         Some new symbols used in `mswindows-message-box'.
12287
12288         * glyphs.c:
12289         * glyphs.c (Fset_image_instance_property):
12290         put warning in this fun.
12291
12292         * glyphs.h:
12293         * glyphs.h (GLYPH_CACHEL_WIDTH):
12294         * glyphs.h (GLYPH_CACHEL_ASCENT):
12295         * glyphs.h (GLYPH_CACHEL):
12296         * glyphs.h (GLYPH_CACHEL_GLYPH):
12297         define error-checking versions to try to catch a bug i've seen --
12298         redisplay gets in an infinite loop because the glyph width of the
12299         continuation glyph is 65535.
12300
12301         * lisp.h:
12302         Extern message-box stuff.
12303
12304         * window.c (allocate_window):
12305         * window.c (make_dummy_parent):
12306         * window.c (Fset_window_configuration):
12307         Use EQUAL not EQ for subwindow caches to make them work a bit
12308         better. (Something is still very broken.)
12309
12310
12311 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12312
12313         * glyphs.c (image_instantiate): Suppress gcc warnings.
12314         (Fmake_image_instance): Fix doc string.
12315         * specifier.c (Fmake_specifier): Ditto.
12316
12317 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12318
12319         * paths.h.in (PATH_LOCK): Removed.
12320         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12321         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12322
12323 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12324
12325         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12326         Document (featurep '(and xemacs 21.02)).
12327
12328 2000-05-09  Ben Wing  <ben@xemacs.org>
12329
12330         * buffer.c (complex_vars_of_buffer):
12331         update modeline-format doc.
12332
12333         * device.h:
12334         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12335
12336         * emacs.c:
12337         timeline of all released versions of Emacs, for use in creating
12338         authorship comments and in synching up.
12339
12340         * glyphs-widget.c (image_instantiator_buttons):
12341         * glyphs-widget.c (image_instantiator_edit_fields):
12342         * glyphs-widget.c (image_instantiator_combo_box):
12343         * glyphs-widget.c (image_instantiator_scrollbar):
12344         * glyphs-widget.c (image_instantiator_progress_guage):
12345         * glyphs-widget.c (image_instantiator_tree_view):
12346         * glyphs-widget.c (image_instantiator_tab_control):
12347         * glyphs-widget.c (image_instantiator_labels):
12348         * glyphs-widget.c (image_instantiator_layout):
12349         * glyphs-widget.c (image_instantiator_native_layout):
12350         rename decode_domain method to governing_domain.
12351
12352         * glyphs.c:
12353         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12354         * glyphs.c (add_entry_to_device_ii_format_list):
12355         make sure we don't put an entry more than once into the list.
12356         * glyphs.c (check_instance_cache_mapper):
12357         *************************************************************
12358         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12359         HAVE BEEN GETTING.
12360         *************************************************************
12361         * glyphs.c (get_image_instantiator_governing_domain):
12362         clean up, expand on new concept of governing domain.
12363         * glyphs.c (instantiate_image_instantiator):
12364         * glyphs.c (allocate_image_instance):
12365         use governing_domain instead of cache_domain in naming.
12366         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12367         * glyphs.c (make_image_instance_1):
12368         * glyphs.c (Fmake_image_instance):
12369         allow for any domain (not just device), and process the
12370         governing domain correctly.  very big doc fix.
12371         * glyphs.c (Fimage_instance_domain):
12372         new primitive, to retrieve the governing domain of an image instance.
12373         * glyphs.c (image_instantiate):
12374         use new governing_domain stuff.  this fixes a crash you could get
12375         by instantiating certain widget glyphs in frame locales. (should
12376         signal an error instead of crashing.)
12377         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12378         * glyphs.c (Fglyphp): clean up doc.
12379         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12380         * glyphs.c (syms_of_glyphs):
12381         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12382         * glyphs.c (image_instantiator_format_create): add some comments about
12383         bogus code.
12384         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12385         for current-display-table. (Apparently Hrjove implemented in 1998 a
12386         design I wrote up in 1996, but didn't update the doc string.)
12387
12388         * glyphs.h: clean up a doc string.
12389         * glyphs.h (governing_domain):
12390         * glyphs.h (struct image_instantiator_methods):
12391         changes for governing_domain stuff.
12392
12393         * gutter.c:
12394         * gutter.c (Fgutter_specifier_p):
12395         * gutter.c (Fgutter_size_specifier_p):
12396         * gutter.c (Fgutter_visible_specifier_p):
12397         * objects.c:
12398         * objects.c (Fcolor_specifier_p):
12399         * objects.c (Ffont_specifier_p):
12400         * objects.c (Fface_boolean_specifier_p):
12401         doc strings moved to make-*-specifier.
12402
12403         * redisplay.c (add_disp_table_entry_runes_1):
12404         * redisplay.c (generate_fstring_runes):
12405         * redisplay.c (screen):
12406         add random comments and doc strings.
12407
12408         * specifier.c:
12409         * specifier.c (Fmake_specifier):
12410         major overhaul of this doc string.
12411
12412         * specifier.c (Fvalid_specifier_domain_p):
12413         comment about the bogosity of image instances being domains.
12414         * specifier.c (decode_domain):
12415         now non-static, used in glyphs.c.
12416         * specifier.c (specifier_instance):
12417         comment about the bogosity of image instances being domains.
12418         * specifier.c (Fgeneric_specifier_p):
12419         move doc string to make-generic-specifier.
12420         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12421         rebackslashify.
12422
12423         * specifier.h:
12424         * specifier.h (DOMAIN_FRAME):
12425         * specifier.h (DOMAIN_LIVE_P):
12426         * specifier.h (DOMAIN_XDEVICE):
12427         rebackslashify.
12428         add comments about problems with these macros.
12429         prototype for decode_domain.
12430
12431         * toolbar.c:
12432         * toolbar.c (Ftoolbar_specifier_p):
12433         move doc string to `make-toolbar-specifier'.
12434
12435         * window.c (window_unmap_subwindows_cache_mapper):
12436         *************************************************************
12437         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12438         HAVE BEEN GETTING.
12439         *************************************************************
12440
12441 2000-05-09  Andy Piper  <andy@xemacs.org>
12442
12443         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12444
12445         * window.c (Fset_window_configuration): reset the frame subwindow
12446         cache and re-initialize the window subwindow caches.
12447
12448         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12449
12450 2000-05-09  Ben Wing  <ben@xemacs.org>
12451
12452         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12453         DWORD.
12454
12455 2000-04-26  Mike Woolley  <mike@bulsara.com>
12456
12457         * ntheap.c: Changed recreate_heap to limit the amount reserved
12458         for the heap to that which is actually available. Also now
12459         displays a message box (with some dignostics) in the event that
12460         it still can't start.
12461
12462 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12463
12464         * callproc.c (Fold_call_process_internal): GCPRO path
12465
12466 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12467
12468         Patch by Bill Perry.
12469
12470         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12471         back data instead of #ifdef.
12472         (Fscrollbar_page_down): ditto.
12473
12474 2000-05-07  Ben Wing  <ben@xemacs.org>
12475
12476         * buffer.h:
12477         Kludge for defining Qmswindows_tstr.
12478
12479         * nt.c:
12480         * nt.c (open_input_file):
12481         * nt.c (open_output_file):
12482         * nt.c (rva_to_section):
12483         * nt.c (mswindows_executable_type):
12484         Move all memory-mapped-file routines here (some were in unexnt.c,
12485         which is bad because they are used by process-nt.c, and unexnt
12486         won't be around when portable dumping).  Synched the above routines
12487         with FSF 20.6.
12488
12489         * nt.h:
12490         Removed ifdef'd out bogus code.
12491         Fixed some prototypes.
12492
12493         * nt.h (file_data):
12494         * nt.h (OFFSET_TO_RVA):
12495         * nt.h (RVA_TO_OFFSET):
12496         * nt.h (RVA_TO_PTR):
12497         Moved the memory-mapped-file structures, macros and prototypes
12498         here, to parallel nt.c.  ntheap.h should really be removed
12499         entirely, and it's a non-portable-dumper specific file.
12500
12501         * ntheap.h (round_to_next):
12502         Moved the memory-mapped-file structures, macros and prototypes
12503         to nt.h.
12504
12505         * ntproc.c (compare_env):
12506         Moved rva_to_section and mswindows_executable_type to nt.c.
12507         Moved compare_env to process-nt.c.
12508         ntproc.c will die, one day.
12509
12510         * ntproc.c (sys_spawnve):
12511         Account for win32_ -> mswindows_.
12512
12513         * process-nt.c:
12514         * process-nt.c (struct nt_process_data):
12515         * process-nt.c (ensure_console_window_exists):
12516         * process-nt.c (compare_env):
12517         * process-nt.c (nt_create_process):
12518         * process-nt.c (nt_kill_process_by_pid):
12519         * process-nt.c (syms_of_process_nt):
12520         * process-nt.c (vars_of_process_nt):
12521         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12522         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12523         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12524         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12525         Move compare_env here from ntproc.c.
12526
12527         * process.c (Fprocess_send_region):
12528         Takes an optional fourth argument, BUFFER, which should fix some
12529         problems with call-process.
12530
12531         * syscommctrl.h:
12532         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12533
12534         * syswindows.h:
12535         Move ICC_BAR_CLASSES to syscommctrl.h.
12536         Add preliminary macros for MSWindows/Mule.  More to come.
12537
12538         * unexnt.c:
12539         * unexnt.c (unexec):
12540         open_output_file moved to nt.c.
12541
12542
12543 2000-05-05  Andy Piper  <andy@xemacs.org>
12544
12545         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12546         instance from the frame cache also since GC may catch up too late
12547         to make frame deletion sane.
12548
12549 2000-05-04  Andy Piper  <andy@xemacs.org>
12550
12551         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12552         (x_finalize_image_instance): ungcpro on deletion.
12553
12554         * glyphs.c (image_instantiator_format_create): give pointers a
12555         query geometry method so that the geometry is at least set.
12556
12557         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12558         initialize layouts if using widgets.
12559
12560 2000-05-03  Andy Piper  <andy@xemacs.org>
12561
12562         * nt.c: remove bogus reference to sysmmsystem.h
12563
12564         * gui-x.c (popup_selection_callback): fix no selection abort.
12565
12566 2000-05-02  Andy Piper  <andy@xemacs.org>
12567
12568         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12569         (mswindows_widget_instantiate): ditto.
12570
12571         * glyphs-widget.c (initialize_widget_image_instance): initialize
12572         children correctly.
12573         (widget_instantiate): cope with children and items in the same
12574         instance.
12575
12576         * glyphs.c (mark_image_instance): cope with children as a first
12577         class member.
12578         (image_instance_equal): ditto.
12579         (image_instance_hash): ditto.
12580         (image_instance_changed): ditto.
12581
12582 2000-04-30  Andy Piper  <andy@xemacs.org>
12583
12584         * glyphs.c (subwindow_query_geometry): new function. Return some
12585         defaults.
12586         (subwindow_instantiate): don't assign dimensions if none have been
12587         given.
12588         (image_instantiator_format_create): add subwindow_query_geometry.
12589         (print_image_instance): cope with layouts as widgets.
12590
12591 2000-04-29  Andy Piper  <andy@xemacs.org>
12592
12593         * frame.c (delete_frame_internal): call
12594         free_frame_subwindow_instance_cache so that all subwindows are
12595         finalized before their parent.
12596         (mark_frame): remove subwindow_cachels.
12597         (Fmake_frame): remove subwindow_cachel manipulation.
12598         (allocate_frame_core): subwindow_instance_cache is a weak list.
12599         (delete_frame_internal): set subwindow_instance_cache to nil.
12600
12601         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12602         finalization safe.
12603         (mswindows_finalize_image_instance): use the device
12604         not the domain as the domain may have died already.
12605
12606         * glyphs-x.c (x_finalize_image_instance): ditto.
12607         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12608         HEIGHT.
12609
12610         * redisplay-output.c (redisplay_unmap_subwindows): update for
12611         subwindow instance cache as a weak list.
12612         (redisplay_unmap_subwindows_maybe): ditto.
12613         (redisplay_unmap_subwindows_except_us): ditto.
12614
12615         * glyphs.c (unmap_subwindow): error checking will check the domain
12616         so don't deal with it here. Don't use cachels anymore.
12617         (map_subwindow): ditto.
12618         (update_subwindow_cachel_data): remove old accessor names.
12619         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12620         (Fresize_subwindow): don't update cachel.
12621         (mark_subwindow_cachels):
12622         (update_subwindow_cachel_data):
12623         (add_subwindow_cachel):
12624         (get_subwindow_cachel_index):
12625         (update_subwindow_cachel):
12626         (reset_subwindow_cachels):
12627         (mark_subwindow_cachels_as_not_updated): deleted.
12628         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12629         subwindow instance to the frame cache.
12630         (find_matching_subwindow): update for subwindow instance cache as
12631         a weak list.
12632         (update_widget_instances): ditto.
12633         (image_instance_type_to_mask):inlined.
12634         (free_frame_subwindow_instance_cache): new function. finalize all
12635         subwindows that are instantiated.
12636
12637         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12638         of cachel information.
12639         (IMAGE_INSTANCE_DISPLAY_X):
12640         (IMAGE_INSTANCE_DISPLAY_Y):
12641         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12642         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12643         (XIMAGE_INSTANCE_DISPLAY_X):
12644         (XIMAGE_INSTANCE_DISPLAY_Y):
12645         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12646         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12647         remove subwindow_cachel structure and function references.
12648         (image_instance_type_to_mask): inline from glyphs.c
12649
12650         * redisplay.c (redisplay_frame): remove subwindow_cachel
12651         references.
12652
12653         * frame.h (struct frame): remove subwindow_cachels.
12654         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12655
12656         * frameslots.h: add subwindow_instance_cache.
12657
12658         * window.c (replace_window): check subwindow cache of replacement.
12659         (window_unmap_subwindows_cache_mapper):
12660         (window_unmap_subwindows): new functions. Unmap all subwindows
12661         cached on this window.
12662         (mark_window_as_deleted): unmap all subwindows.
12663
12664 2000-04-27  Andy Piper  <andy@xemacs.org>
12665
12666         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12667
12668         * glyphs-widget.c (widget_layout): return something.
12669         (layout_layout): return something. Fail if not initialized.
12670         (layout_query_geometry): ditto.
12671         (image_instantiator_native_layout): new function. Initialized the
12672         native layout type.
12673         (widget_instantiate): don't do layout stuff here.
12674
12675         * glyphs.c (instantiate_image_instantiator): reorded calling or
12676         instantiate and post_instantiate with layout in between.
12677         (image_instance_layout): be more selective about deciding whether
12678         the layout has been done or not.
12679
12680         * glyphs.h (struct image_instantiator_methods): return a value
12681         from layout_method.
12682
12683 2000-04-26  Andy Piper  <andy@xemacs.org>
12684
12685         * glyphs.c (allocate_image_instance): make initial width and
12686         height unspecified. Set initialized to 0.
12687
12688         * syscommctrl.h new file. Encapsulates commctrl.h.
12689
12690         * syswindows.h new file. Encapsulates windows.h.
12691
12692         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12693         * nt.c: ditto.
12694         * console-msw.h: ditto.
12695
12696         * redisplay-tty.c (tty_output_display_block): remove layout references.
12697
12698         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12699         window handle rather than just the frame.
12700
12701         * glyphs.c (mark_image_instance): remove layout references.
12702         (print_image_instance): ditto.
12703         (image_instance_equal): ditto.
12704         (image_instance_hash): ditto.
12705         (decode_image_instance_type): ditto.
12706         (encode_image_instance_type): ditto.
12707         (image_instantiate): ditto.
12708         (allocate_glyph): ditto.
12709         (Fimage_instance_height): ditto.
12710         (Fimage_instance_width): ditto.
12711         (update_subwindow): ditto.
12712
12713         * redisplay-x.c (x_output_display_block): recode for layouts as
12714         widgets.
12715
12716         * redisplay-output.c (redisplay_output_layout): recode for layouts
12717         as widgets.
12718         (compare_runes): remove layout references.
12719
12720         * redisplay-msw.c (mswindows_output_display_block): recode for
12721         layouts as widgets.
12722
12723         * glyphs-widget.c (image_instantiator_layout): remove
12724         layout_possible_dest_types.
12725         (layout_possible_dest_types): deleted.
12726
12727         * glyphs.h (image_instance_type): remove layout references.
12728         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12729         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12730         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12731
12732 2000-04-25  Andy Piper  <andy@xemacs.org>
12733
12734         * glyphs-widget.c (image_instantiator_buttons):
12735         (image_instantiator_edit_fields):
12736         (image_instantiator_combo_box):
12737         (image_instantiator_scrollbar):
12738         (image_instantiator_progress_guage):
12739         (image_instantiator_tree_view):
12740         (image_instantiator_tab_control):
12741         (image_instantiator_labels):
12742         (image_instantiator_layout): call default post_instantiate method.
12743         (widget_post_instantiate): new function. Simply lays out the
12744         widgets.
12745
12746         * glyphs.h (struct image_instantiator_methods): add
12747         post_instantiate method.
12748
12749         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12750         method calls.
12751
12752 2000-04-23  Andy Piper  <andy@xemacs.org>
12753
12754         * glyphs.h (struct image_instantiator_methods): add
12755         decode_domain_method.
12756         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12757         derived from the domain.
12758         (IMAGE_INSTANCE_FRAME): new accessor.
12759         (XIMAGE_INSTANCE_FRAME): ditto.
12760
12761         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12762         instead of _SUBWINDOW_FRAME.
12763         (finalize_image_instance): ditto.
12764         (Fimage_instance_foreground): ditto.
12765         (Fimage_instance_background): ditto.
12766         (image_instantiate): ditto.
12767         (update_subwindow_cachel): ditto.
12768         (update_subwindow): ditto.
12769         (unmap_subwindow): ditto.
12770         (map_subwindow): ditto
12771         (subwindow_instantiate): ditto.
12772         * glyphs-msw.c (mswindows_update_widget): ditto.
12773         (mswindows_progress_gauge_instantiate): ditto.
12774         (mswindows_tab_control_update): ditto.
12775         * glyphs-x.c (x_update_widget): ditto.
12776         (x_widget_instantiate): ditto.
12777         (x_tab_control_instantiate): ditto.
12778         (x_tab_control_update): ditto.
12779         * event-msw.c (mswindows_wnd_proc): ditto
12780
12781         * glyphs-widget.c (image_instantiator_layout): use
12782         subwindow_decode_domain.
12783         (image_instantiator_buttons): ditto.
12784         (image_instantiator_edit_fields): ditto.
12785         (image_instantiator_combo_box): ditto.
12786         (image_instantiator_scrollbar): ditto.
12787         (image_instantiator_progress_guage): ditto.
12788         (image_instantiator_tree_view): ditto.
12789         (image_instantiator_tab_control): ditto.
12790         (image_instantiator_labels): ditto.
12791         (image_instantiator_layout): ditto.
12792
12793         * glyphs.c: add instance error checking to many functions.
12794         (instantiate_image_instantiator): decode device from cache_domain.
12795         (image_instantiate): partially rewrite by using
12796         decode_image_instantiator_domain to determine what domain the
12797         instance needs to be cached in.
12798         (decode_image_instantiator_domain): new function. Determine what
12799         domain the image needs to be cached in.
12800         (check_window_subwindow_cache): new error checking function.
12801         (check_instance_cache_mapper): ditto.
12802         (check_image_instance_structure): ditto.
12803         (subwindow_decode_domain): new function. Encodes a window as a
12804         subwindow's cache domain.
12805         (image_instantiator_format_create): use it for text and
12806         subwindows.
12807
12808 2000-04-21  Andy Piper  <andy@xemacs.org>
12809
12810         * glyphs.c (image_instance_device): new function.
12811         (image_instance_frame): new function.
12812         (image_instance_window): new function.
12813         (image_instance_live_p): new function.
12814
12815         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12816         cache to nil.
12817
12818         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12819         (IMAGE_INSTANCE_DOMAIN): new accessor.
12820         (XIMAGE_INSTANCE_DOMAIN): ditto.
12821
12822         * glyphs-x.c (x_finalize_image_instance): device->domain.
12823
12824         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12825         (mswindows_finalize_image_instance): ditto.
12826
12827         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12828         (gif_instantiate): ditto.
12829         (png_instantiate): ditto.
12830         (tiff_instantiate): ditto.
12831
12832         * glyphs.c (instantiate_image_instantiator): use domain rather
12833         than device.
12834         (mark_image_instance): device -> domain.
12835         (print_image_instance): ditto.
12836         (finalize_image_instance): ditto.
12837         (image_instance_equal): ditto.
12838         (allocate_image_instance): ditto.
12839         (Fcolorize_image_instance): ditto.
12840         (query_string_geometry): ditto.
12841         (image_instantiate): ditto
12842         (query_string_font): ditto.
12843         (image_instantiate): ditto.
12844         (update_subwindow): ditto.
12845         (unmap_subwindow): ditto.
12846         (map_subwindow): ditto.
12847         (subwindow_instantiate): ditto.
12848
12849         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12850         (DOMAIN_FRAME): ditto.
12851         (DOMAIN_WINDOW): ditto.
12852         (DOMAIN_LIVE_P): ditto.
12853         (XDOMAIN_DEVICE): ditto.
12854         (XDOMAIN_FRAME): ditto.
12855         (XDOMAIN_WINDOW): ditto.
12856
12857         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12858         a valid specifier domain.
12859
12860 2000-04-19  Andy Piper  <andy@xemacs.org>
12861
12862         * glyphs-widget.c (syms_of_glyphs_widget): remove
12863         widget-callback-current-channel.
12864         (vars_of_glyphs_widget): ditto.
12865         * glyphs.h: ditto
12866
12867         * gui.c (get_gui_callback): revert to previous behaviour.
12868
12869 2000-04-18  Andy Piper  <andy@xemacs.org>
12870
12871         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12872         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12873         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12874
12875         * glyphs.c (image_instance_equal): add margin_width.
12876         (image_instance_hash): ditto.
12877
12878         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12879         (layout_query_geometry): ditto.
12880         (layout_layout): ditto.
12881         (syms_of_glyphs_widget): add margin-width.
12882         (image_instantiator_layout): allow margin-width.
12883
12884         * glyphs.c (update_widget_instances): make a normal function.
12885         (syms_of_glyphs): remove Qupdate_widget_instances.
12886         * glyphs.h: ditto.
12887
12888         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12889         so that we don't corrupt ideas about the last event or
12890         command. Remove widget-callback-current-channel fiddling.
12891         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12892
12893 2000-05-01  Martin Buchholz <martin@xemacs.org>
12894
12895         * XEmacs 21.2.33 is released.
12896
12897 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12898
12899         * make-src-depend: Allow dots in header file name.
12900
12901 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12902
12903         * mule-charset.h (struct charset_lookup): Add
12904         next_allocated_1_byte_leading_byte and
12905         next_allocated_2_byte_leading_byte.
12906         * mule-charset.c: Move above two variables so that those values
12907         will be dumped.
12908
12909 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12910
12911         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12912         when string length is zero.
12913         (find_charsets_in_emchar_string): Ditto.
12914
12915 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12916
12917         * lisp.h: extern Qdialog and Qmenubar.
12918
12919         * gui-x.c: added events.h.
12920                 also fixed typo which made the file uncompilable.
12921
12922         * general.c: Added Qmenubar and Qdialog
12923
12924 2000-04-28  Ben Wing  <ben@xemacs.org>
12925
12926         * frame-msw.c (mswindows_init_frame_1):
12927         * frame-msw.c (mswindows_mark_frame):
12928         * event-msw.c (mswindows_enqueue_dispatch_event):
12929         * console-msw.h:
12930         * console-msw.h (struct mswindows_frame):
12931         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12932         there are now three hash tables for callbacks.
12933         mswindows_enqueue_dispatch_event is no longer static.
12934
12935         * dialog-x.c (maybe_run_dbox_text_callback):
12936         * dialog-x.c (dbox_descriptor_to_widget_value):
12937         switch to new cons3 form for callbacks.
12938
12939         * glyphs-msw.c (mswindows_register_gui_item):
12940         * glyphs-msw.c (mswindows_widget_instantiate):
12941         * glyphs-msw.c (add_tree_item):
12942         * glyphs-msw.c (add_tab_item):
12943         new image instance parameter, so it can be passed to callback-ex.
12944         respect :callback-ex as well as :callback.
12945
12946         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12947         add :callback-ex.
12948
12949         * glyphs.c (print_image_instance):
12950         prettify, e.g. now prints widget type.
12951
12952         * gui-x.h:
12953         certain funs have new image instance parameter.
12954
12955         * gui.c:
12956         * gui.c (get_gui_callback):
12957         * gui.c (gui_item_add_keyval_pair):
12958         * gui.c (gui_item_init):
12959         * gui.c (gui_add_item_keywords_to_plist):
12960         * gui.c (mark_gui_item):
12961         * gui.c (gui_item_hash):
12962         * gui.c (gui_item_equal):
12963         * gui.c (copy_gui_item):
12964         * gui.c (syms_of_gui):
12965         recognize callback-ex in a number of places.
12966         also, fix the annoying "can't get out of yes-no dialog" bug.
12967
12968         * gui.h:
12969         * gui.h (struct Lisp_Gui_Item):
12970         recognize callback-ex in a number of places.
12971
12972         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12973         new parameter in button_item_to_widget_value.
12974
12975         * glyphs-x.c (x_update_widget):
12976         * glyphs-x.c (x_button_instantiate):
12977         * glyphs-x.c (x_button_update):
12978         * glyphs-x.c (x_progress_gauge_instantiate):
12979         * glyphs-x.c (x_edit_field_instantiate):
12980         * glyphs-x.c (x_combo_box_instantiate):
12981         * glyphs-x.c (x_tab_control_instantiate):
12982         * glyphs-x.c (x_label_instantiate):
12983         new image instance parameter in various places.
12984
12985         * event-Xt.c:
12986         * event-Xt.c (enqueue_Xt_dispatch_event):
12987         this fun gets exported.
12988
12989         * gui-msw.c:
12990         * gui-msw.c (mswindows_handle_gui_wm_command):
12991         handle both :callback and :callback-ex, and generate our own
12992         event because it's one of the callback-ex arguments.
12993
12994         * gui-x.c:
12995         * gui-x.c (popup_selection_callback):
12996         handle both :callback and :callback-ex, and generate our own
12997         event because it's one of the callback-ex arguments.
12998         * gui-x.c (button_item_to_widget_value):
12999         * gui-x.c (gui_items_to_widget_values_1):
13000         * gui-x.c (gui_item_children_to_widget_values):
13001         * gui-x.c (gui_items_to_widget_values):
13002         new image instance parameter in various places.
13003
13004         * fns.c (Freplace_list):
13005         fix small typo in doc string.
13006
13007         * lisp.h:
13008         declare enqueue_Xt_dispatch_event.
13009
13010 2000-04-28  Ben Wing  <ben@xemacs.org>
13011
13012         * buffer.c:
13013         * buffer.c (Frecord_buffer):
13014         * buffer.c (syms_of_buffer):
13015         delete record-buffer-hook.
13016
13017         * fns.c:
13018         * fns.c (Freplace_list):
13019         * fns.c (syms_of_fns):
13020         new primitive replace-list.
13021
13022         * frameslots.h:
13023         slot for old buffer-alist.
13024
13025         * lisp.h:
13026         exfun replace-list.
13027
13028         * redisplay.c:
13029         * redisplay.c (redisplay_frame):
13030         * redisplay.c (syms_of_redisplay):
13031         * redisplay.c (vars_of_redisplay):
13032         new hook buffer-list-changed-hook.
13033         call it.
13034
13035 2000-04-27  Ben Wing  <ben@xemacs.org>
13036
13037         * extents.h: extern in_modeline_generation.
13038
13039         * redisplay.c (generate_formatted_string_db): set
13040         in_modeline_generation.
13041
13042         * extents.c (extent_changed_for_redisplay): don't mark redisplay
13043         flags if in modeline generation.  otherwise frame-modified-tick
13044         is ticked far too often.
13045         Declare in_modeline_generation.
13046
13047 2000-04-26  Ben Wing  <ben@xemacs.org>
13048
13049         * emacs.c (vars_of_emacs): document quick-build "error-checking"
13050         option.
13051         (vars_of_emacs): add quick-build as an error-checking option.
13052         A bit kludgy, but there doesn't seem much point in creating
13053         a real var for this.
13054
13055         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
13056
13057 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13058
13059         * redisplay.h (struct display_line): Add a new variable,
13060         line_continuation.
13061
13062         * redisplay.c (create_text_block): Set dl->line_continuation if
13063         the line continues.
13064         (create_string_text_block): Ditto.
13065         (regenerate_window_incrementally): Use line_continuation instead
13066         of searching continuation glyph.
13067         (add_margin_runes): Call add_glyph_rune.
13068         (add_glyph_rune): Handle margin glyph.
13069
13070 2000-04-20  Martin Buchholz  <martin@xemacs.org>
13071
13072         * filelock.c (fill_in_lock_file_name):
13073         ANSIfy.
13074         Check for IS_ANY_SEP instead of '/'.
13075         (lock_file_1):
13076         Avoid generating gratuitous garbage.  Call user_login_name() directly.
13077         Never check errno without first seeing that system call failed.
13078         (unlock_file): Add GCPRO.
13079         (Flock_buffer): Fix docstring.
13080         (Ffile_locked_p): Fix docstring.  Add GCPRO.
13081
13082 2000-04-19  Martin Buchholz  <martin@xemacs.org>
13083
13084         * sysdep.c (get_pty_max_bytes):
13085         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
13086         strings longer than 252 bytes.
13087
13088         * md5.c: Unconditionally include ANSI header <limits.h>
13089
13090         * glyphs-x.c (convert_EImage_to_XImage):
13091         * lisp-union.h (union Lisp_Object):
13092         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
13093
13094 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
13095
13096         * filelock.c (current_lock_owner): Remove unused variable o, p.
13097
13098 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
13099
13100         * callint.c: Remove multiply defined symbol Qlet
13101         (syms_of_callint): ditto.
13102
13103 2000-04-14  Andy Piper  <andy@xemacs.org>
13104
13105         * general.c (syms_of_general): add last-command, this-command, let
13106         and funcall.
13107
13108         * lisp.h: declare various symbols.
13109
13110         * glyphs.h: declare Qwidget_callback_current_channel;
13111
13112         * glyphs-widget.c (syms_of_glyphs_widget): add
13113         Qgui_callback_current_channel.
13114         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13115
13116         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13117         widget-callback-current-channel when invoking the interactive
13118         arg. Also bind last-command and next-command when invoking the
13119         widget updates.
13120         * gui-x.c (popup_selection_callback): ditto.
13121
13122         * gui.c (get_gui_callback): massage args so that we are always
13123         calling eval. This allows us to add our own variable bindings
13124         outside.
13125
13126         * glyphs-x.c (x_button_instantiate): use
13127         gui_items_to_widget_values since this is GC safe.
13128         (x_progress_gauge_instantiate): ditto.
13129         (x_edit_field_instantiate): ditto.
13130         (x_label_instantiate): ditto.
13131
13132         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13133         (emacs_Xt_event_widget_focus_out): new function
13134         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13135         focus.
13136         (emacs_Xt_event_add_widget_actions): new function. add focus
13137         functions as actions.
13138         (init_event_Xt_late): use it.
13139
13140 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13141
13142         * event-stream.c (Fdispatch_event): Doc fix.
13143
13144 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13145
13146         * postgresql.c: Remove all references to PQsetenv*.
13147
13148         * postgresql.h: Remove references to PGsetenvHandler object.
13149         * lrecord.h (lrecord_type): Ditto.
13150
13151 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13152
13153         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13154         real_heigh and real_width members, and accessor macros for these.
13155
13156         * glyphs-msw.c (init_image_instance_geometry): New function.
13157         (init_image_instance_from_dibitmap): Use it.
13158         (mswindows_resource_instantiate): Use it.
13159         (init_image_instance_from_xbm_inline): Use it.
13160         (mswindows_initialize_image_instance_mask): Use real bitmap
13161         geometry.
13162         (mswindows_create_resized_bitmap): Ditto.
13163         (mswindows_create_resized_mask): Ditto.
13164
13165         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13166         and bitmap to their surface size.
13167
13168 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13169
13170         * process-unix.c (unix_send_process): Guard against process MIA
13171         after Faccept_process_output.
13172
13173 2000-04-11  Ben Wing  <ben@xemacs.org>
13174
13175         * eval.c (unbind_to_hairy): fix brokenness introduced by
13176         nanosecond speed improvements.
13177
13178 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13179
13180         * sunplay.c (init_device): To play sounds correctly, the device
13181         apparently needs to be initialized at least once by XEmacs.  Make
13182         it so.
13183
13184 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13185
13186         * redisplay.c (add_margin_runes): Add text image glyph
13187           handling.
13188
13189 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13190
13191         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13192         gcc is newer than 2.5.
13193
13194 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13195
13196         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13197
13198         * fns.c (size_bit_vector):
13199         * alloc.c (size_vector):
13200         (make_vector_internal):
13201         (make_bit_vector_internal):
13202         (sweep_bit_vectors_1):
13203         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13204
13205 2000-04-06  Andy Piper  <andy@xemacs.org>
13206
13207         * gmalloc.c (malloc): undo previous change.
13208         (malloc): ditto.
13209         (free): ditto.
13210         (realloc): ditto.
13211
13212 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13213
13214         * line-number.c (buffer_line_number): Revert to former version.
13215
13216 2000-04-06  Andy Piper  <andy@xemacs.org>
13217
13218         * gmalloc.c (malloc): add error checking.
13219         (malloc): ditto.
13220         (free): ditto.
13221         (realloc): ditto.
13222
13223         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13224         button_item_to_widget_value arg.
13225
13226         * glyphs-x.c (x_button_instantiate): add extra
13227         button_item_to_widget_value arg.
13228         (x_progress_gauge_instantiate): ditto.
13229         (x_edit_field_instantiate): ditto.
13230         (x_label_instantiate): ditto.
13231
13232         * gui-x.c (gui_items_to_widget_values_1): add extra
13233         button_item_to_widget_value arg.
13234         (button_item_to_widget_value): add extra menu_item_p arg.
13235
13236         * gui-x.h: change signature of button_item_to_widget_value.
13237
13238         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13239         button_item_to_widget_value arg.
13240
13241 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13242
13243         * buffer.h (struct buffer): auto_save_modified should be long.
13244
13245 2000-04-05  Andy Piper  <andy@xemacs.org>
13246
13247         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13248         type.
13249         (button_query_geometry): give a little more room so that athena
13250         buttons fit.
13251
13252 2000-04-05  Andy Piper  <andy@xemacs.org>
13253
13254         * faces.c (complex_vars_of_faces): The widget face should inherit
13255         the font of the gui-element face.
13256
13257 2000-04-04  Andy Piper  <andy@xemacs.org>
13258
13259         * glyphs-x.c (x_button_update): new function. unconditionally
13260         update a button's state when the instance is dirty.
13261         (image_instantiator_format_create_glyphs_x): add x_button_update.
13262         (x_widget_instantiate): remove old resize cruft.
13263
13264 2000-04-02  Andy Piper  <andy@xemacs.org>
13265
13266         * frame.c (change_frame_size_1): The introduction of gutters means
13267         that we need to allow 0 as a potential frame dimension.
13268
13269 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13270
13271         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13272         image glyph if allow_cursor.
13273         (add_hscroll_rune): Don't allow cursor to border glyph.
13274         (create_text_block): Ditto.
13275
13276         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13277         text not in buffer.
13278         (redisplay_output_layout): Call ensure_face_cachel_complete for
13279         text image glyph.
13280
13281
13282 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13283
13284         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13285
13286         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13287         not in buffer
13288
13289         * redisplay-tty.c (tty_output_display_block): Delete the routine
13290         for text image glyph
13291         * redisplay-x.c (x_output_display_block): ditto
13292         * redisplay-msw.c (mswindows_output_display_block): ditto
13293
13294 2000-02-02  Mike Alexander  <mta@arbortext.com>
13295
13296         Note: Some of these were committed by accident as part of other
13297         patches.
13298
13299         * regex.c (regex_compile): Avoid compiler warnings.
13300
13301         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13302
13303         * nt.h: Declare term_ntproc correctly.
13304
13305         * nt.c: Remove incorrect declaration of get_home_directory which
13306         is declared correctly in lisp.h.
13307
13308         * keymap.c (get_keyelt): Avoid compiler warnings.
13309         (raw_lookup_key_mapper): Avoid compiler warnings.
13310
13311         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13312
13313         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13314
13315         * filemode.c (mode_string): Avoid compiler warnings.
13316
13317         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13318         avoid warning.
13319
13320         * events-mod.h: Undef some things that winuser.h defines differently.
13321
13322         * data.c (Faset): Avoid compiler warnings.
13323
13324         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13325
13326 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13327
13328         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13329         Fall through to simple beep on error.
13330         Replace "extern" by real header file.
13331
13332         * linuxplay.c: Use nativesound.h
13333         (play_sound_data): Return error code. Be less verbose on error.
13334
13335         * sunplay.c: Use nativesound.h
13336         (play_sound_data): Return error code. Be less verbose on error.
13337
13338         * ntplay.c: Use nativesound.h
13339         (play_sound_data): Return fake error code
13340
13341         * sgiplay.c: Use nativesound.h
13342         (play_sound_data): Return error code
13343
13344         * hpplay.c: Use nativesound.h, partially implement
13345         new error code. Break compilation until finished.
13346         (play_sound_data): error code.
13347
13348         * nativesound.h (play_sound_file):
13349           (play_sound_data): Prototype in new header.
13350
13351 2000-03-31  Andy Piper  <andy@xemacs.org>
13352
13353         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13354         for toggle and radio buttons.
13355         (image_instantiator_buttons): use it.
13356
13357 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13358
13359         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13360         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13361         found. Scrollbar event probably belonged to some old config.
13362
13363 2000-03-31  Andy Piper  <andy@xemacs.org>
13364
13365         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13366         than 1.
13367         (initialize_widget_image_instance): default layout to
13368         LAYOUT_HORIZONTAL rather than 0.
13369         (widget_instantiate): reverse the item list at the end rather than
13370         every iteration.
13371         (layout_layout): re-code for the border text at the front of the
13372         item list rather than at the end.
13373         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13374         provided by the user.
13375         (widget_query_geometry): comment.
13376
13377 2000-03-30  Andy Piper  <andy@xemacs.org>
13378
13379         * glyphs-widget.c (image_instantiator_layout): allow standard
13380         widget keywords in layouts.
13381
13382         * gutter.c (output_gutter): cope with nil gutter contents.
13383
13384         * frame.c (Fset_frame_properties): add gutter docs.
13385
13386 2000-03-29  Andy Piper  <andy@xemacs.org>
13387
13388         * toolbar-msw.c (TBSTYLE_FLAT): add.
13389         (mswindows_output_toolbar): minor fiddling.
13390
13391 2000-03-29  Andy Piper  <andy@xemacs.org>
13392
13393         * gutter.c (output_gutter): force gutter size recalculation if
13394         what we are trying to display won't fit.
13395         (update_gutter_geometry): new function. A per-gutter version of
13396         update_frame_gutter_geometry.
13397         (update_frame_gutter_geometry): use it.
13398         (redraw_exposed_gutter): add extra debugging output.
13399
13400 2000-03-28  Mike Alexander  <mta@arbortext.com>
13401
13402         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13403         (pdump_file_unmap): Implement it on Windows
13404         (pdump_file_get): Save alocated handles for pdump_file_unmap
13405
13406 2000-03-28  Andy Piper  <andy@xemacs.org>
13407
13408         * gui.c (get_gui_callback): treat Quit specially.
13409
13410 2000-03-27  Andy Piper  <andy@xemacs.org>
13411
13412         * glyphs.c (image_instantiate): be careful to check in the same
13413         way we assigned.
13414
13415 2000-03-27  Didier Verna  <didier@xemacs.org>
13416
13417         * config.h.in: define the proper SMART_INCLUDE macro.
13418         handle renaming of `foo_h_path' to `foo_h_file'.
13419
13420         * database.c: ditto.
13421
13422         * emacs.c: ditto.
13423
13424         * linuxplay.c: ditto.
13425
13426         * terminfo.c: ditto.
13427
13428         * tooltalk.h: ditto.
13429
13430 2000-03-27  Andy Piper  <andy@xemacs.org>
13431
13432         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13433         gets updated whenever the face might have changed.
13434
13435 2000-03-26  Mike Alexander  <mta@arbortext.com>
13436
13437         * dumper.c (pdump_resource_free): Fix the comment.
13438
13439 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13440
13441         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13442
13443 2000-03-22  Mike Alexander  <mta@arbortext.com>
13444
13445         * dumper.c: Include Windows headers on Windows
13446         (pdump_resource_free): Add a body to the function
13447         (pdump_load): exe_name -> exe_path and add some comments.
13448
13449 2000-03-25  Mike Alexander  <mta@arbortext.com>
13450
13451         * gui.c (copy_gui_item_tree): Return a value in all cases
13452
13453 2000-03-21  Didier Verna  <didier@xemacs.org>
13454
13455         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13456         lwlib/config.h.in.
13457         (SMART_INCLUDE): new macro.
13458         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13459         the proper location.
13460
13461         * postgresql.c: use it.
13462
13463         * inline.c: ditto.
13464
13465 2000-03-24  Andy Piper  <andy@xemacs.org>
13466
13467         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13468         do this.
13469
13470 2000-03-24  Andy Piper  <andy@xemacs.org>
13471
13472         * redisplay-output.c (compare_runes): use image_instance_changed
13473         to detect changes. Do not depend on glyphs_changed, only depend on
13474         dirtiness.
13475          (redisplay_output_layout): add debug messages.
13476         (compare_runes): ditto.
13477
13478         * glyphs.h: declare new functions.
13479         (struct Lisp_Image_Instance): remove percent and associated
13480         accessors.
13481
13482         * gui.h: declare new copying functions.
13483
13484         * gui.c (copy_gui_item_tree): new function.
13485         (copy_gui_item): new function.
13486         (gui_item_id_hash): revert to standard hash.
13487         (gui_item_hash): ditto.
13488         (gui_item_hash_internal): deleted.
13489         (mark_gui_item): mark value.
13490         (gui_item_add_keyval_pair): add value.
13491         (gui_item_init): ditto.
13492         (gui_add_item_keywords_to_plist): ditto.
13493         (gui_item_equal): ditto.
13494         (syms_of_gui): add Q_value.
13495
13496         * glyphs-x.c (x_progress_gauge_update): use pending items and
13497         value for setting the state.
13498         (x_update_widget): don't set items from pending here.
13499
13500         * glyphs-widget.c (update_widget): update items here.
13501         (progress_gauge_set_property): use items for storing value. Put
13502         new value in pending items.
13503
13504         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13505         items for new value. Convert percent -> value.
13506         (mswindows_tab_control_update): don't update items here.
13507
13508         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13509         (update_subwindow): ditto.
13510         (image_instance_changed): new function. Compare hash values and
13511         past and present widget items.
13512         (image_instantiate): We more careful about where we instantiate
13513         things.
13514         (image_instantiate): add error checking.
13515
13516         * gutter.c (syms_of_gutter): use -hook.
13517
13518 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13519
13520         * console-tty.c (Fset_console_tty_input_coding_system): Use
13521         Qkeyboard.
13522         (Fset_console_tty_output_coding_system): Use Qterminal.
13523         (tty_init_console): Use Qkeyboard and Qterminal.
13524
13525 2000-03-21  Ben Wing  <ben@xemacs.org>
13526
13527         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13528         From Mike Alexander <mta@arbortext.com>.
13529
13530 2000-03-21  Ben Wing  <ben@xemacs.org>
13531
13532         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13533         process brokenness.  Proper implementation to come.
13534         * callproc.c:
13535         Rename call-process-internal to old-call-process-internal.
13536         New impl. in process.el.
13537
13538 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13539
13540         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13541
13542 2000-03-20  Andy Piper  <andy@xemacs.org>
13543
13544         * glyphs.c (full_list_hash): make hashes of the same elements in
13545         different orders return different values.
13546
13547 2000-03-20  Martin Buchholz <martin@xemacs.org>
13548
13549         * XEmacs 21.2.32 is released.
13550
13551 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13552
13553         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13554         (DFC_MALLOC_USE_CONVERTED_DATA):
13555         Add aliasing-safe casts to allow use with char* or unsigned char*
13556         lvalues.
13557
13558         * eldap.c (Fldap_open):
13559         (Fldap_search_basic):
13560         (Fldap_add):
13561         (Fldap_modify):
13562         Make C++-compilable.
13563         Make sure GCPRO'ed variables are initialized.
13564         Use temp variables to avoid repeated calls to Flength.
13565
13566 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13567
13568         * sysfile.h:
13569         Make sure PATH_MAX is always defined.
13570         Include limits.h for PATH_MAX.
13571         Deprecate use of MAXPATHLEN.
13572
13573 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13574
13575         * emacs.c: Add reinit_vars_of_fileio.
13576         * symsinit.h: Add reinit_vars_of_fileio.
13577         * fileio.c (reinit_vars_of_fileio): New.
13578         * fileio.c (Fmake_temp_name):
13579         Initialize temp_name random number from microseconds to make
13580         collisions even less likely.  Initialize always at process startup
13581         time.  (make-temp-name) used to return the same file name twice in
13582         a row when PDUMP.
13583         Random stylistic fiddling.
13584         Comment fixes.
13585
13586 2000-03-20  Andy Piper  <andy@xemacs.org>
13587
13588         * glyphs.c (image_instantiate): allow text glyphs to be
13589         instantiated in the minibuffer window.
13590
13591 2000-03-19  Andy Piper  <andy@xemacs.org>
13592
13593         * glyphs.c (image_instance_hash): be careful about which items we
13594         hash on.
13595
13596         * glyphs-widget.c (tab_control_set_property): record into pending
13597         items rather than the actual items.
13598
13599         * glyphs-x.c (x_update_widget): use pending items to update with.
13600
13601         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13602         to update with.
13603
13604         * glyphs.c (mark_image_instance): mark pending items.
13605
13606         * window.c (Fset_window_configuration): record the buffer.
13607         (Fselect_window): totally revert previous change which breaks many
13608         things.
13609
13610 2000-03-18  Andy Piper  <andy@xemacs.org>
13611
13612         * glyphs-msw.c (mswindows_tab_control_update): force selected
13613         item.
13614
13615         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13616         window domain cache, otherwise we get inconsistencies at
13617         startup. There is something fishy at startup which can lead to the
13618         minibuffer being the selected window when the gutter content is
13619         instantiated.
13620
13621         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13622         gcpros.
13623         (parse_gui_item_tree_children): ditto.
13624         (parse_gui_item_tree_item): ditto.
13625
13626         * glyphs.c (Fupdate_widget_instances): return something.
13627
13628 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13629
13630         * window.c (Fselect_window): Undo 2000-03-17 change.
13631
13632 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13633
13634         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13635         against v7.0 libraries.  Insta-coredump city until the postgres
13636         folks fix it.
13637
13638 2000-03-17  Andy Piper  <andy@xemacs.org>
13639
13640         * faces.c (complex_vars_of_faces): don't give the widget face an
13641         inherited background pixmap.
13642
13643         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13644         selected item.
13645
13646         * event-stream.c (Fdispatch_non_command_events): return something.
13647
13648         * gutter.c (output_gutter): use widget face.
13649         (clear_gutter): ditto.
13650
13651         * NEWS: adjust again.
13652
13653         * window.c (Fselect_window): make sure this runs to completion to
13654         avoid oddities with Fset_window_configuration.
13655         (Fcurrent_window_configuration): in general do not save the
13656         minibuffer as the selected window.
13657
13658         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13659
13660 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13661
13662         * emacs.c (Frunning_temacs_p): Revert previous patch.
13663         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13664
13665 2000-03-16  Andy Piper  <andy@xemacs.org>
13666
13667         * glyphs-x.c (x_tab_control_update): if no widget values then
13668         return.
13669
13670         * NEWS: update for new features.
13671
13672         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13673         synthetic event to the native system.
13674         (reinit_vars_of_event_Xt): set force_event_pending to
13675         emacs_Xt_force_event_pending.
13676
13677         * events.h (struct event_stream): add force_event_pending.
13678
13679         * specifier.c (recompute_one_cached_specifier_in_window): add
13680         comment.
13681
13682         * redisplay.c (redisplay_frame): don't call
13683         update_frame_subwindows. Reset subwindow cachels when
13684         subwindows_changed, removing this was an optimization too far.
13685
13686         * redisplay-output.c (compare_runes): reorganize so that we catch
13687         glyph changes when we want them. Set optimize_output when this
13688         would help layouts.
13689         (redisplay_output_layout): remove frame_really_changed, use
13690         optimize_output instead.
13691
13692         * redisplay-msw.c (mswindows_output_display_block): reset
13693         optimize_output after outputting a glyph.
13694         * redisplay-x.c (x_output_display_block): ditto.
13695         * redisplay-tty.c (tty_output_display_block): ditto.
13696
13697         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13698         functions.
13699         (gutter_specs_changed): do specific gutter positions.
13700         (top_gutter_specs_changed): new function. Only update the
13701         specified gutter specs.
13702         (bottom_gutter_specs_changed): ditto.
13703         (left_gutter_specs_changed): ditto.
13704         (right_gutter_specs_changed): ditto.
13705
13706         * gui.c (gui_item_hash_internal): new function, does a real hash.
13707         (gui_item_id_hash): use it.
13708         (gui_item_hash): hash the eval'ed gui_item.
13709
13710         * gui-x.c (popup_selection_callback): send an eval event to call
13711         Fupdate_widget_instances.
13712
13713         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13714         to call Fupdate_widget_instances.
13715
13716         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13717         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13718
13719         * glyphs.c: (update_frame_subwindows): deleted.
13720         (Fupdate_widget_instances): new function for updating the dirty
13721         state of widgets that might have changed.
13722         (syms_of_glyphs): add Qupdate_widget_instances.
13723         (full_list_hash): hash a list completely.
13724         (image_instance_hash): use it for items and properties.
13725
13726         * frame-msw.c (mswindows_size_frame_internal): remove unused
13727         variable.
13728
13729         * faces.h (struct face_cachel): fix comment.
13730
13731         * event-stream.c (Fdispatch_non_command_events): new
13732         function. Process non-command events, forcing an event cycle
13733         beforehand.
13734         (syms_of_event_stream): declare.
13735         (event_stream_force_event_pending): new function. Force an event
13736         on the native event queue so that an event cycle will occur next
13737         time we check.
13738
13739         * event-msw.c:
13740         (struct ntpipe_shove_stream):
13741         (mswindows_enqueue_dispatch_event):
13742         (mswindows_dequeue_dispatch_event):
13743         (mswindows_cancel_dispatch_event):
13744         (mswindows_pump_outstanding_events):
13745         (mswindows_drain_windows_queue):
13746         (mswindows_handle_paint):
13747         (mswindows_wnd_proc):
13748         (mswindows_key_to_emacs_keysym):
13749         (get_process_input_waitable):
13750         (emacs_mswindows_delete_stream_pair): re-indent file.
13751         (mswindows_need_event): do not process further fds if the windows
13752         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13753         fixes the 100% cpu problem.
13754         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13755
13756 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13757
13758         * alloc.h: New.
13759         * dumper.h: New.
13760         * dumper.c: New.
13761
13762         * emacs.c: Moved dump file searching to dumper.c.
13763         (Frunning_temacs_p): Fixed.
13764
13765         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13766         last_lrecord_type_index_assigned.
13767
13768 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13769
13770         * symsinit.h: Added reinit parameter to init_console_stream
13771         declaration.
13772
13773         * lisp.h: Added file parameter to pdump_load declaration.
13774
13775         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13776         support.  Added dump file searching.
13777
13778         * config.h.in: Added EMACS_PROGNAME.
13779
13780         * console-stream.c (init_console_stream): Fix reinitialisation
13781         when running from temacs.
13782
13783         * alloc.c (pdump): Add id support.
13784         (pdump_load): Add file parameter and signature/id support.
13785
13786         * Makefile.in.in: Add full pdump support.
13787
13788 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13789
13790         * postgresql.c: Update documentation to reflect latest code
13791         status.
13792         (print_result): Show tuple counts in printed representation when
13793         appropriate.
13794         (Fpq_put_nbytes): MULE-ize.
13795         (Fpq_get_line_async): Ditto.
13796
13797 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13798
13799         * postgresql.c (Fpq_lo_import): Fix return value.
13800         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13801
13802 2000-03-13  Ben Wing  <ben@xemacs.org>
13803
13804         * alloc.c (pdump_load):
13805         Fix compile warning under mswin.
13806
13807 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13808
13809         * postgresql.c: Mule-ization, bug fixes.
13810         Use PG_CODING to encapsulate coding system name changes.
13811         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13812         (pg-coding-system): Create.
13813
13814         (Fpq_conn_defaults): Mule-ize.
13815         (Fpq_connectdb): Mule-ize & bug fix.
13816         (Fpq_connect_start): Mule-ize.
13817         (Fpq_set_client_encoding): Mule-ize.
13818         (Fpq_finish): Document `DEAD' connection status.
13819         (Fpq_clear): Ditto.
13820         (Fpq_pgconn): Mule-ize.
13821         (Fpq_exec): Mule-ize & bug fix.
13822         (Fpq_send_query): Ditto.
13823         (Fpq_get_result): Ditto.
13824         (Fpq_res_status): Mule-ize.
13825         (Fpq_result_error_message): Mule-ize.
13826         (Fpq_ntuples): fix comments.
13827         (Fpq_fname): Mule-ize.
13828         (Fpq_fnumber): Mule-ize.
13829         (Fpq_ftype): fix comments.
13830         (Fpq_get_value): Mule-ize.
13831         (Fpq_cmd_status): Ditto.
13832         (Fpq_cmd_tuples): Ditto.
13833         (Fpq_oid_value): Ditto.
13834         (Fpq_notifies): Ditto.
13835         (Fpq_lo_import): Ditto.
13836         (Fpq_lo_export): Ditto.
13837         (Fpq_get_line): Ditto.
13838         (Fpq_put_line): Mule-ize and bug fix.
13839         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13840
13841 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13842
13843         * postgresql.c (vars_of_postgresql): Mule-ize.
13844         (Fpq_conn_defaults): Ditto.
13845
13846 2000-03-12  Ben Wing  <ben@xemacs.org>
13847
13848         * alloc.c (Fmake_byte_code):
13849         * alloc.c (debug_string_purity_print):
13850         * alloc.c (pdump_backtrace):
13851         * alloc.c (pdump_get_indirect_count):
13852         * alloc.c (pdump_register_sub):
13853         * alloc.c (pdump_register_object):
13854         * alloc.c (pdump_register_struct):
13855         * alloc.c (pdump_dump_data):
13856         * alloc.c (pdump_reloc_one):
13857         Minor cleanups.
13858
13859         * console-msw.c:
13860         * console-msw.c (GetConsoleHwnd):
13861         * console-msw.c (msw_hide_console):
13862         * console-msw.c (msw_show_console):
13863         * console-msw.c (msw_ensure_console_buffered):
13864         * console-msw.c (msw_output_console_string):
13865         * console-msw.c (console_type_create_mswindows):
13866
13867         a) Added functions to manipulate the console window for use with
13868         shell support.
13869
13870         b) Added support for writing text to the console, which is now
13871         used under Windows when xemacs is not being run non-interactively,
13872         to write text that would otherwise be destined for stdout because
13873         under these circumstances, text written to stdout tends to
13874         disappear and not be seen.
13875
13876         * console-msw.h:
13877         * event-Xt.c:
13878         * event-Xt.c (x_event_to_emacs_event):
13879         * event-Xt.c (describe_event_window):
13880         * events-mod.h (XEMACS_MOD_CONTROL):
13881         * events.c:
13882         * events.c (Fmake_event):
13883         * events.c (character_to_event):
13884         * events.c (event_to_character):
13885         * events.c (format_event_object):
13886         * events.c (Fevent_modifiers):
13887         * events.h:
13888         * events.h (struct key_data):
13889         * events.h (struct button_data):
13890         * events.h (struct misc_user_data):
13891         * frame-x.c (Fcde_start_drag_internal):
13892         * frame-x.c (Foffix_start_drag_internal):
13893         * gpmevent.c (Freceive_gpm_event):
13894         * keymap.c:
13895         * keymap.c (bucky_sym_to_bucky_bit):
13896         * keymap.c (control_meta_superify):
13897         * keymap.c (make_key_description):
13898         * keymap.c (keymap_lookup_directly):
13899         * keymap.c (create_bucky_submap):
13900         * keymap.c (keymap_store):
13901         * keymap.c (define_key_check_and_coerce_keysym):
13902         * keymap.c (define_key_parser):
13903         * keymap.c (define_key_alternate_name):
13904         * keymap.c (Fdefine_key):
13905         * keymap.c (raw_lookup_key_mapper):
13906         * keymap.c (struct map_keymap_unsorted_closure):
13907         * keymap.c (map_keymap_unsorted_mapper):
13908         * keymap.c (map_keymap_sort_predicate):
13909         * keymap.c (map_keymap_sorted):
13910         * keymap.c (accessible_keymaps_mapper_1):
13911         * keymap.c (where_is_recursive_mapper):
13912         * keymap.c (describe_map_mapper):
13913         * keymap.c (describe_map_sort_predicate):
13914         * keymap.c (describe_map):
13915         * keymap.c (complex_vars_of_keymap):
13916         And a number of other files, the key modifier preprocessor
13917         constants that xemacs uses have names that conflict with constants
13918         defined under MS Windows for other purposes, so they were renamed
13919         to begin with the prefix XEMACS_. The variables that hold such
13920         modifiers were changed to consistently be of type int to fix
13921         various compile warnings.
13922
13923         * console.c (complex_vars_of_console):
13924         * device.c:
13925         * device-msw.c:
13926         * device-msw.c (mswindows_finish_init_device):
13927         * device-msw.c (msw_get_workspace_coords):
13928         * device-msw.c (mswindows_device_system_metrics):
13929         and various other files, added support for a new
13930         device property called offset-workspace which returns the position
13931         of the upper left corner of the workspace area and goes along with
13932         the existing size-workspace property.
13933
13934         * dialog-msw.c:
13935         * dialog-msw.c (push_bufbyte_string_as_unicode):
13936         * dialog-msw.c (mswindows_popup_dialog_box):
13937         Added support for XEmacs-style accelerator specifications in
13938         button text.  Note: I didn't add support for this under X Windows,
13939         and somebody needs to do this.
13940
13941         * dialog.c:
13942         * dialog.c (Fpopup_dialog_box):
13943         Documented the support for accelerators that was just mentioned.
13944
13945         editfns.c (get_home_directory): Changed behavior under Windows
13946         when HOME not defined; former behavior was irretrievably broken.
13947
13948         * emacs.c:
13949         * emacs.c (main_1):
13950         * emacs.c (main):
13951         * minibuf.c (clear_echo_area_internal):
13952         * minibuf.c (echo_area_append):
13953         * print.c:
13954         * print.c (std_handle_out_external):
13955         * print.c (std_handle_out_va):
13956         * print.c (fatal):
13957         * print.c (write_string_to_stdio_stream):
13958         * print.c (output_string):
13959         * print.c (debug_print):
13960         * print.c (debug_backtrace):
13961         * print.c (debug_short_backtrace):
13962         Cleaned up the code that prints text to stdout so that this can be
13963         changed to output into a console window instead under MS Windows,
13964         as described above.
13965
13966         * eval.c:
13967         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13968         * eval.c (internal_catch):
13969         * eval.c (unwind_to_catch):
13970         * eval.c (throw_or_bomb_out):
13971         * eval.c (condition_case_1):
13972         * eval.c (signal_1):
13973         * eval.c (check_error_state_sanity):
13974         * eval.c (call_with_suspended_errors_1):
13975         * eval.c (call_with_suspended_errors):
13976         * eval.c (reinit_vars_of_eval):
13977         Added code to catch throw loops and check for a pesky bug that may
13978         be gone now.
13979
13980         * event-msw.c:
13981         * event-msw.c (key_needs_default_processing_p):
13982         * event-msw.c (mswindows_wnd_proc):
13983         * event-msw.c (mswindows_modifier_state):
13984         * event-msw.c (emacs_mswindows_quit_p):
13985         * event-msw.c (vars_of_event_mswindows):
13986         a) Added support for using the alt key to select menu items as is
13987         standard under MS Windows.  This is controlled using the variable
13988         menu-accelerator-enabled, just like under X Windows.  There is an
13989         option on the options menu to turn this support on.  I really
13990         think that it should be on by default under Windows, but I'm not
13991         going to make this change yet.
13992
13993         b)  Added support for dynamic display size changes under Windows.
13994
13995         * event-stream.c:
13996         * event-stream.c (maybe_echo_keys):
13997         * event-stream.c (Fnext_event):
13998         * event-stream.c (command_builder_find_leaf):
13999         * event-stream.c (lookup_command_event):
14000         * event-stream.c (execute_command_event):
14001         * event-stream.c (pre_command_hook):
14002         * event-stream.c (post_command_hook):
14003         * event-stream.c (syms_of_event_stream):
14004         * event-stream.c (vars_of_event_stream):
14005         * event-stream.c (complex_vars_of_event_stream):
14006         * events.h (struct command_builder):
14007
14008         a) Tried to clean up a little bit the horribly written x-specific
14009         accelerator code that crept into this file.  I moved this code
14010         into menubar-x.c where it belongs. I also needed to move the
14011         command builder structure into the file events.h because it is
14012         accessed directly by this accelerator code.  What I didn't do, but
14013         which should be done at some point, is to properly abstract this
14014         code using device methods instead of the kludgy way that it
14015         currently hooks into the event code.
14016
14017         b) Added the lisp variables this-command-properties and
14018         last-command- properties, which should be used to synchronize two
14019         adjacent commands in preference to playing games with the variable
14020         this-command, which is typically what happens.
14021
14022         c) Added some slightly nasty code to hook into the lisp support
14023         for shifted- motion-key selection.  This is actually necessary for
14024         somewhat complicated reasons, which are described in
14025         simple.el. (NB: I think the proper thing would be to have the code
14026         that calls the pre and post command hooks also call out to generic
14027         lisp functions in simple.el, where all built-in stuff could be
14028         added.  I will think about this more.)
14029
14030         * event-unixoid.c (poll_fds_for_input):
14031         * lread.c (readchar):
14032         * redisplay-tty.c (tty_clear_frame):
14033         * redisplay-x.c (x_get_gc):
14034         * signal.c (interrupt_signal):
14035         And a whole bunch of other files: fixed up places that printed
14036         directly to stderr to instead call the function stderr_out so that
14037         the changes I made under Windows work correctly.
14038
14039         * filemode.c (mode_string):
14040         Warning fixes.
14041
14042         * frame-msw.c:
14043         * frame-msw.c (mswindows_size_frame_internal):
14044         Fixed the computation of frame size and position to keep the frame
14045         within the workspace area, rather than within the physical
14046         dimensions of the screen, so that the frame doesn't overlap window
14047         manager decorations, such as the start menu and toolbar, typically
14048         at the bottom of the screen.
14049
14050         * frame.c (vars_of_frame):
14051         Changed the default frame title format under MS Windows to consist
14052         of buffername-XEmacs, which is standard under MS Windows.  I think
14053         it might be a good idea to change this everywhere because I think
14054         it is superior to the current frame title format, but this is the
14055         kind of change that is likely to cause some people to get annoyed,
14056         so I'm not making it.
14057
14058         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
14059
14060         * gui-msw.c (mswindows_handle_gui_wm_command):
14061         Fixed compile warnings.
14062
14063         * gui-x.c:
14064         * gui-x.c (strdup_and_add_accel):
14065         * gui-x.c (button_item_to_widget_value):
14066         * gui-x.h:
14067         Added code to automatically put an accelerator onto the beginning
14068         of menu items that don't have one as is now the standard, and is
14069         described more later.  Also fixed things so that the menu item
14070         name can be an evaluated expression, again a new standard.
14071
14072         * gui.c:
14073         * gui.c (gui_item_add_keyval_pair):
14074         * gui.c (make_gui_item_from_keywords_internal):
14075         * gui.c (gui_add_item_keywords_to_plist):
14076         * gui.c (gui_item_accelerator):
14077         * gui.c (gui_name_accelerator):
14078         * gui.c (gui_item_included_p):
14079         * gui.c (gui_item_display_flush_left):
14080         * gui.c (gui_item_display_flush_right):
14081         * gui.c (parse_gui_item_tree_item):
14082         * gui.c (parse_gui_item_tree_children):
14083         * gui.c (parse_gui_item_tree_list):
14084         Mule-ized.  Cleanup.  GCPRO addition.
14085
14086         * line-number.c (buffer_line_number):
14087         * lisp.h:
14088         * lisp.h (EMACS_INT_MAX):
14089         Added the manifest constant EMACS_INT_MIN corresponding to the
14090         existing constant EMACS_INT_MAX.  This is partially to fix compile
14091         warnings under Windows, and partly for cleanliness.
14092
14093         * menubar-msw.c:
14094         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
14095         * menubar-msw.c (msw_translate_menu_or_dialog_item):
14096         * menubar-msw.c (displayable_menu_item):
14097         * menubar-msw.c (populate_menu_add_item):
14098         * menubar-msw.c (populate_or_checksum_helper):
14099         * menubar-msw.c (populate_menu):
14100         * menubar-msw.c (update_frame_menubar_maybe):
14101         * menubar-msw.c (prune_menubar):
14102         * menubar-msw.c (msw_char_is_accelerator):
14103         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
14104         * menubar-msw.c (mswindows_handle_wm_command):
14105         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
14106         * menubar-msw.c (mswindows_handle_wm_initmenu):
14107         * menubar-msw.c (mswindows_update_frame_menubars):
14108         * menubar-msw.c (mswindows_free_frame_menubars):
14109         * menubar-msw.c (mswindows_popup_menu):
14110         Fixed a bug in handling accelerators where an extra character
14111         would be displayed in the menu item.  Also generalized the
14112         function displayable_menu_item because it is now used by the
14113         dialog box code as well.  And finally, added code in the functions
14114         that create the menubar to extract a list of accelerators for the
14115         top level menubar, which is used in the event code to determine
14116         whether a particular alt-key combination should be used to invoke
14117         a menu item, or should be passed through to access the standard
14118         XEmacs keymap binding for this key combination.
14119
14120         Much needed GCPROing.
14121
14122         * menubar-x.c:
14123         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14124         * menubar-x.c (menu_item_descriptor_to_widget_value):
14125         * menubar-x.c (restore_in_menu_callback):
14126         * menubar-x.c (x_popup_menu):
14127         * menubar-x.c (menu_move_up):
14128         * menubar-x.c (menu_move_down):
14129         * menubar-x.c (menu_move_left):
14130         * menubar-x.c (menu_move_right):
14131         * menubar-x.c (menu_select_item):
14132         * menubar-x.c (command_builder_operate_menu_accelerator):
14133         * menubar-x.c (menu_accelerator_junk_on_error):
14134         * menubar-x.c (command_builder_find_menu_accelerator):
14135         * menubar-x.c (Faccelerate_menu):
14136         * menubar.h:
14137         Moved a whole bunch of code here that was previously in
14138         event-stream.c as described above.  There is also code connected
14139         to the new standard of adding an accelerator to the beginning of
14140         menu items that don't have one as described above and below.
14141
14142         * menubar.c:
14143         * menubar.c (menu_parse_submenu_keywords):
14144         * menubar.c (Fmenu_find_real_submenu):
14145         * menubar.c (Fnormalize_menu_item_name):
14146         * menubar.c (syms_of_menubar):
14147         * menubar.c (vars_of_menubar):
14148         * menubar.c (complex_vars_of_menubar):
14149
14150         a) Cleaned up a bunch of documentation and improved it.
14151
14152         b) XEmacs now automatically adds an accelerator onto the beginning
14153         of any menu items that don't have one.  I did this because there
14154         will inevitably be some menu items on the main menubar that don't
14155         have accelerators on them because the package that adds that
14156         particular menu item hasn't yet been fixed up to have accelerators
14157         in them and it looked rather strange to have some items with and
14158         some items without accelerators, especially since even in items
14159         without accelerators, you can, at least under windows, still
14160         access the item through an accelerator corresponding to the first
14161         character in the item's name.  If people don't like this behavior,
14162         I can add a variable to turn it off optionally, but I'm not sure
14163         this is a good idea because we really do need to have accelerators
14164         on all of the menu items, and if a package doesn't like the
14165         accelerators being put on the first character, then it should put
14166         the accelerators where they belong.
14167
14168         c) I made a behavior change, which is that the descriptor that
14169         specifies the text of the menu item, which formerly was just a
14170         string, can now also be an evaluated expression.  This makes this
14171         descriptor parallel with all of the others, which could also be
14172         evaluated expressions.  This also obviates the need for the
14173         keyword :label, which was previously listed in the documentation
14174         as unimplemented, and which was for the same purpose.
14175
14176         d) GCPROing.
14177
14178         * ntproc.c:
14179         * ntproc.c (new_child):
14180         * ntproc.c (sys_spawnve):
14181         * ntproc.c (find_child_console):
14182         * ntproc.c (sys_kill):
14183         Fixed compile warnings.  By the way, this file should really go
14184         away entirely, and this will happen as soon as Kirill makes his
14185         final round of process cleanups, which affect the function
14186         call-process.
14187
14188         * process-nt.c:
14189         * process-nt.c (struct nt_process_data):
14190         * process-nt.c (find_process_from_pid):
14191         * process-nt.c (send_signal_the_nt_way):
14192         * process-nt.c (enable_child_signals):
14193         * process-nt.c (find_child_console):
14194         * process-nt.c (send_signal_the_95_way):
14195         * process-nt.c (nt_finalize_process_data):
14196         * process-nt.c (ensure_console_window_exists):
14197         * process-nt.c (nt_create_process):
14198         * process-nt.c (nt_kill_child_process):
14199         * process-nt.c (nt_kill_process_by_pid):
14200         * process-nt.c (nt_open_network_stream):
14201         * process-nt.c (vars_of_process_nt):
14202         Copied over code from Emacs 20.5 to correctly send signals to sub-
14203         processes under Windows 95.  Also added code to automatically
14204         create and hide console window when a sub-process is created under
14205         Windows 95, which obviates the need for the separate runemacs.exe
14206         executable, and finally implemented some variables that were
14207         implemented in Emacs 20.5, but previously not in XEmacs.  These
14208         include mswindows- start-process-share-console and
14209         mswindows-start-process-inherit-error-mode. (Both of these only
14210         apply to Windows 95.)
14211
14212         * regex.c (regex_compile): Fixed a compile warning.
14213
14214         * select-msw.c:
14215         * select-msw.c (mswindows_own_selection):
14216         * select-msw.c (mswindows_get_foreign_selection):
14217         * select-msw.c (mswindows_disown_selection):
14218         * select-msw.c (console_type_create_select_mswindows):
14219         * select-msw.c (syms_of_select_mswindows):
14220         Cleaned up the file and implemented the device method
14221         selection_exists_p, which had accidentally been left out.  Also
14222         removed four lisp functions that were remnants from before the
14223         time when the selection code was properly device abstracted.
14224         These functions are no longer needed because there are generic
14225         equivalents, and because they were added recently and don't exist
14226         in FSF Emacs, I don't think there's any problem with just deleting
14227         them.
14228
14229         * sysdep.c:
14230         * sysdep.c (sys_subshell):
14231         Fixed a compile warning, although in this case there's probably
14232         something wrong with this code, and it ought to be looked into
14233         more thoroughly by somebody who understands it.
14234
14235         * window.c:
14236         * window.c (Fwindow_text_area_height):
14237         * window.c (Fwindow_width):
14238         * window.c (Fwindow_full_width):
14239         * window.c (Fwindow_pixel_width):
14240         * window.c (debug_print_window):
14241         * window.c (syms_of_window):
14242         Added functions window-text-area-height and window-full-width,
14243         which are functions for returning various width and height
14244         characteristics of a window. (One of these functions is necessary
14245         for making the file dialog box work correctly, and the other one
14246         was added for completeness.)  Also added a table to the
14247         documentation for window-height which describes the entire scheme
14248         for accessing width and height characteristics of a window.
14249
14250 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14251
14252         * nt.c (fstat): Added a comment for another problem with
14253         non-encapsulated [f]stat(), reported by Adrian Aichner
14254         <aichner@ecf.teradyne.com>.
14255
14256 2000-03-11  Andy Piper  <andy@xemacs.org>
14257
14258         * window.c (make_dummy_parent): initialize subwindow instance
14259         cache.
14260         (Fset_window_configuration): zero extent_modiff.
14261
14262 2000-03-10  Andy Piper  <andy@xemacs.org>
14263
14264         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14265         more changes can be triggered.
14266         (Fredisplay_frame): ditto.
14267         (Fredraw_device): ditto.
14268         (Fredisplay_device): ditto.
14269         (redisplay_frame): make non-static.
14270         (redisplay_frame): call update_frame_gutter_geometry outside of
14271         display proper.
14272
14273         * gutter.h: declare update_frame_gutter_geometry.
14274
14275         * redisplay.h: declare redisplay_frame.
14276
14277         * gutter.c (update_frame_gutter_geometry): move geometry changes
14278         in update_frame_gutters here. Geometry changes can only occur
14279         outside of redisplay.
14280         (update_frame_gutters): remove geometry change code.
14281         (Fredisplay_gutter_area): make sure that we are in display when we
14282         update and that we have flushed any size changes.
14283
14284 2000-03-11  Andy Piper  <andy@xemacs.org>
14285
14286         * alloc.c (pdump_dump_data): remove i & count shadows.
14287
14288 2000-02-27  Mike Alexander  <mta@arbortext.com>
14289
14290         * sysdep.h: Declare pdump_read_file
14291
14292         * sysdep.c (pdump_read_file): New function
14293
14294         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14295         dump data
14296
14297 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14298
14299         * lrecord.h: add `lrecord_type_pgsetenv'.
14300
14301 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14302
14303         * symsinit.h: declare (vars|syms)_of* functions.
14304         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14305
14306 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14307
14308         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14309
14310         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14311         GCCs.
14312
14313         * emacs.c (main_1): Call postgres initialization code.
14314
14315         * postgresql.h: New file.  PostgreSQL RDBMS support.
14316         * postgresql.c: New file.
14317
14318 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14319
14320         * redisplay-output.c (redisplay_output_display_block): Disable
14321         redundant code.
14322
14323 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14324
14325         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14326         (Fcanna_henkan_next): Ditto.
14327         (Fcanna_bunsetu_henkou): Ditto.
14328         (Fcanna_henkan_kakutei): Ditto.
14329         (Fcanna_henkan_end): Ditto.
14330         (Fcanna_henkan_quit): Ditto.
14331         (Fcanna_henkan_next): Set retun value correctly.
14332         (c2mu): Use unsigned char instead of signed char.
14333
14334 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14335
14336         * emacs.c (main_1): Always call syms_of_gui.
14337         * inline.c: include gui.h
14338
14339 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14340
14341         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14342         converted to Lisp_Object.
14343         (Qtop_bottom): New variable.
14344         (syms_of_redisplay): Initialize it.
14345         * redisplay.h (Vvisible_bell): Ditto.
14346         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14347         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14348         only flash top and bottom.
14349
14350 2000-03-08  Andy Piper  <andy@xemacs.org>
14351
14352         * buffer.c (Frename_buffer): record new buffer name the right way.
14353
14354 2000-03-08  Andy Piper  <andy@xemacs.org>
14355
14356         * glyphs.c (update_subwindow): increase hash depth so that widget
14357         items get picked up properly.
14358
14359         * redisplay-output.c (compare_runes): increase hash depth so that
14360         widget items get picked up properly.
14361
14362 2000-03-08  Andy Piper  <andy@xemacs.org>
14363
14364         * gutter.c (output_gutter): add some debug.
14365
14366         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14367         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14368         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14369
14370         * redisplay-output.c (compare_runes): use display_hash to
14371         determine if glyphs really are not the same.
14372
14373         * glyphs.c (update_subwindow): check display_hash to see if
14374         anything really needs to be updated. If not then do
14375         nothing. Record the display_hash after updating.
14376         (image_instance_equal): compare the image_instance face also.
14377
14378 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14379
14380         * redisplay.h: Fix comment style.
14381
14382 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14383
14384         * consle-msw.h (struct mswindows_frame):
14385         Added new member paint_pending to indicate whether a WM_PAINT
14386         magic event has been queued for this frame.
14387
14388         * event-msw.c (mswindows_drain_windows_queue):
14389         Don't queue a WM_PAINT magic event if one is already queued.
14390         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14391
14392         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14393
14394 2000-03-07  Didier Verna  <didier@xemacs.org>
14395
14396         * dired.c: #include `regex.h' after `sysfile.h'.
14397
14398 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14399
14400         * sound.c (init_nas_sound): Fix compiler warning.
14401
14402         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14403         (FREE_STRUCT_P):
14404         (MARK_STRUCT_AS_FREE):
14405         (MARK_STRUCT_AS_NOT_FREE):
14406         Make `gcc -fstrict-aliasing' work properly.
14407
14408 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14409
14410         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14411         (mswindows_delete_device): Call CoUnnitialize().
14412
14413         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14414
14415 2000-02-25    <CraigL@DyCon.com>
14416
14417         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14418         <errno.h>.
14419
14420         * sysdep.c: This extern declaration for environ prevents MinGW
14421         from finding the variable in CRTDLL.DLL.
14422
14423         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14424         windows headers.
14425         (SHGFI_EXETYPE): ..
14426         (WM_MOUSEWHEEL): ..
14427         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14428         definitions.
14429         (MMRESULT): Removed, now defined in cygwin's windows headers.
14430         (TIMECAPS): ..
14431         (uid_t,gid_t,pid_t,ssize_t): ..
14432         (_timeb): Removed, MinGW defines both _timeb and timeb.
14433         (HAVE_H_ERRNO): Added.
14434         (HAVE_TZNAME): Added, configure is not detecting this.
14435
14436 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14437
14438         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14439         * syntax.c (syntax_match): Use it.
14440
14441         * cmds.c: Import auto-fill-chars from FSF Emacs.
14442         (Vauto_fill_chars): New variables.
14443         (internal_self_insert): Check Vauto_fill_chars.
14444         (vars_of_cmds):
14445         Declare auto-fill-chars as a Lisp variable and initialize it.
14446
14447 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14448
14449         * fileio.c (Fmake_symbolic_link):
14450         (Ffile_symlink_p):
14451         Run handlers even if local machine doesn't have symlinks.
14452
14453 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14454
14455         * event-msw.c (mswindows_drain_windows_queue):
14456         Don't generate paint magic events for non-XEmacs frames.
14457
14458 2000-03-05  Andy Piper  <andy@xemacs.org>
14459
14460         * redisplay.c (redisplay_frame): generate_displayable_area and
14461         friends assumes that we are not in GC, we therefore have to make
14462         sure that this doesn't happen.
14463
14464         * gutter.c (calculate_gutter_size): generate_displayable_area
14465         assumes that we are not in GC, we therefore have to make sure that
14466         this doesn't happen.
14467
14468 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14469
14470         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14471
14472 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14473
14474         * redisplay.c (regenerate_window): Make sure we set a sane value
14475         for end_pos even if we jump out of the loop.
14476         (regenerate_window): Answer Ben's question :-).
14477         (start_end_of_last_line): Add may_error argument.
14478         (start_of_last_line):
14479         (end_of_last_line): Pass may_error = 0.
14480         (end_of_last_line_may_error): New function.
14481         (pixel_to_glyph_translation): Use it, so we don't crash in
14482         event_to_glyph.
14483
14484 2000-03-04  Andy Piper  <andy@xemacs.org>
14485
14486         * window.h (struct window): add gutter_extent_modiff.
14487
14488         * window.c (allocate_window): zero out gutter_extent_modiff.
14489
14490         * redisplay.h: declare sync_display_line_structs.
14491
14492         * redisplay.c (add_glyph_rune): add a better comment.
14493
14494         * redisplay-output.c (sync_display_line_structs): made non-static.
14495         (compare_runes): remove unneccesary glyph cachel access.
14496
14497         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14498
14499         * gutter.c (output_gutter): don't output the gutter if extent
14500         changes only involve extents in buffers. use 4 sets of display
14501         lines.
14502         (gutter_extent_signal_changed_region_maybe): new function. Mark
14503         extents in gutters as changed.
14504         (update_frame_gutters): use 4 sets of display lines.
14505         (reset_gutter_display_lines): ditto.
14506         (free_frame_gutters): ditto.
14507         (redraw_exposed_gutter): force output of gutters.
14508
14509         * frame.h (struct frame): add 4 sets of gutter display lines.
14510
14511         * extents.c: (extent_changed_for_redisplay): signal changes to
14512         extents in strings in the gutter as well as extents in buffers.
14513
14514 2000-03-02  Andy Piper  <andy@xemacs.org>
14515
14516         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14517
14518         * frame.c (Fmake_frame): make sure the gutters get initialized
14519         after the frame is visible.
14520         (set_frame_selected_window): re-arrange compilation macros a
14521         little.
14522         (change_frame_size_1): mark gutters changed.
14523
14524         * device.c (Fset_device_class): mark gutters changed.
14525
14526 2000-03-01  Andy Piper  <andy@xemacs.org>
14527
14528         * window.c (window_top_frame_gutter_height): deleted.
14529         (window_bottom_frame_gutter_height): ditto.
14530         (window_left_frame_gutter_height): ditto.
14531         (window_right_frame_gutter_height): ditto.
14532         (window_top_gutter_height): don't use them.
14533         (window_bottom_gutter_height): ditto.
14534         (window_left_gutter_width): ditto.
14535         (window_right_gutter_width): ditto.
14536         (Fsplit_window): ditto.
14537         (Fwindow_pixel_edges): don't use border dimensions here.
14538
14539         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14540         (update_scrollbar_instance): ditto.
14541
14542         * redisplay.c (generate_modeline): don't take gutters into account.
14543         (generate_modeline): ditto.
14544         (redisplay_frame): small gutter display optimization.
14545
14546         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14547
14548         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14549         gutters into account.
14550
14551         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14552         for window position and type.
14553
14554         * gutter.c (get_gutter_coords): fix for frame gutters.
14555         (update_frame_gutters): update frame geometry if the gutters have
14556         changed.
14557         (init_frame_gutters): record current gutter geometries.
14558
14559         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14560         var.
14561         (mswindows_widget_instantiate): ditto.
14562
14563         * frame.h (struct frame): add current_gutter_bounds.
14564
14565         * frame.c (change_frame_size_1): position window and minibuffer
14566         appropriately taking into account the frame gutters.
14567
14568         * frame-x.c: (x_initialize_frame_size): take into account the
14569         frame gutters.
14570
14571 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14572
14573         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14574
14575 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14576
14577         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14578
14579 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14580
14581         * file-coding.c (reset_decoding_stream): Clear previous
14582         detection state when autodetect.
14583
14584 2000-02-29  Didier Verna  <didier@xemacs.org>
14585
14586         * extents.c (set_extent_glyph_1): don't require extents to be
14587         attached.
14588
14589 2000-02-27  Andy Piper  <andy@xemacs.org>
14590
14591         * gutter.c (Fset_default_gutter_position): don't default left and
14592         right gutter visibility to t.
14593         (Fset_default_gutter_position): run
14594         default-gutter-position-changed-hook.
14595         (syms_of_gutter): add default-gutter-position-changed-hook.
14596
14597 2000-02-26  Andy Piper  <andy@xemacs.org>
14598
14599         * specifier.c (Fmake_specifier): add gutter references.
14600
14601         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14602
14603         * lisp.h: declare Fvalid_plist_p.
14604
14605         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14606         as changed.
14607         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14608         well as its visibility so that it gets reconstructed.
14609         (construct_window_gutter_spec): new function. Construct a string
14610         to be displayed in the gutter from a plist of strings. Take care
14611         to only use elements that are declared as visible.
14612         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14613         WINDOW_GUTTER.
14614         (gutter_validate): allow plists of strings in the specifier.
14615         (gutter_specs_changed): construct the real_gutter from the gutter
14616         specs using construct_window_gutter_spec.
14617         (gutter_visible_validate): gutter-visible is a new specifier type.
14618         (Fgutter_visible_specifier_p): new function for the new specifier.
14619         (syms_of_gutter): declare gutter-visible and
14620         Fgutter_visible_specifier_p.
14621         (specifier_type_create_gutter): intitalize new gutter-visible
14622         specifier.
14623         (reinit_specifier_type_create_gutter): ditto.
14624         (specifier_vars_of_gutter): use new specifier type for gutter
14625         visibility.
14626         (init_frame_gutters): construct real_gutter correctly.
14627         (Fgutter_specifier_p): beef up documentation.
14628         (Fgutter_size_specifier_p): ditto.
14629
14630         * winslots.h: add real_gutter slots.
14631
14632 2000-02-25  Andy Piper  <andy@xemacs.org>
14633
14634         * device-msw.c: Be kind to older cygwin versions. From Raymond
14635         Toy <toy@rtp.ericsson.se>.
14636
14637         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14638         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14639
14640 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14641
14642         * elhash.c (MARK_OBJ): Practice macro hygiene.
14643
14644 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14645
14646         * miscplay.c: s/__inline__/inline/g;
14647         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14648         (get_device_compdc): INLINE ==> static inline
14649         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14650         find -name '*.h' | \
14651         xargs global-replace \
14652         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14653
14654 2000-02-25  Andy Piper  <andy@xemacs.org>
14655
14656         * window.c (window_top_frame_gutter_height): new function.
14657         (window_top_window_gutter_height): ditto.
14658         (window_top_gutter_height): use them.
14659         (window_bottom_frame_gutter_height): new function.
14660         (window_bottom_window_gutter_height): ditto.
14661         (window_bottom_gutter_height): use them.
14662         (window_left_window_gutter_width): new function.
14663         (window_left_frame_gutter_width): ditto.
14664         (window_left_gutter_width): use them.
14665         (window_right_window_gutter_width): new function.
14666         (window_right_frame_gutter_width): ditto.
14667         (window_right_gutter_width): use them.
14668         (window_pixel_height): new function. calulate window pixel height
14669         with frame gutter involvement.
14670         (Fsplit_window): calculate new sizes taking frame gutters into
14671         account.
14672         (window_char_height_to_pixel_height): don't include frame gutters.
14673         (window_char_height): use window_pixel_height.
14674         (window_pixheight): rename from window_pixel_height.
14675         (change_window_height): use it.
14676         (window_pixel_height_to_char_height): don't include frame gutters.
14677         (window_char_width_to_pixel_width): ditto.
14678
14679 2000-02-25  Andy Piper  <andy@xemacs.org>
14680
14681         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14682         if it is.
14683
14684 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14685
14686         * alloc.c (staticpro):
14687         (staticpro_nodump):
14688         (dumpstruct):
14689         (dumpopaque):
14690         (pdump_wire):
14691         (pdump_wire_list):
14692         (compact_string_chars):
14693         (pdump_dump_wired):
14694         Convert:  if (foo) abort();  ==>  assert (! foo);
14695
14696         * eldap.c (Fldap_search_basic):
14697         (Fldap_add):
14698         (Fldap_modify):
14699         (Fldap_delete):
14700         Fix compiler warnings, and possible crashes if (random) return
14701         value were to be used.
14702
14703 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14704
14705         * device-msw.c: Workaround ResetDC failure.
14706
14707         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14708         applying a devmode.
14709
14710         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14711         (mswindows_text_width): Do not start printer page.
14712
14713         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14714
14715         * glyphs-msw.c: Added image methods to msprinter console and
14716         msprinter-specific image instantiation.
14717
14718 2000-02-20  Mike Alexander  <mta@arbortext.com>
14719
14720         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14721         to avoid crashes when selection-sets-clipboard is on
14722         (mswindows_own_selection): ditto
14723
14724 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14725
14726         * glyphs-msw.c:
14727         * redisplay-msw.c (get_frame_dc):
14728         (get_frame_compdc):
14729         * console-msw.h:
14730         * device-msw.c (mswindows_init_device):
14731         (mswindows_delete_device):
14732         (msprinter_init_device):
14733         (msprinter_delete_device):
14734         * frame-msw.c (mswindows_init_frame_1):
14735         (mswindows_delete_frame):
14736         (msprinter_init_frame_3):
14737         (msprinter_delete_frame): Move compatible DC to device object from
14738         frame object, for both mswindows and msprinter. Only one at a time
14739         is needed, it is a real waste to have one per frame!
14740
14741 2000-02-23  Andy Piper  <andy@xemacs.org>
14742
14743         * glyphs.c: add dynamic width and height elements.
14744         (image_instance_equal): ditto.
14745
14746         * glyphs-widget.c (widget_query_geometry): calculate width and
14747         height dynamically if required.
14748         (initialize_widget_image_instance): initialize dynamic dimensions.
14749         (widget_instantiate): pick-up dynamic dimensions.
14750
14751         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14752         dynamic determination. Add appropriate macros.
14753
14754         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14755         dimensions safe.
14756         (WINDOW_GUTTER_SIZE): ditto.
14757         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14758
14759         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14760         inline.
14761         (get_frame_dc): ditto.
14762
14763         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14764         here.
14765
14766 2000-02-23  Martin Buchholz <martin@xemacs.org>
14767
14768         * XEmacs 21.2.31 is released.
14769
14770 2000-02-22  Ben Wing <ben@xemacs.org>
14771
14772         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14773
14774 2000-02-22  Andy Piper  <andy@xemacs.org>
14775
14776         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14777
14778 2000-02-21  Mike Sperber <mike@xemacs.org>
14779
14780         * .dbxrc:
14781         * .gdbinit:
14782         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14783         variables.
14784
14785 2000-02-21  Mike Sperber <mike@xemacs.org>
14786
14787         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14788
14789 2000-02-21  Martin Buchholz <martin@xemacs.org>
14790
14791         * XEmacs 21.2.30 is released.
14792
14793 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14794
14795         Performance hacking.
14796         * *.c (syms_of_*):
14797         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14798         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14799         * emacs.c (main_1):
14800         * lisp.h (DEFUN):
14801         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14802         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14803         * symeval.h (DEFVAR_SYMVAL_FWD):
14804         * symbols.c (guts_of_unbound_marker):
14805         Make all c_readonly objects also lisp_readonly and marked for life.
14806         * lrecord.h (struct lrecord_implementation):
14807         Document flags better.
14808         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14809         * lrecord.h (DECLARE_LRECORD):
14810         * lrecord.h (XSETRECORD):
14811         * lrecord.h (RECORDP):
14812         * lrecord.h (RECORD_TYPEP):
14813         * lrecord.h (RECORD_MARKER): New.
14814         * lrecord.h (error_check_*):
14815         * lrecord.h (CONCHECK_NONRECORD):
14816         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14817         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14818         * lrecord.h (set_lheader_implementation):
14819         * lrecord.h (enum lrecord_type): New.
14820         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14821         * alloc.c (disksave_object_finalization_1):
14822         * alloc.c (mark_object):
14823         * alloc.c (lrecord_type_index):
14824         * alloc.c (tick_lcrecord_stats):
14825         * alloc.c (Fgarbage_collect):
14826         * alloc.c (init_alloc_once_early):
14827         * alloc.c (pdump_load):
14828         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14829         * alloc.c (lrecord_type_index): Delete.
14830         Make lisp object type indexes be constant.
14831           Makes (byte-compile) 5% faster.
14832         Put all marker functions into their own array.
14833           Makes (garbage-collect) 5% faster.
14834         Optimize SYMBOL_VALUE_MAGIC_P.
14835           Makes (byte-compile) 2-3% faster.
14836         * config.h.in (gc_checking_assert): New.
14837         * alloc.c: Use gc_checking_assert().
14838         * .dbxrc: Make compatible with new object type implementation.
14839         * .gdbinit: Make compatible with new object type implementation.
14840         * alloc.c: Delete all symbols defined only for debugging, such as
14841         Lisp_Type_Vector and lrecord_charset.
14842
14843 2000-02-21  Andy Piper  <andy@xemacs.org>
14844
14845         * gui-msw.c (Fmswindows_shell_execute): fix file location
14846         problems.
14847
14848         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14849         unshowing so that set_window_buffer doesn't undo
14850         kill_buffer_hook's hard work.
14851
14852         * glyphs-widget.c (tab_control_query_geometry): don't count the
14853         first item when calculating geometry.
14854
14855         * glyphs.c (map_subwindow): remove redundant code.
14856         (update_frame_subwindows): be more circumspect about when to
14857         update subwindows.
14858
14859         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14860         when items haven't changed. Update faces if faces have changed as
14861         well as just the widget face.
14862         (x_tab_control_update): Update faces if faces have changed as well
14863         as just the widget face.
14864
14865 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14866
14867         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14868         registration.
14869         (build_syscolor_string): Use mswindows_color_to_string to try to
14870         get a named color.
14871         (mswindows_device_system_metrics): Reverse the foreground and
14872         background colors so that they match the documentation.
14873
14874         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14875         they match the default Windows palette.
14876         (mswindows_color_to_string): New function.
14877
14878 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14879
14880         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14881
14882 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14883
14884         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14885         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14886
14887         * symbols.c (init_symbols_once_early): Removed obsolete
14888         DATA_SEG_BITS related kludge.
14889         (defvar_magic): Ditto.
14890
14891         * malloc.c: Removed obsolete DATA_SEG_BITS
14892         * ralloc.c: Ditto.
14893         * mem-limits.h: Ditto.
14894
14895         * Makefile.in.in: Removed obsolete HAVE_SHM
14896         * emacs.c: Ditto.
14897
14898 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14899
14900         *  device-msw.c (mswindows_delete_device): Free DDE string
14901         handles.
14902
14903 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14904
14905         * keymap.c (get_keyelt):
14906         * unexnt.c (unexec):
14907         * vm-limit.c (memory_warnings):
14908         * ntheap.c (recreate_heap):
14909         * ntheap.h (UNINIT_PTR):
14910         * select-msw.c (Fmswindows_get_clipboard):
14911         (Fmswindows_set_clipboard):
14912         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14913         * objects-msw.c:
14914         * menubar-msw.c (displayable_menu_item):
14915         * glyphs-msw.c:
14916         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14917         * sysdep.c (sys_subshell):
14918         * process-nt.c (nt_create_process):
14919         * nt.c (normalize_filename):
14920         (dostounix_filename):
14921         (unixtodos_filename):
14922         * ntproc.c (win32_executable_type):
14923         * ntplay.c (play_sound_data_1):
14924         (play_sound_file):
14925         * editfns.c (get_home_directory):
14926         * event-msw.c (struct winsock_stream):
14927         (mswindows_dde_callback):
14928         * device-msw.c (msprinter_init_device):
14929         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14930
14931         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14932         mswindows_clear_toolbar were swapped!
14933
14934         * objects-msw.c:(colormap_t):
14935         (fontmap_t):
14936         * emacs.c (struct standard_args): Fixed const jumble.
14937
14938         * glyphs-widget.c (update_widget): Fixed comparison notation.
14939
14940         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14941
14942         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14943         __declspec(noreturn) syntax.
14944
14945 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14946
14947         * eldap.c (Fldap_open):
14948         (Fldap_search_basic):
14949         (Fldap_add):
14950         (Fldap_modify):
14951         Use new coding system conversion macros.
14952
14953 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14954
14955         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14956
14957 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14958
14959         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14960         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14961
14962         * eldap.c (Qadd, Qreplace): New constant symbols
14963         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14964         interruptions by XEmacs signals
14965         Remove unnecessary calls to slow_down_interrupts and
14966         speed_up_interrupts
14967         (Fldap_search_basic): Renamed from Fldap_search_internal
14968         Added new optional parameter VERBOSE that triggers the
14969         display of progress messages
14970         Remove unnecessary calls to slow_down_interrupts and
14971         speed_up_interrupts
14972         LDAP result code analysis rewritten
14973         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14974         (syms_of_eldap): Define the new symbols and functions
14975
14976
14977 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14978
14979         * realpath.c: Determine PATH_MAX maximally portably.
14980
14981         * insdel.c (bytecount_to_charcount): Optimize.
14982         The function used to be optimized for entirely ASCII sequences.
14983         Now it is optimized for successive characters from the same
14984         charset.  This also wins big for _mostly_ ASCII sequences.
14985
14986         * fileio.c (Ffile_truename): convert return from realpath() using
14987         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14988         - Rewrite GCPROing slightly.
14989
14990         * sysdep.c (sys_open): Do filename conversion, like all other
14991         sys_* functions.  Fixes bug:
14992         (let ((file-name-coding-system 'iso-8859-2))
14993            (write-region x y latin2-name))
14994         ==> writes filename using internal encoding.
14995
14996 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14997
14998         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14999         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
15000         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
15001         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
15002         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
15003         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
15004         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
15005         (CONST_IF_NOT_DEBUG): Delete.
15006         * alloc.c (this_one_is_unmarkable): Delete.
15007         (mark_object): Don't check for this_one_is_unmarkable. Use the
15008         c_readonly flag instead.
15009         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
15010
15011 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15012
15013         * event-msw.c (mswindows_drain_windows_queue):
15014         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
15015         away redundant repaint events.
15016
15017 2000-02-17  Andy Piper  <andy@xemacs.org>
15018
15019         * redisplay.h: declare mark_redisplay_structs.
15020
15021         * redisplay.c (redisplay_window):
15022         (redisplay_frame): don't check subwindows_state_changed.
15023         (mark_redisplay): mark gutters here.
15024
15025         * glyphs.c: (instantiate_image_instantiator): always layout if we
15026         haven't done so already.
15027         (allocate_image_instance): don't mark as dirty.
15028         (update_subwindow): bind inhibit_quit.
15029
15030         * gutter.c (mark_gutters): new function.
15031
15032         * glyphs-x.c (x_update_widget): Always resize to get round a
15033         widget bug.
15034
15035         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
15036         breaking absolutely everything.
15037
15038         * gutter.h: declare mark_gutters.
15039
15040 2000-02-16  Martin Buchholz <martin@xemacs.org>
15041
15042         * XEmacs 21.2.29 is released.
15043
15044 2000-02-15  Olivier Galibert  <galibert@pobox.com>
15045
15046         * fns.c (size_bit_vector): Fix computation of the size.
15047
15048 2000-02-15  Martin Buchholz  <martin@xemacs.org>
15049
15050         * *.[ch]: Change CONST to const globally.
15051         find -name '*.[ch]' | \
15052         xargs global-replace \
15053         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
15054         - Remove vestigial references to CONST_IS_LOSING
15055
15056 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15057
15058         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
15059         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
15060         events instead of dispatching them directly.
15061         (mswindows_handle_paint): New function to do repainting.
15062         (mswindows_wnd_proc):
15063         (emacs_mswindows_handle_magic_event): Call above function.
15064
15065 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15066
15067         * objects-msw.c (mswindows_create_font_variant): Return the new
15068         font handle.
15069         (initialize_font_instance): Get font metrics from the underlined
15070         variant of the font to cope with the case where the underlined
15071         font has a bigger descent.
15072
15073 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15074
15075         * gui.c (gui_item_accelerator): Return the first underlined
15076         character in item name.
15077
15078 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15079
15080         * lisp.h: Added Qprinter.
15081
15082         * general.c (syms_of_general): Initialized it.
15083
15084         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
15085         (get_frame_dc):
15086         (get_frame_compdc): Made inline.
15087
15088         * console.h (struct console_methods): Added eject_page method.
15089
15090         * frame.h: Added FRAME_DISPLAY_P and friends.
15091         Aligned backslahes in many macros in more readable fashion.
15092         Added page_number to struct frame, and an accessor macro
15093         for it.
15094
15095         * defice.h: Added DEVICE_DISPLAY_P and friends.
15096
15097         * device.c (Fdevice_printer_p): Used these.
15098
15099         * frame.c (allocate_frame_core): Initialize page number.
15100         (Fprint_job_page_number):
15101         (Fprint_job_eject_page): Implemented.
15102
15103         * frame-msw.c (msprinter_eject_page): Added method.
15104         (msprinter_start_page): Added.
15105
15106         * window.c (Fwindow_truncated_p): Fixed docstring.
15107         (Fwindow_last_line_visible_height): Implemented.
15108
15109 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15110
15111         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15112
15113 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15114
15115         * syntax.c (scan_words): Always advance at least one character.
15116
15117 2000-02-13  Andy Piper  <andy@xemacs.org>
15118
15119         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15120         to make sure the glyph is in the cachels.
15121
15122         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15123         global image instance flag.
15124         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15125         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15126
15127         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15128         (Fset_image_instance_property): mark layout as changed.
15129         (invalidate_glyph_geometry_maybe): mark layout as changed.
15130         (glyph_width): use new NEEDS_LAYOUT macro.
15131         (glyph_ascent): ditto.
15132         (glyph_descent): ditto.
15133         (glyph_height): ditto.
15134         (image_instance_layout): mark layout as clean after laying out.
15135         (update_subwindow): don't mark layout as clean here.
15136
15137         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15138         should no longer be needed.
15139
15140         * glyphs-x.c (x_update_widget): sanitize asserts.
15141         (x_finalize_image_instance): sanitize assignment to widgets.
15142
15143         * glyphs-widget.c (widget_instantiate): don't need to clear the
15144         layout flag here.
15145
15146 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15147
15148         * sysdep.c (getcwd): Use standard prototype.
15149         * sysdep.h (getcwd): Use standard prototype.
15150
15151         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15152         (sequence, start, end).
15153         Remove redundant type checking.
15154         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15155         view of `caller-protects') to avoid a crash where the real fix was
15156         found elsewhere.
15157
15158 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15159
15160         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15161
15162         * s/sol2.h: Remove feature macro initialization.
15163
15164         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15165         (vector_hash): New.  Code from internal_hash.
15166         * lrecord.h:
15167         Fix up allocation subsystem comments.
15168
15169         * config.h.in: Add __EXTENSIONS__ for Solaris.
15170
15171         * systime.h (EMACS_GETTIMEOFDAY): New.
15172         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15173         Remove Solaris-specific code.
15174         Use void* for the (ignored) second arg for gettimeofday().
15175
15176         * elhash.c (hash_table_hash): Implement it, finally.
15177         * elhash.c:  Use hashcode_t.
15178
15179         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15180         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15181
15182         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15183         * fns.c (size_bit_vector):
15184         * alloc.c (size_vector):
15185         (make_vector_internal):
15186         (make_bit_vector_internal):
15187         (sweep_bit_vectors_1):
15188         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15189
15190 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15191
15192         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15193         Include strings.h to avoid warnings for bzero and strcasecmp.
15194
15195 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15196
15197         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15198         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15199
15200         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15201         sequence.
15202
15203 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15204
15205         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15206         use a value field instead.
15207         (symbol_value_forward_forward): Use value field.
15208         (DEFVAR_SYMVAL_FWD): Use value field.
15209         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15210         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15211         (DEFVAR_CONST_INT): Ditto.
15212         (DEFVAR_BOOL): Ditto.
15213         (DEFVAR_CONST_BOOL): Ditto.
15214         (DEFVAR_INT_MAGIC): Ditto.
15215         (DEFVAR_BOOL_MAGIC): Ditto.
15216
15217         * symbols.c (guts_of_unbound_marker): Use value field.
15218         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15219         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15220
15221         * lisp.h: Declare dumpopaque and noninteractive1.
15222
15223         * alloc.c (dumpopaque): Added.
15224         (pdump_dump_opaquevec): Added.
15225         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15226         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15227         noninteractive.
15228
15229 2000-02-10  Andy Piper  <andy@xemacs.org>
15230
15231         * glyphs.c (image_instance_layout): if the size changes, mark it
15232         as such.
15233
15234         * redisplay-output.c (redisplay_output_layout): Update the
15235         subwindow here.
15236         (redisplay_output_subwindow): ditto.
15237
15238         * glyphs.c (update_subwindow): make sure we reset flags for
15239         layouts as well as everything else.
15240
15241         * glyphs-widget.c (layout_layout): don't need to set the instances
15242         dimensions here.
15243
15244 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15245
15246         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15247         not HAVE_DLOPEN, which is a lower-level thing.
15248
15249         * .cvsignore: Ignore gmon.out
15250
15251 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15252
15253         * .cvsignore: Ignore portable dumper xemacs.dmp file
15254
15255 2000-02-09  Andy Piper  <andy@xemacs.org>
15256
15257         * redisplay-output.c (redisplay_output_layout): be more clever
15258         about when we output based on the changed flags.
15259
15260         * glyphs.h (struct image_instantiator_methods): add update_method.
15261         (struct Lisp_Image_Instance): add changed flags. Declare new
15262         macros for manipulating them.
15263
15264         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15265         (image_instance_parent_glyph): find an image_instance's parent
15266         glyph or image_instance.
15267         (image_instance_layout): mark the size as changed.
15268         (set_image_instance_dirty_p): new function. mark an image
15269         instance, plus all of its parents, as dirty.
15270         (Fset_image_instance_property): use it.
15271         (Fglyph_animated_timeout_handler): use it.
15272         (update_subwindow): call update_widget and device methods for
15273         update_subwindow. Mark all changed flags as clean.
15274         (Fresize_subwindow): mark size as changed.
15275
15276         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15277         failures.
15278         (x_update_subwindow): only resize subwindows here.
15279         (x_update_widget): new function. Update all changed properties of
15280         a widget.
15281         (x_resize_subwindow): deleted.
15282         (x_widget_set_property): deleted.
15283         (x_progress_gauge_set_property): deleted.
15284         (x_progress_gauge_update): new function. Implement recorded
15285         changes.
15286         (x_tab_control_update): ditto.
15287         (x_tab_control_set_property): deleted.
15288         (console_type_create_glyphs_x): declare new functions.
15289         (image_instantiator_format_create_glyphs_x): ditto.
15290
15291         * glyphs-widget.c (widget_set_property): mark text changed.
15292         (update_widget): new function. Update properties of a widget.
15293         (widget_instantiate): for layouts make sure we set their
15294         children's parent correctly.
15295         (tab_control_set_property): new function. Record changes that will
15296         take place under redisplay's control.
15297         (progress_gauge_set_property): ditto.
15298         (image_instantiator_progress_guage): declare new functions.
15299         (image_instantiator_tab_control): ditto.
15300
15301         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15302         now.
15303         (mswindows_update_widget): new function. Update all properties on
15304         a widget that have changed.
15305         (mswindows_button_update): new function. Update a button's set
15306         state.
15307         (mswindows_tab_control_update): new function. Update the items in
15308         a tab.
15309         (mswindows_tab_control_set_property): deleted.
15310         (mswindows_progress_gauge_update): new function. Update the
15311         progress gauge's progress.
15312         (mswindows_widget_set_property): deleted. This is all done
15313         asynchronously now.
15314         (mswindows_progress_gauge_set_property): ditto.
15315         (console_type_create_glyphs_mswindows): declare new methods.
15316         (image_instantiator_format_create_glyphs_mswindows): ditto.
15317
15318         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15319         (msprinter_set_frame_properties): ditto.
15320
15321         * console.h (struct console_methods): Add update_widget_method.
15322
15323 2000-02-09  Andy Piper  <andy@xemacs.org>
15324
15325         * gui-msw.c (Fmswindows_shell_execute): Make
15326         mswindows-shell-execute industrial strength.
15327
15328 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15329
15330         * lrecord.h: Make macro argument `props' match member function `plist'.
15331         * fns.c (Fget):
15332         * fns.c (Fput):
15333         * fns.c (Fremprop):
15334         * fns.c (Fobject_plist):
15335         * alloc.c:
15336         * symbols.c:
15337         Object property list frobbing cleanup.
15338         - Allow any lisp object (compared with `eq'), not just symbols, as
15339           keys in object plists.
15340         - Move symbol plist frobbing into symbols.c, where it belongs.
15341         - Move string plist frobbing into alloc.c, where it belongs.
15342         - Everything's an lrecord now, so no need to test for symbolp, etc.
15343         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15344
15345         * extents.c: Reorder code to remove declarations.
15346
15347         * frame.h (store_in_alist): Remove useless declaration.
15348
15349 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15350
15351         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15352         * config.h.in: Add HAVE_XCONVERTCASE.
15353
15354 2000-02-07  Andy Piper  <andy@xemacs.org>
15355
15356         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15357         it breaks many things.
15358
15359 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15360
15361         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15362         actually can start a common comment type.
15363         * src/syntax.h (SYNTAX_END_P): ditto for end.
15364
15365 2000-02-07  Martin Buchholz <martin@xemacs.org>
15366
15367         * XEmacs 21.2.28 is released.
15368
15369 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15370
15371         * event-Xt.c (x_keysym_to_character): New.
15372         (maybe_define_x_key_as_self_inserting_character): New.
15373         (x_has_keysym): New.
15374         Auto-define all keys on the keyboard as self-insert-key.
15375
15376 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15377
15378         * menubar.c (vars_of_menubar): A small code simplification.
15379
15380         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15381
15382         * ExternalShell.c:
15383         * ExternalClient.c:
15384         * EmacsShell-sub.c:
15385         * EmacsManager.c:
15386         * EmacsFrame.c:
15387         Use consistent style for specifying X resources.
15388
15389         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15390         This makes (dontusethis-set-symbol-value-handler) actually usable.
15391
15392         * lrecord.h (lrecord_decription_type):
15393         * alloc.c (pdump_register_sub):
15394         (pdump_dump_data):
15395         (pdump_reloc_one):
15396         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15397         Comply with XEmacs coding style.
15398         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15399         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15400
15401         * keymap.c (Faccessible_keymaps):
15402         Make (accessible-keymaps map "\C-h") do the Right Thing.
15403         Make (accessible-keymaps map []) do the Right Thing.
15404         Make (accessible-keymaps map "") do the Right Thing.
15405         (check_keymap_definition_loop): New function.
15406         (keymap_store_internal): Keep luser from shooting self in foot,
15407           via (define-key ctl-x-4-map "p" global-map).
15408         Remove fullness slot from struct Lisp_Keymap, since hash tables
15409         are now reliable.
15410         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15411
15412 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15413
15414         * redisplay.c (init_redisplay): Fix small memory leak.
15415         * elhash.h:
15416         * elhash.c (pdump_reorganize_hash_table):
15417         Rename from reorganize_hash_table. Change prototype.
15418         Reuse the original memory for hentries.  Save 100k.
15419         * alloc.c (PDUMP_READ): new macro.
15420         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15421         * alloc.c: No need to #ifndef before #undef.
15422
15423         * print.c: Allow debug_print() to print readably by modifying
15424         debug_print_readably.  Use consistent variable names.
15425
15426         * .dbxrc: Try to get things to work even if stopped in a function
15427         without source available by explicitly specifying source files.
15428 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15429
15430         * unexnt.c (_start): Removed bogus code which caused loading heap
15431         from differrent executable file.
15432         Removed bogus assignment to _fmode, which caused inconsistencies.
15433
15434 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15435
15436         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15437         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15438         Do not preliminary `#define signal sigset'.
15439
15440         * systime.h: Do not prototype environ on windows nt and cygwin,
15441         this conflicts with system header.
15442
15443         * syssignal.h: Use correct define for WINDOWSNT
15444
15445         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15446         with system header.
15447
15448         * sysdep.c (near start of file): Fixed commentary and rearranged
15449         ifdefs in readable order.
15450         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15451         (start_of_text):
15452         (end_of_text):
15453         (end_of_data): Do not compile in if using PDUMP.
15454
15455         * symsinit.h: Prototyped vars_of_nt().
15456
15457         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15458         (find_child_console): Use it.
15459         (sys_kill): Use it.
15460
15461         * ntheap.h: Do not extern os_subtype.
15462
15463         * ntheap.c (cache_system_info): Do not cache unneeded:
15464         nt_major_version, nt_minor_version and os_subtype.
15465         (recreate_heap): Do not compile in when PDUMPing.
15466
15467         * nt.c (geteuid and friends): Use the new varibale
15468         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15469         (init_user_info): Removed the above mentioned hackery.
15470         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15471         stat has been fixed in the C runtime.
15472         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15473
15474         * file-coding.c (struct file_coding_dump): Do not define
15475         ucs_to_mule_table in the struct if not MULE.
15476         (struct struct lrecord_description fcd_description_1): Do not dump
15477         the above.
15478
15479         * emacs.c (main_1): Call vars_of_nt().
15480         (right before Fdump_emacs_data): Don't need lastfile if using both
15481         portabe dumper and system malloc.
15482
15483         * alloc.c (Fmemory_limit): Conditionalized out.
15484         (pdump): Use OPEN_BINARY for the portable dump file.
15485         (pdump_load): Ditto.
15486
15487 2000-02-02  Mike Alexander  <mta@arbortext.com>
15488
15489         * nt.c (convert_time): Set tm_isdst before calling mktime and
15490         avoid calling it at all if the compiler supports 64 bit integers.
15491         Also initialize utc_base_ft before using it.
15492
15493 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15494
15495         * frame.c (change_frame_size_1): Take f->internal_border_width
15496         into consideration when calculating the width of the frame.
15497
15498 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15499
15500         * window.c (frame_min_height):
15501         (frame_size_valid_p):
15502         (frame_pixsize_valid_p): Added.
15503         (check_frame_size): Generalized.
15504
15505         * window.h: Prototyped the above.
15506
15507         * lisp.h:
15508         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15509         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15510         Deleted Vwin32_* and Vbinary_process_* unused variables.
15511
15512         * device-msw.c (msprinter_init_device): Do not get printer font
15513         list; Added DEVMODE functions.
15514
15515         * frame-msw.c: Added lots of printer code.
15516
15517         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15518         general.c.
15519
15520         * console-msw.h: Added more msprinter device private slots.
15521
15522 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15523
15524         * event-msw.c (key_needs_default_processing_p): Added.
15525         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15526
15527 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15528
15529         * glyphs.c (image_instance_layout): Mark image instance as clean
15530         after layout.
15531         (glyph_dirty_p): Removed redundant function.
15532         (invalidate_glyph_geometry_maybe): Added.
15533         (update_glyph_cachel_data): Call it.
15534
15535         * glyphs.h: Prototyped it.
15536
15537         * redisplay.c (add_glyph_rune): Call it.
15538         (redisplay_window): Reset glyphs cachels when frame faces have
15539         changed, thus forcing recomputation of built-in border glyphs.
15540
15541 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15542
15543         * Makefile.in.in: Make portable dumper and purify play well together.
15544         Add imperfect, but better than nothing, support for pdump.
15545         Remove xemacs.dmp when temacs is re-generated.
15546         Don't ignore errors when dumping xemacs.
15547
15548         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15549
15550 2000-01-28  Andy Piper  <andy@xemacs.org>
15551
15552         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15553         (setup_normal_frame): ditto.
15554         (setup_frame_without_minibuffer): ditto.
15555         (setup_minibuffer_frame): ditto.
15556         (delete_frame_internal): ditto.
15557         (Fmake_frame_invisible): ditto.
15558         (Ficonify_frame): ditto.
15559
15560         * window.h: change Fset_window_buffer signature.
15561
15562         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15563         (Fset_window_buffer): allow recording of buffer if the window is
15564         the selected window.
15565         (window_loop): Use new Fset_window signature.
15566
15567 2000-01-23  Daniel Pittman  <daniel@danann.net>
15568
15569         * config.h.in: Added template for `HAVE_ATHENA_3D'
15570
15571 2000-01-29  Andy Piper  <andy@xemacs.org>
15572
15573         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15574
15575         * gutter.c (output_gutter): Don't output if the window isn't live.
15576
15577 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15578
15579         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15580         of 01/12/00: Moved SetFocus back here where it belongs.
15581
15582 2000-01-23  Andy Piper  <andy@xemacs.org>
15583
15584         * s/cygwin32.h: declare printer things.
15585
15586 2000-01-26  Andy Piper  <andy@xemacs.org>
15587
15588         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15589         Alexander.
15590
15591 2000-01-24  Andy Piper  <andy@xemacs.org>
15592
15593         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15594         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15595
15596         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15597
15598         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15599
15600         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15601
15602         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15603         (mswindows_output_display_block): Avoid local shadows.
15604
15605         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15606         (mswindows_enqueue_mouse_button_event): ditto.
15607         (mswindows_handle_gui_wm_command): remove declaration.
15608
15609         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15610         warnings.
15611
15612         * console-msw.h: Avoid shadows.
15613         (mswindows_get_toolbar_button_text):
15614         (emacs_mswindows_create_stream_pair):
15615         (emacs_mswindows_delete_stream_pair):
15616         (mswindows_handle_toolbar_wm_command): declare.
15617
15618         * device-msw.c (build_syscolor_string): Avoid shadows.
15619
15620 2000-01-23  Andy Piper  <andy@xemacs.org>
15621
15622         * glyphs-widget.c (widget_instantiate): reverse the items for
15623         layouts so that children are in the expected order.
15624
15625 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15626
15627         * ralloc.c: safe_bcopy ==> memmove
15628         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15629         * s/msdos.h: Remove BCOPY macros.
15630         * insdel.c (gap_right): Remove BCOPY conditional code.
15631         * insdel.c (gap_left): Remove BCOPY conditional code.
15632         XEmacs demands a working ANSI C compiler - hence memmove.
15633
15634         * regex.c (regex_compile): Remove accidental use of trigraphs.
15635
15636 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15637
15638         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15639         event timestamp.
15640
15641 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15642
15643         * event-msw.c (mswindows_drain_windows_queue): Added the
15644         parameter.
15645         (mswindows_need_event): Commented the call to
15646         mswindows_drain_windows_queue().
15647         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15648         only.
15649
15650         * console-msw.h: Moved a few function prototypes here from
15651         event-msw.c.
15652
15653         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15654         parameter from unsigned short to unsigned long.
15655         (Fmswindows_shell_execute): Added return value.
15656
15657 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15658
15659         * sysdep.c (init_system_name):
15660           process-unix.c (unix_canonicalized_host_name):
15661         Don't call freeaddrinfo() if getaddrinfo() fails.
15662
15663         * process-unix.c (unix_open_unix_network_stream):
15664         Moved the code to get a port # into address loop.
15665
15666 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15667
15668         * buffer.c (reinit_vars_of_buffer):
15669         The right place to initialize conversion_in_dynarr and
15670         conversion_out_dynarr.
15671
15672         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15673
15674         * process-unix.c (unix_canonicalize_host_name): Muleize.
15675         (unix_open_network_stream): Muleize.
15676
15677         * buffer.h: Fix up prototypes for ralloc.c functions.
15678
15679 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15680         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15681         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15682                 instead of gethostbyname()
15683         * process-unix.c: In unix_canonicalize_host_name() and
15684                 unix_open_network_stream(), add code to use getaddrinfo()
15685                 instead of gethostbyname().
15686
15687 2000-01-27  Daniel Pittman <daniel@danann.net>
15688
15689         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15690         libs when built with flat Athena.
15691
15692 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15693
15694         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15695         Use coding standards for function prototypes.
15696
15697 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15698
15699         * dialog-msw.c (push_lisp_string_as_unicode):
15700         * doc.c (unparesseuxify_doc_string):
15701         * dired.c (Fuser_name_completion_1):
15702         * dired.c (Fuser_name_all_completions):
15703         * dired.c (free_user_cache):
15704         * dired.c (user_name_completion):
15705         * console-x.c (get_display_arg_connection):
15706         * minibuf.c (clear_echo_area_internal):
15707         * minibuf.c (echo_area_append):
15708         * eldap.c (Fldap_open):
15709         * eldap.c (Fldap_search_internal):
15710         * frame-x.c (x_set_frame_text_value):
15711         * frame-x.c (x_set_frame_properties):
15712         * frame-x.c (x_create_widgets):
15713         * redisplay-tty.c (term_get_fkeys_1):
15714         * objects-x.c (x_parse_nearest_color):
15715         * objects-x.c (x_valid_color_name_p):
15716         * objects-x.c (x_initialize_font_instance):
15717         * objects-x.c (x_list_fonts):
15718         * objects-x.c (x_find_charset_font):
15719         * tooltalk.c (Fadd_tooltalk_message_arg):
15720         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15721         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15722         * process-unix.c (unix_create_process):
15723         * ntproc.c (sys_spawnve):
15724         * sound.c (Fplay_sound_file):
15725         * sound.c (Fplay_sound):
15726         * buffer.c (init_initial_directory):
15727         * buffer.c (init_buffer):
15728         * editfns.c (init_editfns):
15729         * editfns.c (Ftemp_directory):
15730         * editfns.c (Fuser_full_name):
15731         * editfns.c (uncache_home_directory):
15732         * editfns.c (get_home_directory):
15733         * editfns.c (Fuser_home_directory):
15734         * editfns.c (Fformat_time_string):
15735         * editfns.c (Fcurrent_time_string):
15736         * gui-x.c (button_item_to_widget_value):
15737         * database.c (Fopen_database):
15738         * event-Xt.c (x_to_emacs_keysym):
15739         * event-Xt.c (x_event_to_emacs_event):
15740         * event-Xt.c (describe_event_window):
15741         * event-msw.c (mswindows_wnd_proc):
15742         * glyphs-eimage.c (jpeg_instantiate):
15743         * glyphs-eimage.c (gif_instantiate):
15744         * glyphs-eimage.c (png_instantiate):
15745         * glyphs-eimage.c (tiff_instantiate):
15746         * glyphs-x.c (xbm_instantiate_1):
15747         * glyphs-x.c (x_xbm_instantiate):
15748         * glyphs-x.c (x_xface_instantiate):
15749         * glyphs-x.c (autodetect_instantiate):
15750         * glyphs-x.c (cursor_font_instantiate):
15751         * glyphs-x.c (x_widget_instantiate):
15752         * glyphs-x.c (x_widget_set_property):
15753         * glyphs-x.c (x_widget_property):
15754         * glyphs-x.c (BUILD_GLYPH_INST):
15755         * print.c (write_string_to_stdio_stream):
15756         * print.c (output_string):
15757         * print.c (Falternate_debugging_output):
15758         * print.c (Fexternal_debugging_output):
15759         * glyphs-msw.c (extract_xpm_color_names):
15760         * glyphs-msw.c (mswindows_xpm_instantiate):
15761         * glyphs-msw.c (bmp_instantiate):
15762         * glyphs-msw.c (resource_name_to_resource):
15763         * glyphs-msw.c (mswindows_resource_instantiate):
15764         * glyphs-msw.c (xbm_instantiate_1):
15765         * glyphs-msw.c (mswindows_xbm_instantiate):
15766         * glyphs-msw.c (mswindows_xface_instantiate):
15767         * glyphs-msw.c (mswindows_widget_instantiate):
15768         * glyphs-msw.c (add_tree_item):
15769         * glyphs-msw.c (add_tab_item):
15770         * glyphs-msw.c (mswindows_combo_box_instantiate):
15771         * glyphs-msw.c (mswindows_widget_property):
15772         * glyphs-msw.c (mswindows_combo_box_property):
15773         * glyphs-msw.c (mswindows_widget_set_property):
15774         * console.c (stuff_buffered_input):
15775         * objects-msw.c (mswindows_initialize_color_instance):
15776         * objects-msw.c (mswindows_valid_color_name_p):
15777         * objects-msw.c (mswindows_list_fonts):
15778         * objects-msw.c (mswindows_font_instance_truename):
15779         * bytecode.c (optimize_compiled_function):
15780         * select-x.c (symbol_to_x_atom):
15781         * select-x.c (x_atom_to_symbol):
15782         * select-x.c (hack_motif_clipboard_selection):
15783         * select-x.c (selection_data_to_lisp_data):
15784         * select-x.c (lisp_data_to_selection_data):
15785         * select-x.c (Fx_get_cutbuffer_internal):
15786         * select-x.c (Fx_store_cutbuffer_internal):
15787         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15788         * buffer.h (TO_INTERNAL_FORMAT): New function.
15789         * emacs.c (make_arg_list_1):
15790         * emacs.c (make_argc_argv):
15791         * emacs.c (main_1):
15792         * emacs.c (Fdump_emacs):
15793         * emacs.c (split_string_by_emchar_1):
15794         * file-coding.h:
15795         * lisp.h:
15796         * lstream.h:
15797         * symsinit.h:
15798         * device-x.c (x_init_device):
15799         * device-x.c (Fx_valid_keysym_name_p):
15800         * device-x.c (Fx_get_font_path):
15801         * device-x.c (Fx_set_font_path):
15802         * glyphs.c (bitmap_to_lisp_data):
15803         * glyphs.c (pixmap_to_lisp_data):
15804         * alloc.c (make_ext_string): Use coding system arguments.  Update
15805         all callers.
15806         * alloc.c (build_string):
15807         * callproc.c (child_setup):
15808         * callproc.c (init_callproc):
15809         * fileio.c (lisp_strerror):
15810         * fileio.c (directory_file_name):
15811         * fileio.c (Fexpand_file_name):
15812         * fileio.c (Ffile_truename):
15813         * fileio.c (Fsysnetunam):
15814         * fileio.c (Fdo_auto_save):
15815         * sysdep.c (sys_readdir):
15816         * tests.c: New file.  Allow adding C tests.
15817         Replace GET_* macros with a more comprehensible and flexible
15818         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15819         Modify all calls.
15820         Any coding system can be used to do format conversion.
15821         Eliminate enum external_data_format.
15822         Eliminate convert_to_external_format.
15823         Eliminate convert_to_internal_format.
15824         Make sure file-name, keyboard, terminal, and ctext are always
15825         defined as coding systems or aliases.  Make
15826         file-name-coding-system, terminal-coding-system, and
15827         keyboard-coding-system magical variables that are equivalent to
15828         defining the corresponding coding system aliases.
15829
15830         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15831         * file-coding.c (Fcoding_system_alias_p): New function.
15832         * file-coding.c (Fcoding_system_aliasee): New function.
15833         * file-coding.c (append_suffix_to_symbol): New function.
15834         * file-coding.c (dangling_coding_system_alias_p): New function.
15835         * file-coding.c (Ffind_coding_system):
15836         * file-coding.c (Fcopy_coding_system):
15837         * file-coding.c (encode_coding_no_conversion):
15838         * file-coding.c (syms_of_file_coding):
15839         * file-coding.c (vars_of_file_coding):
15840         Rewrite coding system alias code.
15841         Allow nested aliases, like symbolic links.
15842         Allow redefinition of coding system aliases.
15843         Prevent existence of dangling coding system aliases.
15844
15845         * dired.c (Fuser_name_completion_1):
15846         * dired.c (Fuser_name_all_completions):
15847         A crash would happen if user did QUIT in the middle of building
15848         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15849
15850         * lisp.h:
15851         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15852
15853         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15854         an unsigned char *.  Update all callers.
15855
15856 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15857
15858         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15859
15860 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15861
15862         * elhash.c (hentry_description): Use more portable definition.
15863         (resize_hash_table): Initialize new hentries using
15864         xnew_array_and_zero, thereby simplifying the code.
15865
15866         * mule-charset.c (make_charset): Make sure entire object is
15867         initialized, to avoid Purify warnings.
15868
15869         * alloc.c (resize_string): Fix unlikely crash with big strings.
15870
15871 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15872
15873         * realpath.c (xrealpath):
15874         Don't call getwd().
15875
15876 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15877
15878         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15879
15880 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15881
15882         * unexelfsgi.c (unexec): Change the way we decide which segment
15883         should be extended.
15884
15885         Assumption that .bss section should be outside the PT_LOADable
15886         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15887         it's present) is inside the 'data' segment. This would fail the
15888         test which was used to find a segment to grow and cover new
15889         heap. Instead of this assumption, I created another one - on IRIX
15890         the segment to grow should start below .bss and it's address
15891         should extent above the end of .bss. Once this segment is
15892         identified, it's grown to accommodate the new heap and new
15893         zero-length .bss section is added at the end of .data2.
15894
15895 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15896
15897         * eval.c (Feval): Wrong number of arguments should use original
15898         function, not the indirect_function version of it.
15899
15900 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15901
15902         * glyphs-x.c (x_button_instantiate): Don't add image if
15903         it is not a pixmap.
15904         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15905         is relative.
15906
15907 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15908
15909         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15910         declaration.
15911         (DEFVAR_INT_MAGIC): Ditto.
15912         (DEFVAR_BOOL_MAGIC): Ditto.
15913         * glyphs.h: Reindent backslash.
15914
15915 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15916
15917         * glyphs-widget.c (layout_query_geometry):
15918         (layout_layout): Use correct types for gheight, gwidth.
15919
15920 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15921
15922         * EmacsManager.c (QueryGeometry): Purified.
15923
15924 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15925
15926         * alloc.c (make_float): Make sure entire object is initialized, to
15927         avoid Purify warnings.
15928         (pdump_register_sub): Remove useless assignment.
15929         (pdump): Use xmalloc, not malloc.
15930         (pdump_load): Use xmalloc, not malloc.
15931
15932 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15933
15934         * callproc.c:
15935         * dired-msw.c:
15936         * fileio.c:
15937         * process-nt.c:
15938         * redisplay-msw.c:
15939         * sysdep.c: Removed redundant #include <windows.h>
15940
15941 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15942
15943         * frame.c (delete_frame_internal): Do not delete device when its
15944         implementation so declares.
15945         (delete_frame_internal): Set device selected frame to nil when
15946         last frame goes away.
15947
15948         * device-msw.c (msprinter_device_system_metrics): Implemented.
15949         (mswindows_device_system_metrics): Added 'device-dpi property.
15950
15951         * device.c: (Fdevice_printer_p): Added.
15952         Added 'offset-workspace device metric.
15953
15954         * console.h (device_metrics): Declared DM_offset_workspace.
15955
15956 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15957
15958         * fileio.c (Ffile_truename): Remove pointless and confusing
15959         initialization of elen.
15960
15961         * glyphs-widget.c: Compiler warning fixes.
15962
15963 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15964
15965         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15966         instead of a Lisp_Object as argument to make it consistent with
15967         the other LIVE_P macros.
15968         (CHECK_LIVE_PROCESS): New macro.
15969
15970         * process.c: Declare Qprocess_live_p.
15971         (Fprocess_live_p): New function.
15972         (create_process): Use PROCESS_LIVE_P.
15973         (read_process_output): Ditto.
15974         (set_process_filter): Ditto.
15975         (Fdelete_process): Ditto.
15976         (kill_buffer_processes): Ditto
15977         (process_send_signal): Use CHECK_LIVE_PROCESS.
15978         (Fprocess_input_coding_system): Check whether process is still
15979         alive (fix PR#1061).
15980         (Fprocess_output_coding_system): Ditto.
15981         (Fprocess_coding_system): Ditto.
15982         (Fset_process_input_coding_system): Ditto.
15983         (Fset_process_output_coding_system): Ditto.
15984
15985 2000-01-23  Andy Piper  <andy@xemacs.org>
15986
15987         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15988         layout and widget.
15989
15990         * glyphs.c (mark_image_instance): take into account changed
15991         image_instance format.
15992         (image_instance_equal): ditto.
15993         (image_instance_hash): ditto.
15994
15995         * glyphs-widget.c (widget_instantiate): Incorporate layout
15996         instantiation here. Delay layout of the layout until later.
15997         (layout_instantiate): deleted.
15998         (layout_query_geometry): new function. get the geometry of a
15999         layout.
16000         (layout_layout): layout a layout dynamically.
16001         (image_instantiator_widget): New function - splitting up
16002         image_instantiator_format_create_glyphs_widget for netwinder
16003         compilation.
16004         (image_instantiator_buttons):
16005         (image_instantiator_edit_fields):
16006         (image_instantiator_combo_box):
16007         (image_instantiator_scrollbar):
16008         (image_instantiator_progress_guage):
16009         (image_instantiator_tree_view):
16010         (image_instantiator_tab_control):
16011         (image_instantiator_labels):
16012         (image_instantiator_layout): ditto.
16013         (image_instantiator_format_create_glyphs_widget): Call preceding
16014         functions.
16015
16016 2000-01-22  Martin Buchholz  <martin@xemacs.org>
16017
16018         * process.c (Fset_process_coding_system):
16019         * device-x.c (Fx_keysym_hash_table):
16020         Docstring fixes.
16021
16022         * lstream.c (Lstream_write): Return documented value, not 0.
16023
16024         * fileio.c (directory_file_name):
16025         (Fsubstitute_in_file_name):
16026         (Fsubstitute_insert_file_contents_internal):
16027         (Fwrite_region_internal):
16028         * emacs.c:
16029         * sysdep.c:
16030         * getloadavg.c:
16031         * systty.h:
16032         Remove vestigial APOLLO-conditional code.
16033
16034 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16035
16036         * getpagesize.h: Add guard macros.
16037         * libsst.h: Add guard macros.
16038         * libst.h: Add guard macros.
16039         * line-number.h: Add guard macros.
16040         * ndir.h: Add guard macros.
16041         * sysfloat.h: Add guard macros.
16042         * sysfile.h: Add guard macros.
16043         * sysproc.h: Add guard macros.
16044         * syswait.h: Add guard macros.
16045         * xintrinsic.h: Add guard macros.
16046         * xintrinsicp.h: Add guard macros.
16047         * xmmanager.h: Add guard macros.
16048         * xmmanagerp.h: Add guard macros.
16049         * xmprimitive.h: Add guard macros.
16050         * xmu.h: Add guard macros.
16051         * gpmevent.h: Add copyright statement. Add guard macros.
16052         * miscplay.h: Add guard macros.
16053         * *.h: Use consistent C-standards-approved guard macro names.
16054
16055         * opaque.c (make_opaque): Switch parameter order.
16056         * opaque.h (make_opaque): Switch parameter order.
16057         Update all callers.
16058         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
16059
16060         * config.h.in (type_checking_assert): Added.
16061         (bufpos_checking_assert): Added.
16062
16063 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16064
16065         * alloc.c: Harmless pdump changes.
16066         - Use countof().
16067         - spell alignment correctly.
16068         * sysdep.c: Use countof()
16069
16070 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16071
16072         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
16073         initially_selected_for_input() console method, default to 0.
16074         (semi_canonicalize_console_connection): Try to delegate to
16075         canonicalize_console_connection if no such console method.
16076         (canonicalize_console_connection): Vice versa.
16077         (print_console): Do not print nil connection.
16078
16079         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
16080         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
16081         (XDEVIMPF_FRAMELESS_OK): Added.
16082         (CONSOLE_INHERITS_METHOD): Added.
16083
16084         * console-msw.c (mswindows_canonicalize_console_connection):
16085         Added.
16086         (mswindows_canonicalize_device_connection): Added.
16087
16088         * console-msw.h (struct msprinter_device): Added this struct and
16089         accessor macros.
16090         (mswindows_device): Made fontlist a lisp object.
16091
16092         * device.c (semi_canonicalize_device_connection):  Try to delegate
16093         to canonicalize_device_connection if no such console method.
16094         (canonicalize_device_connection): Vice versa.
16095         (print_device): Do not print nil connection.
16096
16097         * device-msw.c (mswindows_init_device): Call InitCommonControls
16098         when have widgets.
16099         (mswindows_delete_device): Removed fontlist deallocation.
16100         (mswindows_mark_device): Added.
16101
16102         * events.c (event_equal): Added abort() at unreached code.
16103         (event_hash): Ditto.
16104
16105         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
16106         fallback tags of Windows devices.
16107
16108         * general.c (syms_of_general): Initialized Qmsprinter.
16109
16110         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16111         of fallback tags of Windows devices.
16112
16113         * lisp.h: Declared Qmsprinter.
16114
16115         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16116         of strings.
16117         (mswindows_list_fonts): Ditto.
16118         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16119         that it can be used by both mswindows and msprinter devices.
16120         (initialize_font_instance): Added.
16121         (mswindows_initialize_font_instance): Use it.
16122         (msprinter_initialize_font_instance): Added.
16123
16124         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16125         and implementation flags check.
16126         (redisplay_without_hooks): Changed the call to the above.
16127         (Fredraw_device): Ditto.
16128         (Fredisplay_device): Ditto.
16129
16130         * redisplay-msw.c (get_frame_dc): Implemented.
16131         (get_frame_compdc): Implemented.
16132         (many functions): Use the two functions above to get device
16133         contexts, ether for a window or a printer.
16134
16135 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16136
16137         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16138         initialization here.
16139         (init_symbols_once_early): Call it.
16140         * emacs.c (main_1): Call it.
16141         * symsinit.h: Declare it.
16142
16143 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16144
16145         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16146         Lisp_Object.
16147         (pdump_backtrace): Ditto.
16148         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16149         (pdump_get_entry): Abort if trying to register a null pointer.
16150         (pdump_dump_data): Cleanup types when relocating.
16151         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16152         (pdump_dump_rtables): Remove bad casts.
16153         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16154         Lisp_Object instead of a EMACS_INT for the hashtable
16155         reorganization.
16156
16157 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16158
16159         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16160
16161         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16162
16163         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16164
16165         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16166
16167 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16168
16169         * faces.h (FACE_STRIKETHRU_P): Added.
16170
16171         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16172         of font variants.
16173
16174         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16175         (mswindows_set_dc_font): New function, aware of font variants,
16176         separated from mswindows_update_dc.
16177
16178         * objects-msw.h (struct mswindows_font_instance_data): Added
16179         definition.
16180
16181         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16182         cached fonts and the data structure.
16183         (mswindows_initialize_font_instance): Added creation of font data
16184         structure.
16185         (mswindows_print_font_instance): Print at least something.
16186         (mswindows_create_font_variant): Implemented.
16187         (mswindows_get_hfont): Implemented.
16188
16189 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16190
16191         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16192         prototyping problem with msvc.
16193
16194         * emacs.c (main_1): added syms_of_gui_mswindows() call
16195
16196         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16197         syms_of_gui_mswindows() function
16198
16199         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16200
16201 2000-01-18  Martin Buchholz <martin@xemacs.org>
16202
16203         * XEmacs 21.2.27 is released.
16204
16205 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16206
16207         * glyphs-eimage.c (struct tiff_error_struct):
16208         (tiff_error_func):
16209         (tiff_warning_func):
16210         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16211
16212         * unexmips.c:
16213         * unexhp9k3.c:
16214         * unexfreebsd.c:
16215         * unexec.c: Remove vestigial Lucid C code.
16216         * unexalpha.c:
16217         * unexaix.c:
16218         * termcap.c:
16219         * libsst.c: Ansify.
16220         Remove declarations of errno and strerror().
16221
16222         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16223
16224         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16225
16226 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16227
16228         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16229         Optimize.
16230
16231 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16232
16233         * md5.c:
16234         * file-coding.c:
16235         * file-coding.h:
16236         Change enum eol_type to eol_type_t.
16237
16238 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16239
16240         * gui.c (get_gui_callback): Check cons before accessing car.
16241
16242 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16243
16244         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16245         (XSETSPECIFIER_TYPE): Ditto.
16246
16247 2000-01-17  Didier Verna  <didier@xemacs.org>
16248
16249         * redisplay.c (generate_fstring_runes): compute string size in
16250         characters, not bytes.
16251
16252 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16253
16254         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16255
16256 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16257
16258         * print.c (print_error_message): Call print_prepare().
16259
16260 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16261
16262         * .dbxrc: Renamed from dbxrc.
16263
16264         * events.c (event_to_character):
16265         Use `assert (foo)' instead of `if (!foo) abort()'
16266
16267         * .gdbinit (xtype): Add documentation.
16268         * .gdbinit (check-temacs): New function.
16269         * .gdbinit (check-xemacs): New function.
16270         * dbxrc (check-xemacs): New function.
16271         * dbxrc (check-xemacs): New function.
16272
16273 2000-01-14  Andy Piper  <andy@xemacs.org>
16274
16275         * glyphs-widget.c (widget_query_geometry): Make sure that we
16276         calculate default dimensions correctly.
16277
16278 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16279
16280         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16281
16282         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16283         pdump_wire'd variable.
16284
16285         * emacs.c: (main_1): Conditionalized calls to
16286         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16287
16288 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16289
16290         * window.c (Fset_window_configuration):
16291         * sysdep.c (_start):
16292         * input-method-motif.c (res):
16293         * event-Xt.c (Xt_process_to_emacs_event):
16294         Simple compiler warning fixes.
16295
16296         * bytecode.c (funcall_compiled_function): Use the original
16297         function symbol on the backtrace list in preference to the
16298         compiled_function object in error messages.
16299
16300 2000-01-13  Andy Piper  <andy@xemacs.org>
16301
16302         * glyphs-x.c (update_widget_face): Make sure we update the widget
16303         background as well as foreground.
16304
16305 2000-01-13  Andy Piper  <andy@xemacs.org>
16306
16307         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16308         fields to subwindow.
16309         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16310         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16311         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16312         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16313
16314         * glyphs-widget.c (check_valid_tab_orientation): new function.
16315         (initialize_widget_image_instance): zero orientation and
16316         justification.
16317         (widget_instantiate): pick up orientation.
16318         (tab_control_query_geometry): return appropriate values for
16319         vertical tabs.
16320
16321         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16322         appropriate creation flags for left, right and bottom tabs.
16323
16324         * s/cygwin32.h: add tab definitions.
16325
16326 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16327
16328         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16329         frame upon hiding a subwindow.
16330         (mswindows_button_instantiate): Changed the push button style to
16331         BS_PUSHBUTTON.
16332         (mswindows_button_instantiate): Removed button BS_NOTIFY
16333         style.
16334         (mswindows_button_instantiate): Removed redundant check for
16335         a disabled gui item.
16336         (mswindows_button_instantiate): Made use of WS_TABSTOP
16337         consistent: "operable" controls (edit, button, tree, scroll) have
16338         this style, "display-only" ones (static, progress gauge) do
16339         not. This style is currently ignored by XEmacs though. Also,
16340         removed the WS_EX_CONTROLPARENT style - it is not for children,
16341         it is for their parents!
16342         (mswindows_edit_field_instantiate): Ditto.
16343         (mswindows_progress_gauge_instantiate): Ditto.
16344         (mswindows_tree_view_instantiate): Ditto.
16345         (mswindows_tab_control_instantiate): Ditto.
16346         (mswindows_scrollbar_instantiate): Ditto.
16347         (mswindows_combo_box_instantiate): Ditto.
16348         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16349         style to the "clip" window.
16350         (mswindows_button_instantiate): Removed compilation warning by
16351         equally typing terms of the ?: operator.
16352
16353 2000-01-12  Didier Verna  <didier@xemacs.org>
16354
16355         * redisplay.c (generate_fstring_runes): new parameter holding the
16356         last modeline-format extent.
16357         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16358         extent, fill the glyph block with it.
16359         (generate_fstring_runes): handle these parameters.
16360         (generate_formatted_string_db): ditto.
16361
16362         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16363         glyphs'extents in the modeline.
16364
16365 1999-01-11  Mike Woolley  <mike@bulsara.com>
16366
16367         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16368         256Mb, as a workaround for the non-starting problem many people
16369         have experienced.
16370
16371 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16372
16373         * console-tty.c (Fset_console_tty_output_coding_system):
16374         Force redrawing tty frame.
16375
16376 2000-01-10  Didier Verna  <didier@xemacs.org>
16377
16378         * redisplay.c (generate_fstring_runes): fix size computation bug.
16379
16380 2000-01-09  William M. Perry <wmperry@aventail.com>
16381
16382         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16383
16384 2000-01-09  Andy Piper  <andy@xemacs.org>
16385
16386         * glyphs-msw.c: index -> i to avoid shadows.
16387         (xbm_create_bitmap_from_data): make static.
16388         (check_valid_string_or_int): deleted.
16389         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16390
16391         * glyphs-x.c (x_update_subwindow): remove unused args.
16392
16393         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16394         back pointer - this is done in allocate_image_instance.
16395         (query_string_font): return Qnil to make the compiler happy.
16396         (unmap_subwindow): set to ~0 to make the compiler happy.
16397         (glyph_query_geometry): comment out until used.
16398         (glyph_layout): ditto.
16399
16400 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16401
16402         * insdel.c (signal_after_change): Remove extraneous unbind_to().