update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (Fsave_charset_properties): New function when
4         HAVE_LIBCHISE is defined.
5         (syms_of_mule_charset): Add new builtin function
6         `save-charset-properties' when HAVE_LIBCHISE is defined.
7
8 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
9
10         * chartab.c (Fput_char_attribute): Convert char-specs in value of
11         `{<-|->}ancient[^*]*' to characters and put reverse links.
12         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
13         for `{<-|->}ancient[^*]*'.
14
15 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
16
17         * chartab.c (Fput_char_attribute): Convert char-specs in value of
18         `{<-|->}original[^*]*' to characters and put reverse links.
19         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
20         for `{<-|->}original[^*]*'.
21
22 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
23
24         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
25
26 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
27
28         * mule-charset.c (Qsystem_char_id): New variable.
29
30         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
31         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
32
33 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
34
35         * chartab.c (Fput_char_attribute): When processing a reference of
36         a character, put into the end of the reversed reference of each
37         target character.
38
39 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
40
41         * chartab.c (Q_same): Deleted.
42         (Q_same_of): Deleted.
43         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
44         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
45         for `{<-|->}same'.
46         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
47
48 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
49
50         * chartab.c (Q_vulgar): Deleted.
51         (Q_vulgar_of): Deleted.
52         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
53         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
54         for `{<-|->}vulgar'.
55         (syms_of_chartab): Don't define `{<-|->}vulgar'.
56
57 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
58
59         * chartab.c (Fput_char_attribute): Convert char-specs in value of
60         `{<-|->}wrong[^*]*' to characters and put reverse links.
61         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
62         for `{<-|->}wrong[^*]*'.
63
64 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
65
66         * chartab.c (Q_vulgar): New variable.
67         (Q_vulgar_of): New variable.
68         (Fput_char_attribute): Convert char-specs in value of
69         `{->|<-}vulgar' to characters and put reverse links.
70         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
71         for `{->|<-}vulgar'.
72         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
73
74 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
75
76         * text-coding.c (decode_add_er_char): Must to quote prefix string
77         as regexp.
78
79 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
80
81         * mule-charset.c (put_char_ccs_code_point): Store characters of
82         =ucs whose code_points >= 0xF0000.
83
84 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
85
86         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
87         CHISE.
88         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
89         CHISE.
90         (complex_vars_of_mule_charset): Add new coded-charset
91         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
92         builtin characters over 0xEFFFF.
93
94         * chartab.c (syms_of_chartab): Don't define symbol
95         `system-char-id' in every case.
96
97         * char-ucs.h (Qsystem_char_id): New extern variable.
98         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
99
100 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
101
102         * text-coding.c (char_encode_utf8): Try to use entity-references
103         for U-000F0000 ...  U-0010FFFF.
104
105 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
106
107         * text-coding.c (ER_BUF_SIZE): New macro.
108         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
109         `er_buf'.
110         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
111         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
112
113 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
114
115         * chartab.c (find_char_feature_in_family): New function.
116         (Fchar_feature): Use `find_char_feature_in_family' with
117         `->identical', `<-subsumptive' and `<-denotational'.
118
119 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
120
121         * text-coding.c (char_encode_as_entity_reference): Allow prefix
122         within 8 characters; fix infinite loop.
123
124 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * chartab.c (Q_same): New variable.
127         (Q_same_of): New variable.
128         (Fput_char_attribute): Convert char-specs in value of
129         `{->|<-}same' to characters and put reverse links.
130         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
131         for `{->|<-}same'.
132         (syms_of_chartab): Add new symbols `{->|<-}same'.
133
134 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
135
136         * chartab.c (Q_component): New variable.
137         (Q_component_of): Likewise.
138         (Fput_char_attribute): Convert char-specs in value of
139         `{->|<-}ideographic-component-forms' to characters and put reverse
140         links.
141         (syms_of_chartab): Add new symbols
142         `{->|<-}ideographic-component-forms'.
143
144 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
145
146         * chartab.c (Q_identical): New variable.
147         (Q_identical_from): New variable.
148         (Fchar_feature): Regard `->identical' as a feature to find
149         ancestors.
150         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
151         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
152         for `{->|<-}identical'.
153         (syms_of_chartab): Add new symbols `{->|<-}identical'.
154
155 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
156
157         * char-ucs.h (encode_char_2): New inline function.
158         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
159
160 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
161
162         * chartab.c (Fput_char_attribute): Convert char-specs to
163         characters in value of `ideographic-structure'.
164         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
165         for `{<-|->}simplified(@...)'.
166         (Fdefine_char): bTry to use predefined character's id.
167
168 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
169
170         * fns.c (simplify_char_spec): Try to convert builtin chars to
171         defined chars.
172
173 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
174
175         * chartab.c (Fput_char_attribute): Convert char-specs in value of
176         `<-simplified[^*]*' to characters and put reverse links.
177
178 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
179
180         * chartab.c (Q_subsumptive): Renamed from Q_unified.
181         (Q_subsumptive_from): Renamed from Q_unified_from.
182         (Fchar_feature): Use `Q_subsumptive_from' instead of
183         `Q_unified_from'.
184         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
185         `Q_unified'.
186         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
187         `<-unified' to `<-subsumptive'.
188
189 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
190
191         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
192         inheritance itself; fix typo; stop recursive search if cyclic
193         inheritance is found.
194
195 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
196
197         * chartab.c (Q_denotational): New variable.
198         (Q_denotational_from): New variable.
199         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
200         (put_char_attribute): New function.
201         (Fput_char_attribute): Use `put_char_attribute'; regard
202         `->denotational' and `<-denotational' as same as `->unified' and
203         `<-unified'.
204         (syms_of_chartab): Add new symbols `->denotational' and
205         `<-denotational'.
206
207 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
208
209         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
210         `Fget_char_attribute'.
211         (Fchar_variants): Likewise.
212         (get_char_table): Likewise.
213         (Fchar_feature): New function.
214         (put_char_composition): Use `Fchar_feature' instead of
215         `Fget_char_attribute'.
216         (Fput_char_attribute): Likewise; don't put the target character
217         into its `->unified' value.
218         (syms_of_chartab): Add new builtin function `char-feature'.
219
220 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
221
222         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
223         `Fget_char_attribute'.
224         (char_encode_utf8): Likewise.
225
226         * chartab.h: Add an EXFUN for `Fchar_feature'.
227
228 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
229
230         * chartab.c (Vnext_defined_char_id): New variable.
231         (Fput_char_attribute): Accept characters in `->unified'.
232         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
233         new characters which are not related with builtin char-id ranges.
234         (vars_of_chartab): Add new variable `next-defined-char-id'.
235
236 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
237
238         * chartab.c (Q_unified): New variable.
239         (Q_unified_from): New variable.
240         (Fput_char_attribute): Add code for `->unified'.
241         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
242         XEmacs CHISE.
243
244 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
245
246         * mule-charset.c (decode_ccs_conversion): New function.
247         (decode_defined_char): Use `decode_ccs_conversion'.
248         (decode_builtin_char): Likewise.
249
250 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
251
252         * char-ucs.h: Change some charset-ids of private coded-charsets.
253
254 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
255
256         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
257         (char_encode_as_entity_reference): Likewise.
258         (decode_coding_big5): Modify for `decode_defined_char' and
259         `DECODE_CHAR'.
260         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
261         avoid compiler warning.
262         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
263
264         * mule-charset.c (decode_defined_char): Add new argument
265         `without_inheritance'.
266         (Fdecode_char): Add new optional argument `without_inheritance'.
267         (Fdecode_builtin_char): Modify for `Fdecode_char'.
268
269         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
270         (simplify_char_spec): Likewise.
271
272         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
273         setting.
274
275         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
276         (map_char_table): Likewise.
277         (Fdefine_char): Use `Fdecode_char' without inheritance.
278         (Ffind_char): Modify for `Fdecode_char'.
279
280         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
281
282         * char-ucs.h (decode_defined_char): Add new argument
283         `without_inheritance'.
284         (DECODE_CHAR): Likewise.
285         (MAKE_CHAR): Modify for `DECODE_CHAR'.
286
287 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * chartab.c (Vchise_system_db_directory): New variable.
290         (vars_of_chartab): Add new variable `chise-system-db-directory'.
291
292 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
293
294         * chartab.c: EXFUN `Fmount_char_attribute_table'.
295         (print_chartab_range): Don't define when `UTF2000' is defined.
296         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
297         `CHISE_DS_open'.
298
299 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
300
301         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
302         and optional argument `rehash' is specified, call
303         `open_chise_data_source_maybe' before
304         `chise_ds_foreach_char_feature_name' is called.
305
306 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
307
308         * chartab.c (char_attribute_list_reset_map_func): New function
309         when HAVE_LIBCHISE is defined.
310         (Fchar_attribute_list): Add new optional argument `rehash' when
311         HAVE_LIBCHISE is defined.
312         (open_chise_data_source_maybe): Use "chise-db" instead of
313         "char-db".
314         (char_attribute_system_db_file): Likewise.
315         (Fload_char_attribute_table): Use
316         `chise_feature_foreach_char_with_value' instead of
317         `chise_char_feature_value_iterate'.
318
319 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
320
321         * chartab.c (Vchise_db_directory): New variable.
322         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
323
324 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
325
326         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
327         instead of HAVE_CHISE to specify using with libchise.
328
329         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
330
331         * chartab.h: Don't use HAVE_CHISE_CLIENT.
332
333         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
334         defined or HAVE_LIBCHISE_LIBCHISE is defined.
335         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
336         is defined.
337         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
338         HAVE_CHISE to specify using with libchise.
339         (syms_of_chartab): Don't define symbol `system-char-id' when
340         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
341
342 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
343
344         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
345         specify CHISE DB support.
346         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
347         of `char_attribute_system_db_file' to check feature DB file.
348
349         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
350         HAVE_CHISE_CLIENT to specify CHISE DB support.
351
352         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
353         specify CHISE DB support.
354         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
355         not defined.
356         (Freset_char_attribute_table): Use `chise_feature_setup_db'
357         instead of `char_attribute_system_db_file' to check feature DB
358         file.
359
360 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
361
362         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
363         `HAVE_CHISE_CLIENT'.
364
365 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
366
367         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
368         (Fsave_charset_mapping_table): Don't use
369         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
370
371         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
372         (HAVE_LIBCHISE): New macro.
373
374         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
375
376         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
377         (Fsave_char_attribute_table): Don't use
378         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
379
380 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
381
382         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
383         defined.
384         (save_uint16_byte_table): Likewise.
385         (save_byte_table): Likewise.
386         (char_table_get_db): Use `chise_ds_load_char_feature_value'
387         instead of `chise_char_load_feature_value'.
388         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
389
390 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
391
392         * chartab.h (struct Lisp_Char_Table): Delete member
393         `feature_table' if CHISE is defined.
394
395         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
396         (Fcopy_char_table): Likewise.
397         (char_table_open_db_maybe): Likewise.
398         (char_table_close_db_maybe): Likewise.
399         (char_table_get_db): Likewise.
400         (Fmount_char_attribute_table): Likewise.
401         (Fload_char_attribute_table): Likewise.
402
403 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
404
405         * mule-charset.c (load_char_decoding_entry_maybe): Use
406         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
407         `chise_ccs_decode'.
408
409 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
410
411         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
412         instead of `chise_open_data_source'.
413         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
414         `chise_ds_close'.
415
416 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
417
418         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
419         instead of `chise_ds_open_feature_table'.
420         (char_table_close_db_maybe): Don't use `chise_ft_close'.
421
422 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
423
424         * mule-charset.c (Fsave_charset_mapping_table): Use
425         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
426         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
427         `chise_ccs_sync' instead of `chise_ccst_close'.
428         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
429
430         * chartab.c (open_chise_data_source_maybe): Modify for
431         `chise_open_data_source'.
432         (char_table_open_db_maybe): Modify for
433         `chise_ds_open_feature_table'.
434
435 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
436
437         * mule-charset.c (load_char_decoding_entry_maybe): Use
438         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
439         `chise_ccst_close'.
440
441 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
442
443         * mule-charset.c (Fsave_charset_mapping_table): Use
444         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
445         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
446         `chise_dt_put_char' and `chise_dt_close'.
447         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
448         `chise_ccs_decode' and `chise_ccst_close' instead of
449         `chise_ds_open_decoding_table', `chise_dt_get_char' and
450         `chise_dt_close'.
451
452         * chartab.c (char_table_get_db): Use
453         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
454         (load_char_attribute_table_map_func): Modify for
455         `chise_char_feature_value_iterate'.
456         (Fload_char_attribute_table): Use
457         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
458
459 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
460
461         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
462
463 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
464
465         * chartab.c (put_char_table): Modify for inherited coded-charsets
466         in XEmacs CHISE.
467
468 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
469
470         * chartab.c (Fput_char_table_map_function): Fixed.
471         (word_boundary_p): Don't check charset in XEmacs CHISE.
472
473 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
474
475         * mule-charset.c (Fsave_charset_mapping_table): Use
476         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
477         instead of `chise_open_decoding_table'; refer
478         `default_chise_data_source'; use `chise_dt_close' instead of
479         `chise_close_decoding_table'.
480         (load_char_decoding_entry_maybe): Likewise.
481
482         * chartab.c (default_chise_data_source): New variable when `CHISE'
483         is defined.
484         (Fcopy_char_table): `ct->ds' is deleted.
485         (open_chise_data_source_maybe): New function.
486         (Fclose_char_data_source): New function.
487         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
488         use `chise_ds_open_feature_table' instead of
489         `chise_open_feature_table'.
490         (char_table_close_db_maybe): Use `chise_ft_close' instead of
491         `chise_close_feature_table'; `cit->ds' is deleted.
492         (syms_of_chartab): Add new builtin function
493         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
494
495         * chartab.h (default_chise_data_source): New extern variable.
496         (open_chise_data_source_maybe): New prototype.
497         (struct Lisp_Char_Table): Delete `ds'.
498
499 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
500
501         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
502         `CHISE' is defined.
503
504 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
505
506         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
507         not defined; add code for non-libchise setting.
508         (char_table_close_db_maybe): Likewise.
509         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
510         defined.
511         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
512         even if `CHISE' is not defined.
513         (Freset_char_attribute_table): Likewise.
514         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
515         `char_table_close_db_maybe' even if `CHISE' is not defined; use
516         `char_table_get_db'.
517         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
518         `char_table_close_db_maybe' even if `CHISE' is not defined.
519
520 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
521
522         * chartab.c (char_table_open_db_maybe): New function.
523         (char_table_close_db_maybe): New function.
524         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
525         (Freset_char_attribute_table): Likewise.
526         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
527         `char_table_close_db_maybe'.
528         (Fload_char_attribute_table): Likewise.
529
530 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
531
532         * chartab.c: Don't include <chise.h> because it is included in
533         chartab.h.
534         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
535         defined.
536         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
537         `CHISE' is defined.
538         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
539         `CHISE' is defined.
540         (Fclose_char_attribute_table): Close `ct->feature_table' and
541         `ct->ds' when `CHISE' is defined.
542         (Freset_char_attribute_table): Likewise.
543         (load_char_attribute_maybe): Use `cit->ds' and
544         `cit->feature_table' when `CHISE' is defined.
545         (Fload_char_attribute_table): Likewise.
546
547         * chartab.h: Include <chise.h> when `CHISE' is defined.
548         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
549         when `CHISE' is defined.
550
551 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
552
553         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
554         is defined.
555         (char_table_description): Likewise.
556         (Fmake_char_table): Likewise.
557         (Fcopy_char_table): Likewise.
558         (Fmount_char_attribute_table): Likewise.
559         (Fclose_char_attribute_table): Likewise.
560         (Freset_char_attribute_table): Likewise.
561         (load_char_attribute_maybe): Likewise.
562         (Fload_char_attribute_table): Likewise.
563
564         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
565         defined.
566
567 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
568
569         * chartab.c (load_char_attribute_table_map_func): New function
570         when CHISE is defined.
571         (Qload_char_attribute_table_map_function): Don't define when CHISE
572         is defined.
573         (Fload_char_attribute_table_map_function): Likewise.
574         (Fload_char_attribute_table): Use libchise when `CHISE' is
575         defined.
576         (syms_of_chartab): Don't define
577         `load-char-attribute-table-map-function' when CHISE is defined.
578
579 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
580
581         * chartab.c: Include <chise.h> when `CHISE' is defined.
582         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
583
584 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
585
586         * mule-charset.c (charset_code_point): Fix problem when searching
587         in mother CCS fails with `defined_only' mode.
588
589 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
590
591         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
592         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
593         (put_char_composition): Likewise.
594         (Fput_char_attribute): Likewise.
595         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
596
597 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
598
599         * chartab.c (Q_ucs): Deleted.
600         (Fput_char_attribute): Don't refer `->ucs'.
601         (Fdefine_char): Likewise.
602         (Ffind_char): Likewise.
603         (syms_of_chartab): Delete `->ucs'.
604
605 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
606
607         * mule-charset.c (Qmap_cns11643_2): Renamed from
608         `Qchinese_cns11643_2'.
609         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
610         `chinese-cns11643-2'.
611         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
612         `=cns11643-2'.
613
614 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
615
616         * mule-charset.c (Qmap_cns11643_1): Renamed from
617         `Qchinese_cns11643_1'.
618         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
619         `chinese-cns11643-1'.
620         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
621         `=cns11643-1'.
622
623 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
624
625         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
626         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
627         `chinese-gb12345'.
628         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
629         `=gb12345'.
630
631 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
632
633         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
634         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
635         `chinese-gb2312'.
636         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
637         `=gb2312'.
638
639 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
640
641         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
642         (syms_of_mule_charset): Add new symbol `=big5' instead of
643         `chinese-big5'.
644         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
645
646 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
647
648         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
649         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
650         `korean-ksc5601'.
651         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
652         `=ks-x1001'.
653
654 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
655
656         * mule-charset.c (Qmap_jis_x0212): Renamed from
657         `Qjapanese_jisx0212'.
658         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
659         `japanese-jisx0212'.
660         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
661         `=jis-x0212'.
662
663 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
664
665         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
666         `Qjapanese_jisx0208'.
667         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
668         of `japanese-jisx0208'.
669         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
670         `=jis-x0208-1983'.
671
672 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
673
674         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
675         `Qjapanese_jisx0208_1978'.
676         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
677         of `japanese-jisx0208-1978'.
678         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
679         `=jis-x0208-1978'.
680
681 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
682
683         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
684         only for XEmacs CHISE.
685
686 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
687
688         * char-ucs.h: Compact non-ISO-IR charset-ids.
689         (LEADING_BYTE_UCS): Changed to -177.
690         (LEADING_BYTE_CONTROL_1): Changed to -77.
691         (LEADING_BYTE_UCS_BMP): Changed to -176.
692         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
693
694 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
695
696         * mule-charset.c (Qiso_ir): New variable.
697         (Fmake_charset): Recognise new property `iso-ir'.
698         (syms_of_mule_charset): Add new symbol `iso-ir'.
699
700 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
701
702         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
703         n to -n; charset-id of non ISO-IR sets are changed to positive
704         numbers.
705
706 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
707
708         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
709         for &MCS-XXXXXXXX; values.
710
711 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
712
713         * mule.c (Vxemacs_chise_version): Renamed from
714         `Vutf_2000_version'.
715         (vars_of_mule): Add new variable `xemacs-chise-version'; define
716         `utf-2000-version' as an alias for `xemacs-chise-version'.
717
718 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
719
720         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
721         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
722         defined.
723
724         * config.h.in (CHISE): New macro.
725
726 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
727
728         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
729         of `ucs'.
730         (Qmap_ucs): New variable.
731         (syms_of_mule_charset): Add new symbol `=ucs'.
732         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
733
734         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
735         (simplify_char_spec): Likewise.
736
737         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
738
739         * char-ucs.h (Qmap_ucs): New extern variable.
740
741 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
742
743         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
744         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
745         don't define it when UTF2000 is not defined.
746         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
747         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
748         when UTF2000 is not defined.
749         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
750         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
751
752 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
753
754         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
755
756         * mule-charset.c (Vcharset_ucs_gb): Deleted.
757         (Qucs_gb): Deleted.
758         (syms_of_mule_charset): Delete `ucs-gb'.
759         (complex_vars_of_mule_charset): Likewise.
760
761 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
762
763         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
764
765         * mule-charset.c (Vcharset_ucs_cns): Deleted.
766         (Qucs_cns): Deleted.
767         (syms_of_mule_charset): Delete `ucs-cns'.
768         (complex_vars_of_mule_charset): Likewise.
769
770 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
771
772         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
773
774         * mule-charset.c (Vcharset_ucs_jis): Deleted.
775         (Qucs_jis): Deleted.
776         (syms_of_mule_charset): Delete `ucs-jis'.
777         (complex_vars_of_mule_charset): Likewise.
778
779 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
780
781         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
782
783         * mule-charset.c (Vcharset_ucs_ks): Deleted.
784         (Qucs_ks): Deleted.
785         (syms_of_mule_charset): Delete `ucs-ks'.
786         (complex_vars_of_mule_charset): Likewise.
787
788 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
789
790         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
791         (Qideograph_daikanwa_2): Deleted.
792         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
793         (complex_vars_of_mule_charset): Likewise.
794
795         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
796         (LEADING_BYTE_DAIKANWA_1): Deleted.
797         (LEADING_BYTE_DAIKANWA_2): Deleted.
798         (MIN_CHAR_DAIKANWA): Deleted.
799         (MAX_CHAR_DAIKANWA): Deleted.
800
801 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
802
803         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
804         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
805         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
806
807         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
808         (Vcharset_ideograph_daikanwa): Deleted.
809         (Qideograph_hanziku_{1..12}): Deleted.
810         (Qideograph_daikanwa): Deleted.
811         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
812         Vcharset_ideograph_daikanwa.
813         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
814         `ideograph-hanziku-{1..12}'.
815         (complex_vars_of_mule_charset): Likewise.
816
817 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
818
819         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
820
821         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
822         (Qideograph_gt_pj_{1..11}): Deleted.
823         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
824         (complex_vars_of_mule_charset): Likewise.
825
826 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
827
828         * mule-charset.c (Vcharset_ucs_big5): Deleted.
829         (Vcharset_ideograph_gt): Deleted.
830         (Qucs_big5): Deleted.
831         (Qideograph_gt): Deleted.
832         (syms_of_mule_charset): Delete symbol `ucs-big5' and
833         `ideograph-gt'.
834         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
835         and `ideograph-gt'.
836
837         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
838         (LEADING_BYTE_GT): Deleted.
839         (MIN_CHAR_GT): Deleted.
840         (MAX_CHAR_GT): Deleted.
841
842 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
843
844         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
845
846 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
847
848         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
849         (save_uint16_byte_table): Likewise.
850         (save_byte_table): Likewise; convert values by it.
851         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
852         for `ideographic-structure'.
853         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
854         as the filter for `ideographic-structure'.
855
856 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
857
858         * chartab.c (put_char_composition): New function.
859         (Fput_char_attribute): Use `put_char_composition'; use
860         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
861
862         * fns.c (simplify_char_spec): New function.
863         (char_ref_simplify_spec): New function.
864         (Fchar_refs_simplify_char_specs): New function.
865         (syms_of_fns): Add new builtin function
866         `char-refs-simplify-char-specs'.
867
868 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
869
870         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
871         (Qideograph_cbeta): Deleted.
872         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
873         (complex_vars_of_mule_charset): Likewise.
874
875         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
876         (MIN_CHAR_CBETA): Comment out.
877         (MAX_CHAR_CBETA): Likewise.
878
879 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
880
881         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
882         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
883         CHISE client feature.
884
885 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
886
887         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
888
889 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
890
891         * mule-charset.c (charset_lookup_description_1): Use
892         `NUM_LEADING_BYTES' in UTF-2000.
893
894 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
895
896         * char-ucs.h (GC_CHARSETP): Deleted.
897
898 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
899
900         * char-ucs.h (MAX_CHAR_GT): Updated.
901
902 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
903
904         * text-coding.c: Sync with XEmacs 21.4.10.
905
906 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
907
908         * mule-charset.c (Vcharset_china3_jef): Deleted.
909         (Qchina3_jef): Deleted.
910         (syms_of_mule_charset): Don't define `china3-jef'.
911         (complex_vars_of_mule_charset): Likewise.
912
913         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
914         (MIN_CHAR_CHINA3_JEF): Comment out.
915         (MAX_CHAR_CHINA3_JEF): Comment out.
916
917 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
918
919         * mule-charset.c (Vcharset_ucs_gb): New variable.
920         (Qucs_gb): New variable.
921         (syms_of_mule_charset): Add new symbol `ucs-gb'.
922         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
923
924         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
925
926 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
927
928         * mule-charset.c (charset_code_point): if a coded-charset has a
929         final-byte, don't inherit the builtin range of the mother CCS.
930
931 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
932
933         * mule-charset.c (charset_code_point): Fix problem about
934         inheritance.
935
936 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
937
938         * mule-charset.c (decode_builtin_char): Reorganized.
939
940 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
941
942         * text-coding.c (char_encode_as_entity_reference): Modify for
943         `charset_code_point'.
944         (char_encode_shift_jis): Likewise.
945         (char_encode_big5): Likewise.
946         (char_encode_utf8): Likewise.
947         (char_encode_iso2022): Likewise.
948
949         * mule-charset.c (charset_code_point): Add new argument
950         `defined_only'.
951         (Fencode_char): Add new optional argument `defined_only'.
952
953         * chartab.c (put_char_table): Modify for `charset_code_point'.
954
955         * char-ucs.h (charset_code_point): Add new argument
956         `defined_only'.
957         (encode_char_1): Modify for `charset_code_point'.
958
959 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
960
961         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
962         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
963
964 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
965
966         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
967         (Qjis_x0208): Likewise.
968         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
969         XCHARSET_FINAL(charset).
970         (charset_code_point): Modify condition for final-byte based
971         builtin-chars.
972         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
973         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
974         in UTF-2000; specify `=jis-x0208' as the mother of
975         `japanese-jisx0208-1978', `japanese-jisx0208' and
976         `japanese-jisx0208-1990' in UTF-2000.
977
978 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
979
980         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
981
982 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
983
984         * text-coding.c (decode_coding_utf16): Support UTF-16.
985         (char_encode_utf16): Fixed.
986
987 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
988
989         * text-coding.c (Qutf16): New variable in MULE.
990         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
991         (Fcoding_system_type): Add `utf-16' in MULE.
992         (struct detection_state): Add a structure for utf16 in MULE.
993         (detect_coding_type): Setup st->utf16.mask in MULE.
994         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
995         MULE.
996         (reset_encoding_stream): Use `char_encode_utf16' and
997         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
998         (detect_coding_utf16): New function [incomplete].
999         (decode_coding_utf16): New function [support only UCS-2].
1000         (char_encode_utf16): New function.
1001         (char_finish_utf16): New function.
1002         (syms_of_file_coding): Add new symbol `utf-16'; setup
1003         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1004
1005         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1006         UTF-2000.
1007         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1008         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1009
1010 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1011
1012         * chartab.c (put_char_table): When a charset is specified as a
1013         range in UTF-2000, don't support builtin characters.
1014
1015 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1016
1017         * mule-charset.c (decode_defined_char): Don't refer external
1018         database if Qunbound or Qnil are found.
1019         (Fsave_charset_mapping_table): Don't define it if
1020         HAVE_CHISE_CLIENT is not defined.
1021         (Freset_charset_mapping_table): New function.
1022         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1023         found in external database.
1024         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1025         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1026         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1027
1028 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1029
1030         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1031         not.
1032
1033 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1034
1035         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1036         Q_lowercase, Q_uppercase in UTF-2000.
1037
1038         * chartab.c (get_char_table): Add special code for the standard
1039         case table to use character attribute `->downcase' and
1040         `->uppercase' for case operations in UTF-2000.
1041
1042         * casetab.c (Qflippedcase): New variable in UTF-2000.
1043         (Q_lowercase): Likewise.
1044         (Q_uppercase): Likewise.
1045         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1046         and `->uppercase' in UTF-2000.
1047         (complex_vars_of_casetab): Assign attribute name `downcase' to
1048         downcase and CANON table of Vstandard_case_table in UTF-2000;
1049         assign attribute name `flippedcase' to upcase and EQV table of
1050         Vstandard_case_table in UTF-2000.
1051
1052 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1053
1054         * text-coding.c (decode_add_er_char): Support isolated-chars.
1055         (char_encode_as_entity_reference): Likewise.
1056
1057 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1058
1059         * emacs.c (Vutf_2000_lisp_directory): New variable.
1060         (Vconfigure_utf_2000_lisp_directory): Likewise.
1061         (complex_vars_of_emacs): Add new variable
1062         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1063
1064 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1065
1066         * char-ucs.h (DECODE_CHAR): Delete special code for
1067         `chinese-big5-1' and `chinese-big5-2'.
1068
1069         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1070         (Qbig5_2): Likewise.
1071         (decode_defined_char): Support CONVERSION_BIG5_1 and
1072         CONVERSION_BIG5_2.
1073         (decode_builtin_char): Likewise.
1074         (charset_code_point): Likewise.
1075         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1076         'conversion in UTF-2000.
1077         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1078         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1079         `chinese-big5-2' as children of `chinese-big5'.
1080
1081         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1082         (CONVERSION_BIG5_2): New macro.
1083
1084 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1085
1086         * text-coding.c (char_encode_big5): Support entity-reference.
1087
1088 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1089
1090         * text-coding.c (char_encode_as_entity_reference): New function.
1091         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1092
1093 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1094
1095         * text-coding.c (decode_coding_big5): Support entity-reference
1096         decoding feature.
1097
1098 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1099
1100         * text-coding.c (allocate_coding_system): Initialize initial
1101         charsets for CODESYS_UTF8.
1102         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1103         charset-g2 for CODESYS_UTF8.
1104         (decode_coding_utf8): Use charset-g0.
1105         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1106         to force variants to map to UCS.
1107
1108 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1109
1110         * text-coding.c (Qutf_8_mcs): New variable.
1111         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1112         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1113         instead of `utf-8' in UTF-2000.
1114
1115 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1116
1117         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1118         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1119         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1120         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1121         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1122         CONVERSION_96x96x96x96 are introduced.
1123         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1124         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1125         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1126
1127         * char-ucs.h (CONVERSION_94): New macro.
1128         (CONVERSION_96): New macro.
1129         (CONVERSION_94x94): New macro.
1130         (CONVERSION_96x96): New macro.
1131         (CONVERSION_94x94x94): New macro.
1132         (CONVERSION_96x96x96): New macro.
1133         (CONVERSION_94x94x94x60): New macro.
1134         (CONVERSION_94x94x94x94): New macro.
1135         (CONVERSION_96x96x96x96): New macro.
1136
1137 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1138
1139         * chartab.c (Vcharacter_variant_table): Deleted.
1140         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1141         of `Vcharacter_variant_table'.
1142         (Fput_char_attribute): Likewise.
1143         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1144         (complex_vars_of_chartab): Likewise.
1145
1146 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1147
1148         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1149
1150         * fns.c (Qideographic_structure): New variable.
1151         (Qkeyword_char): New variable.
1152         (ids_format_unit): New function.
1153         (Fideographic_structure_to_ids): New function.
1154         (syms_of_fns): Add new symbols `ideographic-structure' and
1155         `:char'; add new builtin function `ideographic-structure-to-ids'.
1156
1157         * data.c (Fchar_ref_p): New function.
1158         (syms_of_data): Add new builtin function `char-ref-p'.
1159
1160         * chartab.h: Add an EXFUN for `Ffind_char'.
1161
1162 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1163
1164         * text-coding.c (Vcharacter_composition_table): Deleted.
1165         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1166         in every UTF-2000.
1167
1168         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1169         UTF-2000.
1170         (Vcharacter_composition_table): Deleted.
1171         (Fget_composite_char): Use the implementation for external-DB
1172         support in every UTF-2000.
1173         (Fput_char_attribute): Likewise.
1174         (char_attribute_system_db_file): Don't define if external-DB
1175         feature is not available.
1176         (Fsave_char_attribute_table): Likewise.
1177         (Fmount_char_attribute_table): Likewise.
1178         (Fclose_char_attribute_table): Likewise.
1179         (Freset_char_attribute_table): Likewise.
1180         (Fload_char_attribute_table): Likewise.
1181         (syms_of_chartab): Don't define `save-char-attribute-table',
1182         `mount-char-attribute-table', `reset-char-attribute-table',
1183         `close-char-attribute-table' and `load-char-attribute-table' if
1184         external-DB feature is not available.
1185         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1186
1187 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1188
1189         * text-coding.c (Qcomposition): Add extern if external-DB feature
1190         is supported.
1191         (Vcharacter_composition_table): Don't add extern if external-DB
1192         feature is supported.
1193         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1194         character composition rule if external-DB feature is supported.
1195
1196         * chartab.c (Vcharacter_composition_table): Don't define if
1197         external-DB feature is supported.
1198         (Qcomposition): New variable.
1199         (Fget_composite_char): New implementation for external-DB support.
1200         (Fput_char_attribute): Use `composition' property of each
1201         character instead of `Vcharacter_composition_table' to store
1202         character-composition rules if external-DB feature is supported.
1203         (syms_of_chartab): Add new symbol `composition'.
1204         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1205         external-DB feature is supported.
1206
1207 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1208
1209         * chartab.c (Vchar_db_stingy_mode): New variable.
1210         (load_char_attribute_maybe): Close database if
1211         Vchar_db_stingy_mode is not NIL.
1212         (Fload_char_attribute_table_map_function): Use
1213         `get_char_id_table_0' instead of `get_char_id_table'.
1214         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1215
1216         * chartab.h (get_char_id_table_0): New inline function.
1217         (get_char_id_table): Use `get_char_id_table_0'.
1218
1219 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1220
1221         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1222         and `COMPOSE_ADD_CHAR'.
1223         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1224
1225 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1226
1227         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1228         instead of `DECODE_ADD_UCS_CHAR'.
1229         (COMPOSE_ADD_CHAR): Likewise.
1230
1231 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1232
1233         * text-coding.c (decode_flush_er_chars): New inline function.
1234         (decode_add_er_char): New function.
1235         (decode_coding_utf8): Use `decode_flush_er_chars' and
1236         `decode_add_er_char'.
1237
1238 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1239
1240         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1241         done before `decode_output_utf8_partial_char'.
1242
1243         * mule-charset.c (complex_vars_of_mule_charset): Specify
1244         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1245         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1246
1247 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1248
1249         * mule-charset.c (decode_defined_char): New function; search
1250         mother.
1251         (decode_builtin_char): Don't search mother if
1252         XCHARSET_MAX_CODE(charset) == 0.
1253         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1254         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1255         (Fdecode_char): Use `decode_defined_char' instead of
1256         `DECODE_DEFINED_CHAR'.
1257         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1258         mother of `Vcharset_ucs_jis'.
1259
1260         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1261         instead of `DECODE_DEFINED_CHAR'.
1262
1263         * char-ucs.h (decode_defined_char): Renamed from
1264         `DECODE_DEFINED_CHAR'; changed to normal function.
1265         (DECODE_CHAR): Use `decode_defined_char' instead of
1266         `DECODE_DEFINED_CHAR'.
1267
1268         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1269
1270 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1271
1272         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1273
1274         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1275         variable.
1276         (Quse_entity_reference): New variable.
1277         (Qd): New variable.
1278         (Qx): New variable.
1279         (QX): New variable.
1280         (coding_system_description): Add description for
1281         `ccs_priority_list'.
1282         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1283         (allocate_coding_system): Initialize `ccs_priority_list' in
1284         UTF-2000.
1285         (Fmake_coding_system): Add description about
1286         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1287         (codesys).
1288         (Fcoding_system_property): Accept `disable-composition' and
1289         `use-entity-reference' in UTF-2000.
1290         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1291         in UTF-2000.
1292         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1293         (decode_coding_utf8): Decode entity-reference if
1294         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1295         (char_encode_utf8): Encode non-Unicode characters as
1296         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1297         (str->codesys).
1298         (syms_of_file_coding): Add new symbols `use-entity-reference',
1299         `d', `x', `X'.
1300         (vars_of_file_coding): Add new variable
1301         `coded-charset-entity-reference-alist'.
1302         (complex_vars_of_file_coding): Declare `disable-composition' and
1303         `use-entity-reference' to be coding-system-properties in UTF-2000.
1304
1305         * file-coding.h (struct Lisp_Coding_System): Add new member
1306         `use_entity_reference' and `ccs_priority_list'.
1307         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1308         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1309         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1310
1311 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1312
1313         * chartab.c (save_uint8_byte_table): Don't clear the table.
1314         (save_uint16_byte_table): Likewise.
1315         (save_byte_table): Likewise.
1316         (Fmount_char_attribute_table): New function.
1317         (syms_of_chartab): Add new builtin function
1318         `mount-char-attribute-table'.
1319
1320 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1321
1322         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1323         "w+" mode.
1324         (load_char_decoding_entry_maybe): Open database as read-only mode.
1325
1326         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1327         open database as "w+" mode.
1328         (load_char_attribute_maybe): Open database as read-only mode.
1329         (Fload_char_attribute_table): Likewise.
1330
1331 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1332
1333         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1334         (char_table_description): Delete member `db_file'.
1335         (Fmake_char_table): Don't refer `ct->db_file'.
1336         (Fcopy_char_table): Likewise.
1337         (Fsave_char_attribute_table): Likewise.
1338         (Fclose_char_attribute_table): Likewise.
1339         (Freset_char_attribute_table): Likewise.
1340         (load_char_attribute_maybe): Likewise.
1341         (Fload_char_attribute_table): Likewise.
1342
1343         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1344
1345 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1346
1347         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1348         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1349         `ct->db' is living.
1350         (load_char_attribute_maybe): Likewise.
1351         (Fload_char_attribute_table): Likewise.
1352
1353 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1354
1355         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1356         `ct->db_file' unconditionally.
1357
1358 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1359
1360         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1361         UTF-2000.
1362         (char_table_description): Add description for `db_file' and `db'
1363         in UTF-2000.
1364         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1365         UTF-2000.
1366         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1367         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1368         (Fclose_char_attribute_table): New function.
1369         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1370         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1371         and `cit->db'.
1372         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1373         (syms_of_chartab): Add new builtin function
1374         `Fclose_char_attribute_table'.
1375
1376 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1377
1378         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1379         `db' in UTF-2000.
1380         (load_char_attribute_maybe): Change interface.
1381         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1382
1383 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1384
1385         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1386
1387 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1388
1389         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1390         instead of `DECODE_CHAR' for mother; don't use special code for
1391         chinese-big5 to use code space of chinese-big5-1 and
1392         chinese-big5-2.
1393         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1394         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1395
1396         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1397         (MAX_CHAR_BIG5_CDP): Revival.
1398
1399 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1400
1401         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1402         the XLFD registry-encoding name of `chinese-big5'.
1403
1404 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1405
1406         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1407         (Qchinese_big5_cdp): Deleted.
1408         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1409         (complex_vars_of_mule_charset): Delete coded-charset
1410         `chinese-big5-cdp'.
1411
1412         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1413         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1414         `CHARSET_ID_OFFSET - n' for private CCS.
1415         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1416         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1417         of `MIN_LEADING_BYTE'.
1418         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1419         `(CHARSET_ID_OFFSET - 97)'.
1420         (MIN_CHAR_BIG5_CDP): Deleted.
1421         (MAX_CHAR_BIG5_CDP): Deleted.
1422
1423 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1424
1425         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1426
1427 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1428
1429         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1430         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1431         chartab.c].
1432
1433         * chartab.c (Vutf_2000_version): Moved to mule.c.
1434         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1435
1436 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1437
1438         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1439         when HAVE_CHISE_CLIENT is not defined.
1440
1441         * mule.c (vars_of_mule): Provide feature `chise' when
1442         HAVE_CHISE_CLIENT is defined.
1443
1444 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1445
1446         * config.h.in (UTF2000): Add comment.
1447         (HAVE_CHISE_CLIENT): New macro.
1448
1449 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1450
1451         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1452         CONSP.
1453         (Fput_char_attribute): Likewise.
1454         (char_attribute_system_db_file): Encode file-name of attribute.
1455         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1456         the initial value.
1457
1458 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1459
1460         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1461         (Fsave_charset_mapping_table): Use
1462         `char_attribute_system_db_file'.
1463         (load_char_decoding_entry_maybe): Likewise.
1464
1465         * chartab.h (Qsystem_char_id): New external variable.
1466         (char_attribute_system_db_file): New prototype.
1467
1468         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1469         (char_attribute_system_db_file): New function.
1470         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1471         (Freset_char_attribute_table): Likewise.
1472         (load_char_attribute_maybe): Likewise.
1473         (Fload_char_attribute_table): Likewise.
1474         (syms_of_chartab): Add new symbol `system-char-id'.
1475
1476 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1477
1478         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1479         `XCHARSET_GRAPHIC(ccs)'.
1480
1481 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1482
1483         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1484
1485 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1486
1487         * chartab.c (Q_ucs_variants): New variable.
1488         (syms_of_chartab): Add new symbol `->ucs-variants'.
1489         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1490         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1491         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1492
1493         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1494
1495         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1496         `HAVE_DATABASE' is defined.
1497         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1498         `HAVE_DATABASE' is defined.
1499
1500 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1501
1502         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1503         attribute-table.
1504         (Freset_char_attribute_table): New function.
1505         (syms_of_chartab): Add new builtin function
1506         `reset-char-attribute-table'.
1507
1508 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1509
1510         * chartab.c (load_char_attribute_maybe): Don't make directories.
1511
1512 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1513
1514         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1515
1516         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1517         for decoding-table.
1518
1519 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1520
1521         * mule-charset.c (Fsave_charset_mapping_table): Use
1522         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1523
1524         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1525         instead of `XCHARSET_CHARS'.
1526
1527 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1528
1529         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1530         (XCHARSET_BYTE_SIZE): Likewise.
1531
1532         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1533         mule-charset.c].
1534         (XCHARSET_BYTE_SIZE): Likewise.
1535
1536 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1537
1538         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1539         data-directory to store database.
1540         (Fsave_char_attribute_table): Likewise.
1541         (load_char_attribute_maybe): Likewise.
1542         (Fload_char_attribute_table): Likewise.
1543
1544 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1545
1546         * mule-charset.c (Fsave_charset_mapping_table): New function.
1547         (syms_of_mule_charset): Add new builtin function
1548         `save-charset-mapping-table'.
1549
1550 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1551
1552         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1553         (get_ccs_octet_table): New inline function.
1554         (put_ccs_octet_table): Likewise.
1555         (decoding_table_put_char): Use `get_ccs_octet_table' and
1556         `put_ccs_octet_table'.
1557         (decoding_table_remove_char): Use `decoding_table_put_char'.
1558         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1559
1560         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1561         into encoding_table.
1562         (make_charset): Use Qunbound instead Qnil as initial value of
1563         decoding_table.
1564
1565 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1566
1567         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1568         element is Qunloaded.
1569         (map_over_uint16_byte_table): Likewise.
1570         (map_over_byte_table): Likewise.
1571         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1572         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1573         database support, load encoding-table of the specified
1574         coded-charset if it is not loaded yet.
1575         (save_uint8_byte_table): New function of UTF-2000 with external
1576         database support.
1577         (save_uint16_byte_table): Likewise.
1578         (save_byte_table): Likewise.
1579         (Fput_char_attribute): Don't store value into external database
1580         even if the external database feature is supported in UTF-2000;
1581         set `attribute' as name of char-table if the external database
1582         feature is supported.
1583         (Fsave_char_attribute_table): New function in UTF-2000.
1584         (syms_of_chartab): Add new builtin function
1585         `save-char-attribute-table' in UTF-2000.
1586
1587 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1588
1589         * chartab.c (char_attribute_table_to_put): New variable in
1590         UTF-2000.
1591         (Qput_char_table_map_function): Likewise.
1592         (value_to_put): Likewise.
1593         (Fput_char_table_map_function): New function in UTF-2000.
1594         (put_char_table): Use `Fmap_char_attribute' for
1595         CHARTAB_RANGE_CHARSET in UTF-2000.
1596         (Fput_char_attribute): Store symbol instead of string in
1597         `XCHAR_TABLE_NAME (table)'.
1598         (load_char_attribute_maybe): Likewise.
1599         (syms_of_chartab): Add new symbol/function
1600         `put-char-table-map-function'.
1601
1602 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1603
1604         * database.h: Add new EXFUN for `Fmap_database'.
1605
1606         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1607         (syms_of_database): Likewise.
1608
1609         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1610         UTF-2000.
1611         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1612         (XCHAR_TABLE_UNLOADED): Likewise.
1613
1614         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1615         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1616         HAVE_DATABASE is defined.
1617         (char_attribute_table_to_load): New variable of UTF-2000 with
1618         external database support.
1619         (Qload_char_attribute_table_map_function): Likewise.
1620         (Fload_char_attribute_table_map_function): New function of
1621         UTF-2000 with external database support.
1622         (Fload_char_attribute_table): New function of UTF-2000.
1623         (Fmap_char_attribute): Call Fload_char_attribute_table if
1624         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1625         (syms_of_chartab): Add new symbol and function
1626         `load-char-attribute-table-map-function' in UTF-2000 with external
1627         database support; add new function `load-char-attribute-table' in
1628         UTF-2000.
1629
1630 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1631
1632         * chartab.h (load_char_attribute_maybe): New prototype for
1633         UTF-2000 with DATABASE support.
1634         (get_char_id_table): Use `load_char_attribute_maybe' if
1635         HAVE_DATABASE is defined.
1636
1637         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1638         with DATABASE support.
1639
1640 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1641
1642         * chartab.c (Fput_char_attribute): Use S-expression as key of
1643         external database.
1644
1645         * chartab.h (get_char_id_table): Use S-expression as key of
1646         external database.
1647
1648 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1649
1650         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1651         if an element is not loaded, load the corresponding attributes
1652         from an external database.
1653         (map_over_uint16_byte_table): Likewise.
1654         (map_over_byte_table): Likewise.
1655         (map_char_table): Modify for `map_over_uint8_byte_table',
1656         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1657         element is not loaded, load the corresponding attributes from an
1658         external database.
1659         (Fput_char_attribute): Change initial values to Qunloaded.
1660
1661         * chartab.h (get_char_id_table): If a character attribute is not
1662         loaded and the attribute value is not found in an external
1663         database, store Qunbound as the attribute value.
1664
1665 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1666
1667         * chartab.c (BT_UINT8_unloaded): New macro.
1668         (UINT8_VALUE_P): Accept Qunloaded.
1669         (UINT8_ENCODE): Likewise.
1670         (UINT8_DECODE): Likewise.
1671         (BT_UINT16_unloaded): New macro.
1672         (UINT16_VALUE_P): Accept Qunloaded.
1673         (UINT16_ENCODE): Likewise.
1674         (UINT16_DECODE): Likewise.
1675         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1676         BT_UINT16_unloaded.
1677         (mark_char_table): Mark `ct->name' in UTF-2000.
1678         (char_table_description): Add `name' in UTF-2000.
1679         (Fmake_char_table): Initialize `ct->name'.
1680         (Fcopy_char_table): Copy `ct->name'.
1681         (Fput_char_attribute): Store value into an external database if
1682         HAVE_DATABASE is defined.
1683
1684         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1685         UTF-2000.
1686         (CHAR_TABLE_NAME): New macro in UTF-2000.
1687         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1688         (get_char_id_table): Try to read an external database if Qunloaded
1689         is stored in a table.
1690
1691         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1692         Qunloaded.
1693
1694 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1695
1696         * database.h: Add EXFUN definitions for Fopen_database,
1697         Fput_database, Fget_database and Fclose_database.
1698
1699         * data.c (Qunloaded): New variable in UTF-2000.
1700
1701         * lisp.h (Qunloaded): New variable in UTF-2000.
1702
1703 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1704
1705         * mule-charset.c (put_char_ccs_code_point): Modify for
1706         `decoding_table_remove_char' and `decoding_table_put_char'.
1707         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1708
1709         * char-ucs.h (decoding_table_remove_char): Change arguments to
1710         hide decoding_table vector.
1711         (decoding_table_put_char): Likewise.
1712
1713 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1714
1715         * mule-charset.c (decoding_table_remove_char): Moved to
1716         char-ucs.h.
1717         (decoding_table_put_char): Likewise.
1718
1719         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1720         from mule-charset.c].
1721         (decoding_table_remove_char): New inline function [moved from
1722         mule-charset.c].
1723         (decoding_table_put_char): Likewise.
1724
1725 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1726
1727         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1728         extension.
1729
1730 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1731
1732         * mule-charset.c (decode_builtin_char): Support mother charsets.
1733
1734 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1735
1736         * mule-charset.c (Q94x94x60): New variable.
1737         (charset_code_point): Support conversion `94x94x60'.
1738         (Fmake_charset): Likewise.
1739         (syms_of_mule_charset): Add new symbol `94x94x60'.
1740
1741         * char-ucs.h (CONVERSION_94x94x60): New macro.
1742
1743 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1744
1745         * mule-charset.c (charset_code_point): Unify code about
1746         `code-offset'.
1747
1748 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1749
1750         * mule-charset.c (charset_code_point): Merge code about builtin
1751         characters into code about mother charsets; don't use
1752         `range_charset_code_point'.
1753         (range_charset_code_point): Deleted.
1754
1755 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1756
1757         * mule-charset.c (Qcode_offset): New variable.
1758         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1759         `max-code'; accept new property `code-offset'.
1760         (syms_of_mule_charset): Add new symbol `code-offset'.
1761
1762 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1763
1764         * mule-charset.c (range_charset_code_point): Fixed.
1765
1766 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1767
1768         * mule-charset.c (decode_builtin_char): Change semantics of
1769         code-offset of coded-charset.
1770         (charset_code_point): Likewise.
1771         (range_charset_code_point): Likewise.
1772         (complex_vars_of_mule_charset): Modify for the change.
1773
1774 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1775
1776         * mule-charset.c (Fencode_char): Reverse arguments.
1777
1778         * mule-charset.c (charset_code_point): Fixed.
1779
1780 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1781
1782         * mule-charset.c (Vcharset_mojikyo): Deleted.
1783         (Vcharset_mojikyo_2022_1): Deleted.
1784         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1785         (Qmin_code): New variable in UTF-2000.
1786         (Qmax_code): Likewise.
1787         (Qmother): Likewise.
1788         (Qconversion): Likewise.
1789         (Q94x60): Likewise.
1790         (Qmojikyo): Deleted.
1791         (Qmojikyo_2022_1): Deleted.
1792         (Qmojikyo_pj_{1..22}): Deleted.
1793         (mark_charset): Mark `cs->mother'.
1794         (charset_description): Add description for `mother'.
1795         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1796         new arguments `mother' and `conversion'; use
1797         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1798         (charset_code_point): Moved from char-ucs.h; support `mother'
1799         charset feature.
1800         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1801         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1802         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1803         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1804         allow 2 as the value of `graphic' in UTF-2000; add new properties
1805         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1806         require `final' in UTF-2000; modify for `make_charset'.
1807         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1808         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1809         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1810         (Fencode_char): New function.
1811         (syms_of_mule_charset): Add new builtin function `encode-char' in
1812         UTF-2000; add new symbols `min-code', `max-code', `mother',
1813         `conversion' and `94x60'; delete symbols `mojikyo',
1814         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1815         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1816         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1817         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1818
1819         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1820         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1821
1822         * char-ucs.h (Vcharset_mojikyo): Deleted.
1823         (Vcharset_mojikyo_2022_1): Deleted.
1824         (LEADING_BYTE_MOJIKYO): Deleted.
1825         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1826         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1827         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1828         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1829         add new member `mother'; add new member `conversion'.
1830         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1831         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1832         (CHARSET_MOTHER): New macro.
1833         (CHARSET_CONVERSION): New macro.
1834         (CONVERSION_IDENTICAL): New macro.
1835         (CONVERSION_94x60): New macro.
1836         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1837         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1838         (XCHARSET_MOTHER): New macro.
1839         (XCHARSET_CONVERSION): New macro.
1840         (MIN_CHAR_MOJIKYO): Deleted.
1841         (MAX_CHAR_MOJIKYO): Deleted.
1842         (DECODE_MOJIKYO_2022): Deleted.
1843         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1844         (charset_code_point): Changed to non-inline function.
1845         (encode_char_1): Use `charset_code_point'.
1846         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1847
1848 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1849
1850         * lread.c (read_compiled_function): Fix prototype.
1851         (read_vector): Likewise.
1852
1853 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1854
1855         * lrecord.h (struct lrecord_header): Delete `older'.
1856         (set_lheader_implementation): Delete code for `older'.
1857         (set_lheader_older_implementation): Deleted.
1858         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1859         (OLDER_RECORD_P): Deleted.
1860         (OLDER_RECORD_HEADER_P): Deleted.
1861         (alloc_older_lcrecord): Deleted.
1862         (alloc_older_lcrecord_type): Deleted.
1863
1864         * alloc.c (all_older_lcrecords): Deleted.
1865         (alloc_older_lcrecord): Deleted.
1866         (disksave_object_finalization_1): Delete code for older objects.
1867         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1868         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1869
1870 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1871
1872         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1873         instead of `make_older_vector'.
1874         (put_char_ccs_code_point): Likewise.
1875         (mark_charset): Mark `cs->decoding_table'.
1876         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1877
1878         * lisp.h (make_older_vector): Deleted.
1879         (make_vector_newer): Deleted.
1880
1881         * config.h.in (HAVE_GGC): Deleted.
1882
1883         * alloc.c (make_older_vector): Deleted.
1884         (make_vector_newer_1): Deleted.
1885         (make_vector_newer): Deleted.
1886
1887 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1888
1889         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1890         (Qideograph_daikanwa_2): New variable.
1891         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1892         (complex_vars_of_mule_charset): Add new coded-charset
1893         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1894         `LEADING_BYTE_DAIKANWA'.
1895
1896         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1897         (LEADING_BYTE_DAIKANWA_1): New macro.
1898         (LEADING_BYTE_DAIKANWA_2): New macro.
1899         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1900
1901 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1902
1903         * mule-charset.c (complex_vars_of_mule_charset): Change
1904         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1905         the second revised version.
1906
1907 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1908
1909         * mule-charset.c (Vcharset_ucs_smp): New variable.
1910         (Vcharset_ucs_sip): New variable.
1911         (Qucs_smp): New variable.
1912         (Qucs_sip): New variable.
1913         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1914         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1915         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1916         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1917         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1918         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1919
1920         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1921         (LEADING_BYTE_UCS_SIP): New macro.
1922         (MIN_CHAR_SMP): New macro.
1923         (MAX_CHAR_SMP): New macro.
1924         (MIN_CHAR_SIP): New macro.
1925         (MAX_CHAR_SIP): New macro.
1926
1927 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1928
1929         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1930         utf-2000.
1931
1932 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1933
1934         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1935         value; don't store value into `encoding_table' of `Lisp_Charset'.
1936         (mark_charset): `encoding_table' was deleted.
1937         (charset_description): Likewise.
1938         (make_charset): Likewise.
1939         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1940         `put_char_ccs_code_point'.
1941
1942         * chartab.h (Fput_char_attribute): New EXFUN.
1943
1944         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1945         is unified with normal symbol space.
1946         (Fget_char_attribute): Likewise.
1947         (Fput_char_attribute): Likewise; behavior of
1948         `put_char_ccs_code_point' is changed.
1949
1950         * char-ucs.h: Include "elhash.h".
1951         (Vchar_attribute_hash_table): New external variable.
1952         (struct Lisp_Charset): Delete `encoding_table'.
1953         (CHARSET_ENCODING_TABLE): New implementation; refer
1954         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1955         `Lisp_Charset'.
1956
1957 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1958
1959         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1960         (cs) == 0.
1961
1962 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1963
1964         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1965         `chinese-big5'.
1966
1967 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1968
1969         * chartab.c (uint8_byte_table_description): New constant.
1970         (uint8-byte-table): Use `uint8_byte_table_description'.
1971         (uint16_byte_table_description): New constant.
1972         (uint16-byte-table): Use `uint16_byte_table_description'.
1973
1974 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1975
1976         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1977         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1978
1979 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1980
1981         * mule-charset.c (Vcharset_ucs_ks): New variable.
1982         (Qucs_ks): New variable.
1983         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1984         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1985
1986         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1987
1988 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1989
1990         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1991         (Fdecode_char): Likewise.
1992
1993         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1994         chartab.h.
1995         (Fdefine_char): Modify for Fdecode_char.
1996         (Ffind_char): Likewise.
1997
1998         * mule-charset.c (Fdecode_char): Add new optional argument
1999         `defined-only'.
2000         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2001
2002 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2003
2004         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2005         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2006         (allocate_coding_system): Initialize initial-charsets of
2007         CODESYS_BIG5 in XEmacs UTF-2000.
2008         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2009         CODESYS_BIG5 in XEmacs UTF-2000.
2010         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2011         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2012
2013         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2014         variables.
2015         (Qideograph_hanziku_{1 .. 12}): Likewise.
2016         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2017         .. 12}'.
2018         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2019         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2020         `ideograph-hanziku-{1 .. 12}'.
2021
2022         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2023         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2024         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2025         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2026         (DECODE_DEFINED_CHAR): New inline function.
2027         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2028
2029 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2030
2031         * mule-charset.c (Vcharset_china3_jef): Renamed from
2032         `Vcharset_japanese_jef_china3'.
2033         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2034         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2035         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2036         (syms_of_mule_charset): Rename `china3-jef' from
2037         `japanese-jef-china3'.
2038         (complex_vars_of_mule_charset): Likewise; rename
2039         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2040
2041         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2042         `LEADING_BYTE_JEF_CHINA3'.
2043         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2044         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2045
2046 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2047
2048         * mule-charset.c (encode_builtin_char_1): Comment out special code
2049         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2050
2051         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2052         (MAX_CHAR_MOJIKYO_0): Comment out.
2053         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2054         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2055         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2056         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2057
2058 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2059
2060         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2061         (Qideograph_cbeta): New variable.
2062         (encode_builtin_char_1): Comment out special code for
2063         coded-charset `mojikyo' and `japanese-jef-china3'.
2064         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2065         (complex_vars_of_mule_charset): Add new coded-charset
2066         `ideograph-cbeta'.
2067
2068         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2069         (MIN_CHAR_CBETA): New macro.
2070         (MAX_CHAR_CBETA): New macro.
2071
2072 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2073
2074         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2075         (LEADING_BYTE_JEF_CHINA3): New macro.
2076         (MIN_CHAR_JEF_CHINA3): New macro.
2077         (MAX_CHAR_JEF_CHINA3): Likewise.
2078         (DECODE_CHAR): Fixed.
2079
2080 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2081
2082         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2083         (Qjapanese_jef_china3): New variable.
2084         (encode_builtin_char_1): Support `japanese-jef-china3'.
2085         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2086         (complex_vars_of_mule_charset): Add new coded-charset
2087         `japanese-jef-china3'.
2088
2089 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2090
2091         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2092         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2093         94^4, 96^3, 96^4, 128^n and 256^n set.
2094         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2095         (map_char_table): Likewise.
2096
2097 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2098
2099         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2100         UTF-2000.
2101
2102 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2103
2104         * chartab.h (get_char_id_table): New inline function.
2105
2106         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2107         function.
2108
2109 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2110
2111         * chartab.h (decode_char_table_range): New prototype in XEmacs
2112         UTF-2000.
2113         (put_char_id_table): New inline function in XEmacs UTF-2000.
2114
2115         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2116         function.
2117         (decode_char_table_range): Delete static declaration in XEmacs
2118         UTF-2000.
2119
2120 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2121
2122         * chartab.c (put_char_id_table): Use `put_char_table'.
2123
2124 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2125
2126         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2127         (map_over_uint16_byte_table): Likewise.
2128         (map_over_byte_table): Likewise.
2129         (map_char_table): Modify for `map_over_uint8_byte_table',
2130         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2131         UTF-2000.
2132
2133 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2134
2135         * chartab.c (struct map_char_table_for_charset_arg): New
2136         structure.
2137         (map_char_table_for_charset_fun): New function.
2138         (map_char_table): Use `map_char_table' for encoding_table of
2139         `range->charset'.
2140
2141 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2142
2143         * chartab.c (map_char_table): Check a character is found in
2144         range->charset instead of non default value is defined in
2145         char-table when range is CHARTAB_RANGE_ROW.
2146
2147 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2148
2149         * chartab.c (map_char_id_table): Deleted.
2150         (Fmap_char_attribute): Use `map_char_table' instead of
2151         `map_char_id_table'.
2152
2153 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2154
2155         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2156         UTF-2000.
2157         (update_syntax_table): Deleted in XEmacs UTF-2000.
2158
2159         * syntax.c (find_defun_start): Use `syntax_table' instead of
2160         `mirror_syntax_table' in XEmacs UTF-2000.
2161         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2162         UTF-2000.
2163         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2164         XEmacs UTF-2000.
2165         (Fmatching_paren): Likewise.
2166         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2167         in XEmacs UTF-2000.
2168         (find_start_of_comment): Likewise.
2169         (find_end_of_comment): Likewise.
2170         (Fforward_comment): Likewise.
2171         (scan_lists): Likewise.
2172         (char_quoted): Likewise.
2173         (Fbackward_prefix_chars): Likewise.
2174         (scan_sexps_forward): Likewise.
2175         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2176         (update_syntax_table): Likewise.
2177
2178         * search.c (skip_chars): Use `syntax_table' instead of
2179         `mirror_syntax_table' in XEmacs UTF-2000.
2180         (wordify): Likewise.
2181         (Freplace_match): Likewise.
2182
2183         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2184         `mirror_syntax_table' in XEmacs UTF-2000.
2185         (WORDCHAR_P_UNSAFE): Likewise.
2186         (re_match_2_internal): Likewise.
2187
2188         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2189         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2190
2191         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2192         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2193
2194         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2195         XEmacs UTF-2000.
2196
2197         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2198         UTF-2000.
2199         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2200         (char_table_description): Delete `mirror_table' in XEmacs
2201         UTF-2000.
2202         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2203         UTF-2000.
2204         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2205         (Fcopy_char_table): Likewise.
2206         (put_char_table): Don't call `update_syntax_table' in XEmacs
2207         UTF-2000.
2208
2209         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2210         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2211         (casify_region_internal): Likewise.
2212
2213         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2214
2215         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2216         `mirror_syntax_table' in XEmacs UTF-2000.
2217
2218         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2219         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2220         (Fexpand_abbrev): Likewise.
2221
2222 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2223
2224         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2225
2226 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2227
2228         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2229         (map_over_uint16_byte_table): Likewise.
2230         (map_over_byte_table): Likewise.
2231         (get_char_id_table): Refer `cit->default_value'.
2232         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2233         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2234         of character-id ranges.
2235         (mark_char_table): Mark `ct->default_value'.
2236         (char_table_description): Add `default_value'.
2237         (fill_char_table): Use `default_value'.
2238         (decode_char_table_range): Decode `nil' as
2239         `CHARTAB_RANGE_DEFAULT'.
2240         (get_char_id_table): Refer `cit->default_value'.
2241         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2242         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2243         temporary hack; check value of char-table is bound or not.
2244         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2245
2246         * chartab.h (struct Lisp_Char_Table): Add new member
2247         `default_value' in XEmacs UTF-2000.
2248         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2249         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2250         UTF-2000.
2251
2252 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2253
2254         * chartab.h (Lisp_Char_ID_Table): Deleted.
2255
2256         * chartab.c (char_table_description): Fix typo.
2257         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2258         `Lisp_Char_ID_Table'.
2259
2260 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2261
2262         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2263         `CHAR_ID_TABLE_P'.
2264
2265         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2266         `CHAR_ID_TABLE_P'.
2267
2268         * chartab.h (XCHAR_ID_TABLE): Deleted.
2269         (XSETCHAR_ID_TABLE): Deleted.
2270         (CHAR_ID_TABLE_P): Deleted.
2271
2272         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2273         `CHAR_ID_TABLE_P'.
2274         (Fget_composite_char): Likewise.
2275         (put_char_table): Likewise.
2276         (add_char_attribute_alist_mapper): Fixed.
2277         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2278         `CHAR_ID_TABLE_P'.
2279         (Fget_char_attribute): Likewise.
2280         (Fget_char_attribute): Likewise.
2281         (Fmap_char_attribute): Likewise.
2282
2283         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2284         `CHAR_ID_TABLE_P'.
2285         (encode_char_1): Likewise.
2286
2287 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2288
2289         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2290         `XCHAR_ID_TABLE'.
2291
2292         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2293         instead of `XCHAR_ID_TABLE'.
2294         (remove_char_ccs): Likewise.
2295
2296         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2297         `XCHAR_ID_TABLE'.
2298         (Fget_composite_char): Likewise.
2299         (Fchar_variants): Likewise.
2300         (put_char_table): Likewise.
2301         (add_char_attribute_alist_mapper): Likewise.
2302         (Fchar_attribute_alist): Likewise.
2303         (Fget_char_attribute): Likewise.
2304         (Fput_char_attribute): Likewise.
2305         (Fmap_char_attribute): Likewise.
2306         (Fmap_char_attribute): Likewise.
2307
2308         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2309         `XCHAR_ID_TABLE'.
2310         (encode_char_1): Likewise.
2311
2312 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2313
2314         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2315         `Lisp_Char_ID_Table'.
2316         (mark_char_id_table): Deleted.
2317         (print_char_id_table): Likewise.
2318         (char_id_table_equal): Likewise.
2319         (char_id_table_hash): Likewise.
2320         (char_id_table_description): Likewise.
2321         (char_id_table): Likewise.
2322         (make_char_id_table): Use `Fmake_char_table' and
2323         `fill_char_table'.
2324         (get_char_id_table): Use `Lisp_Char_Table' instead of
2325         `Lisp_Char_ID_Table'.
2326         (put_char_id_table): Likewise.
2327         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2328         `XCHAR_ID_TABLE'.
2329         (Fremove_char_attribute): Likewise.
2330         (syms_of_chartab): Don't define type `char-id-table'.
2331
2332         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2333         (char_id_table): Likewise.
2334         (GC_CHAR_ID_TABLE_P): Likewise.
2335         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2336         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2337         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2338         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2339         (get_char_id_table): Use `Lisp_Char_Table' instead of
2340         `Lisp_Char_ID_Table'.
2341         (put_char_id_table_0): Likewise.
2342         (put_char_id_table): Likewise.
2343
2344 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2345
2346         * chartab.h: Lisp_Byte_Table related codes are moved from
2347         chartab.h.
2348
2349         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2350
2351 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2352
2353         * chartab.h: Don't include "chartab.h".
2354         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2355         (Lisp_Char_ID_Table): Likewise.
2356         (char_id_table): Likewise.
2357         (XCHAR_ID_TABLE): Likewise.
2358         (XSETCHAR_ID_TABLE): Likewise.
2359         (CHAR_ID_TABLE_P): Likewise.
2360         (GC_CHAR_ID_TABLE_P): Likewise.
2361         (get_char_id_table): Likewise.
2362
2363         * char-ucs.h: Include "chartab.h".
2364         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2365         (Lisp_Char_ID_Table): Likewise.
2366         (char_id_table): Likewise.
2367         (XCHAR_ID_TABLE): Likewise.
2368         (XSETCHAR_ID_TABLE): Likewise.
2369         (CHAR_ID_TABLE_P): Likewise.
2370         (GC_CHAR_ID_TABLE_P): Likewise.
2371         (get_char_id_table): Likewise.
2372
2373 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2374
2375         * chartab.c (copy_uint8_byte_table): New function.
2376         (copy_uint16_byte_table): New function.
2377         (copy_byte_table): New function.
2378         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2379         characters to call.
2380         (map_over_uint16_byte_table): Likewise.
2381         (map_over_byte_table): Likewise.
2382         (get_byte_table): Move prototype to chartab.h.
2383         (put_byte_table): Likewise.
2384         (put_char_id_table_0): Moved to chartab.h.
2385         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2386         (char_table_entry_equal): Likewise.
2387         (char_table_entry_hash): Likewise.
2388         (char_table_entry_description): Likewise.
2389         (char_table_entry): Likewise.
2390         (make_char_table_entry): Likewise.
2391         (copy_char_table_entry): Likewise.
2392         (get_non_ascii_char_table_value): Likewise.
2393         (map_over_charset_ascii): Likewise.
2394         (map_over_charset_control_1): Likewise.
2395         (map_over_charset_row): Likewise.
2396         (map_over_other_charset): Likewise.
2397         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2398         (print_char_table): Likewise.
2399         (char_table_equal): Likewise.
2400         (char_table_hash): Likewise.
2401         (char_table_description): Likewise.
2402         (fill_char_table): Likewise.
2403         (Fcopy_char_table): Likewise.
2404         (get_char_table): Likewise.
2405         (Fget_range_char_table): Likewise.
2406         (put_char_table): Likewise.
2407         (map_char_table): Likewise.
2408         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2409         UTF-2000.
2410
2411 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2412
2413         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2414         `Vauto_fill_chars' in XEmacs UTF-2000.
2415
2416         * chartab.h (get_byte_table): New prototype [moved from
2417         chartab.c].
2418         (put_byte_table): Likewise [moved from chartab.c].
2419         (put_char_id_table_0): New inline function [moved from chartab.c].
2420         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2421         (Lisp_Char_Table_Entry): Likewise.
2422         (char_table_entry): Likewise.
2423         (XCHAR_TABLE_ENTRY): Likewise.
2424         (XSETCHAR_TABLE_ENTRY): Likewise.
2425         (CHAR_TABLE_ENTRYP): Likewise.
2426         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2427         (NUM_ASCII_CHARS): Likewise.
2428         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2429         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2430
2431 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2432
2433         * chartab.c (get_char_id_table): Change interface.
2434         (put_char_id_table_0): New function.
2435         (put_char_id_table): Change interface; new implementation.
2436         (Fget_composite_char): Modify for interface change of
2437         `get_char_id_table'.
2438         (Fchar_variants): Likewise.
2439         (add_char_attribute_alist_mapper): Likewise.
2440         (Fchar_attribute_alist): Likewise.
2441         (Fget_char_attribute): Likewise.
2442         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2443         as same as character as the first argument like `put-char-table';
2444         modify for interface change of `put_char_id_table'.
2445         (Fremove_char_attribute): Modify for interface change of
2446         `put_char_id_table'.
2447
2448 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2449
2450         * text-coding.c: Sync up with XEmacs 21.2.41.
2451         (COMPOSE_ADD_CHAR): Modify for interface change of
2452         `get_char_id_table'.
2453
2454         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2455         change of `put_char_id_table'.
2456         (remove_char_ccs): Likewise.
2457
2458         * chartab.h (put_char_id_table): Change interface.
2459
2460         * char-ucs.h (get_char_id_table): Change interface.
2461         (charset_code_point): Modify for interface change of
2462         `get_char_id_table'.
2463         (encode_char_1): Likewise.
2464
2465 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2466
2467         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2468         argument `ccs'.
2469         (map_over_uint16_byte_table): Likewise.
2470         (map_over_byte_table): Likewise.
2471         (map_char_id_table): Add new argument `range' like
2472         `map_char_table'.
2473         (Fmap_char_attribute): Add new argument `range' like
2474         `Fmap_char_table'.
2475
2476 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2477
2478         * chartab.c (map_over_uint8_byte_table): Change interface of
2479         mapping function to use struct chartab_range instead of Emchar.
2480         (map_over_uint16_byte_table): Likewise.
2481         (map_over_byte_table): Likewise.
2482         (map_char_id_table): Likewise.
2483         (struct slow_map_char_id_table_arg): Deleted.
2484         (slow_map_char_id_table_fun): Deleted.
2485         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2486         function `slow_map_char_table_fun' instead of struct
2487         `slow_map_char_id_table_arg' and function
2488         `slow_map_char_id_table_fun'.
2489
2490 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2491
2492         * mule-charset.c: Move char-it-table related codes to chartab.c.
2493         (Vutf_2000_version): Moved to chartab.c.
2494         (Fdefine_char): Likewise.
2495         (Ffind_char): Likewise.
2496         (syms_of_mule_charset): Move types `uint8-byte-table',
2497         `uint16-byte-table', `byte-table' and `char-id-table' to
2498         chartab.c; move functions `char_attribute_list,
2499         `find_char_attribute_table, `char_attribute_alist,
2500         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2501         `map_char_attribute, `define_char, `find_char, `char_variants and
2502         `get_composite_char to chartab.c; move symbols `=>ucs',
2503         `->decomposition', `compat', `isolated', `initial', `medial',
2504         `final', `vertical', `noBreak', `fraction', `super', `sub',
2505         `circle', `square', `wide', `narrow', `small' and `font' to
2506         chartab.c.
2507         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2508         setting codes for `Vcharacter_composition_table' and
2509         `Vcharacter_variant_table' to chartab.c.
2510         (complex_vars_of_mule_charset): Move setting code for
2511         `Vchar_attribute_hash_table' to chartab.c.
2512
2513         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2514         (make_char_id_table): New prototype.
2515         (put_char_id_table): Likewise.
2516         (Fget_char_attribute): Likewise.
2517
2518         * chartab.c: Move char-id-table related code from mule-charset.c.
2519         (Vutf_2000_version): Moved from mule-charset.c.
2520
2521         * char-ucs.h (Qucs): New external variable.
2522         (put_char_ccs_code_point): New prototype.
2523         (remove_char_ccs): Likewise.
2524
2525 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2526
2527         * mule-charset.c (Vcharset_ucs_jis): New variable.
2528         (Qucs_jis): Likewise.
2529         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2530         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2531
2532         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2533
2534 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2535
2536         * mule-charset.c (map_over_uint8_byte_table): New function.
2537         (map_over_uint16_byte_table): Likewise.
2538         (map_over_byte_table): Likewise.
2539         (map_char_id_table): Likewise.
2540         (slow_map_char_id_table_fun): Likewise.
2541         (Fmap_char_attribute): Likewise.
2542         (syms_of_mule_charset): Add new function `map-char-attribute'.
2543
2544 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2545
2546         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2547         (syms_of_mule_charset): Add new function `find-char'.
2548
2549 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2550
2551         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2552         XEmacs UTF-2000.
2553         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2554         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2555         XEmacs UTF-2000.
2556         (complex_vars_of_mule_charset): Add new coded-charset
2557         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2558         `ideograph-gt-pj-*'.
2559
2560         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2561
2562 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2563
2564         * mule-charset.c (encode_builtin_char_1): Purge codes about
2565         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2566         {MIN|MAX}_CHAR_HEBREW.
2567         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2568         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2569
2570         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2571         (MAX_CHAR_GREEK): Purged.
2572         (MIN_CHAR_CYRILLIC): Purged.
2573         (MAX_CHAR_CYRILLIC): Purged.
2574         (MIN_CHAR_HEBREW): Commented out.
2575         (MAX_CHAR_HEBREW): Likewise.
2576
2577 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2578
2579         * mule-charset.c (Qto_ucs): New variable.
2580         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2581         (Fdefine_char): Likewise.
2582         (syms_of_mule_charset): Add new symbol `=>ucs'.
2583
2584 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2585
2586         * mule-charset.c (Fdecode_char): Fixed.
2587
2588 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2589
2590         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2591         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2592         "tcvn5712-1".
2593
2594 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2595
2596         * mule-charset.c (Vcharset_ucs_big5): New variable.
2597         (Qucs_big5): Likewise.
2598         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2599         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2600
2601         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2602
2603 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2604
2605         * mule-charset.c (decode_builtin_char): Check Big5 code range
2606         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2607
2608 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2609
2610         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2611         (Qchinese_gb12345): Likewise.
2612         (Fdecode_builtin_char): Fixed.
2613         (syms_of_mule_charset): Add `chinese-gb12345'.
2614         (complex_vars_of_mule_charset): Add coded-charset
2615         `chinese-gb12345'.
2616
2617         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2618         (LEADING_BYTE_CHINESE_GB12345): New macro.
2619
2620 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2621
2622         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2623         and `latin-viscii-upper' for `latin-viscii'.
2624
2625 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2626
2627         * mule-charset.c (Fdecode_builtin_char): Comment out
2628         regularization code for ISO-IR GR representation.
2629
2630 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2631
2632         * mule-charset.c (decode_builtin_char): New function; renamed from
2633         `make_builtin_char'; return -1 instead of signal.
2634         (Fdecode_builtin_char): Use `decode_builtin_char'.
2635
2636         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2637         `make_builtin_char'.
2638         (DECODE_CHAR): Use `decode_builtin_char' instead of
2639         `make_builtin_char'; use mapping table of `chinese-big5' for
2640         `chinese-big5-{1,2}'.
2641
2642 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2643
2644         * text-coding.c (char_encode_big5): New function.
2645         (char_finish_big5): Likewise.
2646         (reset_encoding_stream): Use `char_encode_big5' and
2647         `char_finish_big5' for CODESYS_BIG5.
2648         (mule_encode): Don't use `encode_coding_big5'.
2649         (encode_coding_big5): Deleted.
2650
2651 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2652
2653         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2654         0x81- in XEmacs UTF-2000.
2655         (detect_coding_big5): Likewise.
2656
2657 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2658
2659         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2660         generate character-id if the CCS property does not have
2661         corresponding predefined character.
2662         (make_builtin_char): Return -1 if corresponding predefined
2663         character is not found.
2664         (Fdecode_char): Return nil if corresponding character is not
2665         found.
2666         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2667         don't map to builtin ucs space.
2668
2669 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2670
2671         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2672         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2673
2674 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2675
2676         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2677         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2678         (Qideograph_gt): Likewise.
2679         (Qideograph_gt_pj_{1..11}): Likewise.
2680         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2681         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2682         `ideograph-gt-pj-11'.
2683         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2684         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2685         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2686
2687         * char-ucs.h (LEADING_BYTE_GT): New macro.
2688         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2689         (MIN_CHAR_GT): Likewise.
2690         (MAX_CHAR_GT): Likewise.
2691
2692 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2693
2694         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2695         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2696
2697         * doprnt.c (unsigned_int_converters): Add `c'.
2698         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2699
2700         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2701         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2702         `MIN_CHAR_MOJIKYO'.
2703         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2704         (MAX_CHAR_MOJIKYO_0): New macro.
2705         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2706
2707 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2708
2709         * mule-charset.c (Fdefine_char): Delete cemented out code.
2710         (encode_builtin_char_1): Modify for new allocation of builtin
2711         Mojikyo characters.
2712
2713         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2714
2715 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2716
2717         * mule-charset.c (Vcharset_ucs_cns): New variable.
2718         (Qucs_cns): New variable.
2719         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2720         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2721
2722 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2723
2724         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2725
2726 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2727
2728         * search.c (search_buffer): Make `charset_base_code' as
2729         character-id >> 6 to eliminate the corresponding last byte in
2730         UTF-8 representation [I'm not sure it is right thing].
2731         (boyer_moore): Likewise.
2732
2733 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2734
2735         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2736         representation in MULE.
2737
2738 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2739
2740         * text-coding.c (Fmake_coding_system): Use
2741         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2742         `EXTERNAL_PROPERTY_LIST_LOOP'.
2743
2744 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2745
2746         * text-coding.c (decode_output_utf8_partial_char): New function.
2747         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2748
2749 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2750
2751         * text-coding.c (decode_coding_utf8): Output original byte
2752         sequence if it is broken; change order of conditions.
2753
2754         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2755         of conditions.
2756
2757         * mb-multibyte.h (BYTE_ASCII_P):
2758         Use bit ops for char-signedness safety.
2759         (BYTE_C0_P): Use bit ops for char-signedness safety.
2760         (BYTE_C1_P): Use bit ops for char-signedness safety.
2761
2762         * character.h: (XCHAR_OR_CHAR_INT):
2763         Always use inline function.
2764         Remove redundant type checking assert() - XINT will abort quite
2765         nicely.
2766
2767 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2768
2769         * text-coding.c: (Fencode_shift_jis_char):
2770         (Fencode_big5_char):
2771         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2772         Replace 0 with '\0' when working with bytes.
2773         Replace initial "(" with "\(" in docstrings.
2774
2775         (Fmake_coding_system):
2776         When type is ccl and value is vector, register it with a proper
2777         symbol.  And checks whether the given ccl program is valid.
2778         (mule_decode): When calling ccl_driver, if src indicates
2779         NULL pointer, set an empty string instead.
2780         (mule_encode): Likewise.
2781
2782         (detect_eol_type):
2783         (detect_coding_sjis):
2784         (decode_coding_sjis):
2785         (detect_coding_big5):
2786         (decode_coding_big5):
2787         (detect_coding_ucs4):
2788         (decode_coding_ucs4):
2789         (detect_coding_utf8):
2790         (decode_coding_utf8):
2791         (detect_coding_iso2022):
2792         (decode_coding_iso2022):
2793         (decode_coding_no_conversion):
2794         (mule_decode):
2795         Make all detecting and decoding functions take an Extbyte * arg.
2796         (text_encode_generic):
2797         (encode_coding_big5):
2798         (encode_coding_no_conversion):
2799         (mule_encode):
2800         Make all encoding functions take a Bufbyte * arg.
2801         Use size_t instead of unsigned int for memory sizes.
2802         Only cast to unsigned char whenever dereferencing Extbyte *.
2803
2804         (struct lrecord_description fcd_description_1): Use countof.
2805         (complex_vars_of_file_coding):
2806         Use countof instead of sizeof.
2807         Use CHECK_NATNUM instead of CHECK_INT.
2808
2809 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2810
2811         * mule-charset.c (Fget_char_attribute): Add new optional argument
2812         `default-value'.
2813         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2814         (remove_char_ccs): Likewise.
2815
2816 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2817
2818         * text-coding.c (char_encode_shift_jis): New implementation in
2819         UTF-2000.
2820         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2821         ...)'.
2822
2823         * mule-charset.c (Vcharset_chinese_big5): New variable in
2824         UTF-2000.
2825         (Qchinese_big5): New variable in UTF-2000.
2826         (BIG5_SAME_ROW): New macro in UTF-2000.
2827         (make_builtin_char): Use builtin characters of
2828         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2829         characters of `Vcharset_chinese_big5'.
2830         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2831         (complex_vars_of_mule_charset): Add new coded-charset
2832         `chinese-big5' in UTF-2000.
2833
2834         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2835         (Vcharset_chinese_big5): New external variable declaration.
2836         (Vcharset_japanese_jisx0208_1990): Likewise.
2837
2838 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2839
2840         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2841         function.
2842         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2843
2844 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2845
2846         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2847         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2848         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2849         `mojikyo-pj-*'.
2850
2851 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2852
2853         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2854
2855 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2856
2857         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2858         to 0.17.
2859
2860 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2861
2862         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2863         for `CHARSET_BY_ATTRIBUTES'.
2864         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2865         `CHARSET_BY_ATTRIBUTES'.
2866
2867         * text-coding.c (struct decoding_stream): Rename member `CH' to
2868         `CPOS'.
2869         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2870         (decode_coding_sjis): Likewise.
2871         (decode_coding_big5): Likewise.
2872         (decode_coding_ucs4): Likewise.
2873         (decode_coding_utf8): Likewise.
2874         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2875         `CHARSET_BY_ATTRIBUTES'.
2876         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2877         `str->counter'; decode 3, 4 bytes sets.
2878         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2879         sets.
2880         (decode_coding_no_conversion): Use `str->cpos' instead of
2881         `str->ch'.
2882
2883         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2884         (Qmojikyo_2022_1): New variable.
2885         (make_charset): Don't use `CHARSET_TYPE_*'.
2886         (range_charset_code_point): Support coded-charset
2887         `mojikyo-2022-1'.
2888         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2889         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2890         `CHARSET_BY_ATTRIBUTES'.
2891         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2892         `CHARSET_BY_ATTRIBUTES'.
2893         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2894         (complex_vars_of_mule_charset): Add new coded-charset
2895         `mojikyo-2022-1'.
2896
2897         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2898         interface; changed to inline function.
2899
2900         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2901         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2902         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2903         (CHARSET_TYPE_94): Deleted.
2904         (CHARSET_TYPE_94X94): Deleted.
2905         (CHARSET_TYPE_96): Deleted.
2906         (CHARSET_TYPE_96X96): Deleted.
2907         (CHARSET_TYPE_128): Deleted.
2908         (CHARSET_TYPE_128X128): Deleted.
2909         (CHARSET_TYPE_256): Deleted.
2910         (CHARSET_TYPE_256X256): Deleted.
2911         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2912         to inline function.
2913         (DECODE_MOJIKYO_2022): New inline function.
2914         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2915         `Vcharset_mojikyo_2022_1'.
2916
2917 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2918
2919         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2920         instead of `EQ'.
2921         (put_byte_table): Likewise.
2922         (char_id_table_equal): Use `get_byte_table' [new implementation].
2923
2924 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2925
2926         * mule-charset.c: Include <limits.h> in UTF-2000.
2927         (BT_UINT8_MIN): New macro in UTF-2000.
2928         (BT_UINT8_MAX): New macro in UTF-2000.
2929         (BT_UINT8_t): New macro in UTF-2000.
2930         (BT_UINT8_nil): New macro in UTF-2000.
2931         (BT_UINT8_unbound): New macro in UTF-2000.
2932         (INT_UINT8_P): New inline function in UTF-2000.
2933         (UINT8_VALUE_P): New inline function in UTF-2000.
2934         (UINT8_ENCODE): New inline function in UTF-2000.
2935         (UINT8_DECODE): New inline function in UTF-2000.
2936         (mark_uint8_byte_table): New function in UTF-2000.
2937         (print_uint8_byte_table): New function in UTF-2000.
2938         (uint8_byte_table_equal): New function in UTF-2000.
2939         (uint8_byte_table_hash): New function in UTF-2000.
2940         (make_uint8_byte_table): New function in UTF-2000.
2941         (uint8_byte_table_same_value_p): New function in UTF-2000.
2942         (BT_UINT16_MIN): New macro in UTF-2000.
2943         (BT_UINT16_MAX): New macro in UTF-2000.
2944         (BT_UINT16_t): New macro in UTF-2000.
2945         (BT_UINT16_nil): New macro in UTF-2000.
2946         (BT_UINT16_unbound): New macro in UTF-2000.
2947         (INT_UINT16_P): New inline function in UTF-2000.
2948         (UINT16_VALUE_P): New inline function in UTF-2000.
2949         (UINT16_ENCODE): New inline function in UTF-2000.
2950         (UINT16_DECODE): New inline function in UTF-2000.
2951         (UINT8_TO_UINT16): New inline function in UTF-2000.
2952         (mark_uint16_byte_table): New function in UTF-2000.
2953         (print_uint16_byte_table): New function in UTF-2000.
2954         (uint16_byte_table_equal): New function in UTF-2000.
2955         (uint16_byte_table_hash): New function in UTF-2000.
2956         (make_uint16_byte_table): New function in UTF-2000.
2957         (uint16_byte_table_same_value_p): New function in UTF-2000.
2958         (print_byte_table): New function in UTF-2000.
2959         (byte-table): Use `print_byte_table' as printer.
2960         (make_byte_table): Delete second argument `older'.
2961         (byte_table_same_value_p): New function in UTF-2000.
2962         (copy_byte_table): Deleted.
2963         (get_byte_table): New function in UTF-2000.
2964         (put_byte_table): New function in UTF-2000.
2965         (print_char_id_table): New function in UTF-2000.
2966         (char-id-table): Use `print_char_id_table' as printer.
2967         (make_char_id_table): Delete second argument `older'.
2968         (get_char_id_table): Use `get_byte_table [new implementation].
2969         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2970         implementation].
2971         (Ffind_char_attribute_table): New function in UTF-2000.
2972         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2973         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2974         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2975         (syms_of_mule_charset): Add new function
2976         `find-char-attribute-table' in UTF-2000.
2977
2978         * lrecord.h (enum lrecord_type): Add
2979         `lrecord_type_uint16_byte_table' and
2980         `lrecord_type_uint8_byte_table'.
2981
2982         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2983         (Lisp_Uint8_Byte_Table): New type.
2984         (XUINT8_BYTE_TABLE): New macro.
2985         (XSETUINT8_BYTE_TABLE): New macro.
2986         (UINT8_BYTE_TABLE_P): New macro.
2987         (GC_UINT8_BYTE_TABLE_P): New macro.
2988         (struct Lisp_Uint16_Byte_Table): New structure.
2989         (Lisp_Uint16_Byte_Table): New type.
2990         (XUINT16_BYTE_TABLE): New macro.
2991         (XSETUINT16_BYTE_TABLE): New macro.
2992         (UINT16_BYTE_TABLE_P): New macro.
2993         (GC_UINT16_BYTE_TABLE_P): New macro.
2994
2995 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2996
2997         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2998         (Vcharacter_ideographic_strokes_table): Deleted.
2999         (Vcharacter_total_strokes_table): Deleted.
3000         (Vcharacter_morohashi_daikanwa_table): Deleted.
3001         (Vcharacter_decomposition_table): Deleted.
3002         (Qname): Deleted because it is duplicated.
3003         (Qideographic_radical): Deleted.
3004         (Qideographic_strokes): Deleted.
3005         (Qtotal_strokes): Deleted.
3006         (Qmorohashi_daikanwa): Deleted.
3007         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3008         `ideographic-radical', `ideographic-strokes', `total-strokes',
3009         `morohashi-daikanwa' and `->decomposition'.
3010         (Fget_char_attribute): Likewise.
3011         (Fput_char_attribute): Likewise; use `make-vector' instead of
3012         `make_older_vector' for `->decomposition' value.
3013         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3014         `ideograph-daikanwa'.
3015         (syms_of_mule_charset): Delete builtin symbols `name',
3016         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3017         `morohashi-daikanwa'.
3018         (vars_of_mule_charset): Don't setup
3019         `Vcharacter_ideographic_radical_table',
3020         `Vcharacter_ideographic_strokes_table',
3021         `Vcharacter_total_strokes_table',
3022         `Vcharacter_morohashi_daikanwa_table' and
3023         `Vcharacter_decomposition_table'.
3024
3025 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3026
3027         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3028         `make_older_vector', `make_vector_newer_1' and
3029         `make_vector_newer'.
3030
3031         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3032         `make_older_vector' and `make_vector_newer'.
3033
3034         * config.h.in (HAVE_GGC): New macro.
3035
3036 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3037
3038         * mule-charset.c (struct char_attribute_list_closure): New
3039         structure in UTF-2000.
3040         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3041         (Fchar_attribute_list): Likewise.
3042         (Fset_charset_mapping_table): Use `make_vector_newer'.
3043         (Fdecode_builtin_char): New function in UTF-2000.
3044         (syms_of_mule_charset): Add new function `char-attribute-list' and
3045         `decode-builtin-char' in UTF-2000.
3046
3047         * lisp.h (make_vector_newer): New prototype.
3048
3049         * alloc.c (make_vector_newer_1): New function.
3050         (make_vector_newer): New function.
3051
3052 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3053
3054         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3055         50100)'.
3056
3057 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3058
3059         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3060         (Vcharacter_attribute_table): Deleted.
3061         (Vcharacter_name_table): Deleted.
3062         (put_char_attribute): Deleted.
3063         (remove_char_attribute): Deleted.
3064         (struct char_attribute_alist_closure): New structure.
3065         (add_char_attribute_alist_mapper): New function.
3066         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3067         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3068         (Fget_char_attribute): Likewise.
3069         (Fput_char_attribute): Likewise.
3070         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3071         of `remove_char_attribute'.
3072         (Fdefine_char): Return character.
3073         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3074         and `Vcharacter_name_table'.
3075         (complex_vars_of_mule_charset): Likewise
3076         `Vchar_attribute_hash_table'.
3077
3078 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3079
3080         * character.h (CHARC_CHARSET): New macro.
3081         (CHARC_CHARSET_ID): New macro.
3082         (CHARC_CODE_POINT): New macro.
3083         (CHARC_COLUMNS): New macro.
3084         (CHARC_TO_CHAR): New inline function.
3085         (CHARC_EQ): New inline function.
3086         (CHARC_ASCII_EQ): New inline function.
3087         (CHARC_IS_SPACE): New inline function.
3088         (ASCII_TO_CHARC): New inline function.
3089
3090         * char-ucs.h (encode_char_2): Deleted.
3091         (ENCODE_CHAR): Use `encode_char_1' again.
3092         (breakup_char_1): Likewise.
3093         (CHAR_TO_CHARC): New inline function.
3094
3095         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3096
3097 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3098
3099         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3100         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3101         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3102         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3103         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3104         `CHARC_IS_SPACE'.
3105         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3106
3107         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3108         `CHARC_CODE_POINT'.
3109         (x_output_display_block): Use `CHARC_CHARSET' and
3110         `CHARC_ASCII_EQ'.
3111
3112         * redisplay-tty.c (tty_output_display_block): Use
3113         `CHARC_ASCII_EQ'.
3114         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3115
3116         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3117
3118         * insdel.c (find_charsets_in_charc_string): Use
3119         `CHARC_CHARSET_ID'.
3120         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3121         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3122         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3123         (convert_charc_string_into_malloced_string): Likewise.
3124
3125 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3126
3127         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3128         instead of <Emchar_dynarr *> for buf; use
3129         `convert_bufbyte_string_into_charc_dynarr' instead of
3130         `convert_bufbyte_string_into_emchar_dynarr'; use
3131         `find_charsets_in_charc_string' instead of
3132         `find_charsets_in_emchar_string'.
3133
3134         * redisplay.h:
3135         - Include "character.h".
3136         (struct rune): New member `cglyph'; delete member `chr'.
3137
3138         * redisplay.c (redisplay_text_width_charc_string): New function;
3139         delete `redisplay_text_width_emchar_string'.
3140         (rtw_charc_dynarr): New variable; renamed from
3141         `rtw_emchar_dynarr'.
3142         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3143         `rtw_emchar_dynarr'; use
3144         `convert_bufbyte_string_into_charc_dynarr' instead of
3145         `convert_bufbyte_string_into_emchar_dynarr'; use
3146         `redisplay_text_width_charc_string' instead of
3147         `redisplay_text_width_emchar_string'.
3148         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3149         instead of `rtw_emchar_dynarr'; use
3150         `convert_bufbyte_string_into_charc_dynarr' instead of
3151         `convert_bufbyte_string_into_emchar_dynarr'.
3152         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3153         `redisplay_text_width_charc_string' instead of
3154         `redisplay_text_width_emchar_string'.
3155         (create_text_block): Modify for <struct rune> change.
3156         (generate_formatted_string_db): Likewise.
3157         (create_string_text_block): Likewise.
3158         (pixel_to_glyph_translation): Likewise.
3159
3160         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3161         instead of <const Emchar *>.
3162         (x_text_width): Likewise.
3163         (x_output_display_block): Use <Charc_dynarr *> instead
3164         <Emchar_dynarr *>; modify for <structure rune> change.
3165         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3166         *>.
3167
3168         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3169         <const Emchar *>; use `charc_string_displayed_columns' instead of
3170         `emchar_string_displayed_columns'.
3171         (tty_output_display_block): Use <Charc_dynarr *> instead of
3172         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3173         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3174         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3175         `tty_output_emchar_dynarr_dynarr'.
3176         (tty_output_charc_dynarr): New function; delete
3177         `tty_output_charc_dynarr'.
3178
3179         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3180         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3181         <Emchar_dynarr *> for buf; use
3182         `convert_bufbyte_string_into_charc_dynarr' instead of
3183         `convert_bufbyte_string_into_emchar_dynarr'.
3184
3185         * frame.c (title_string_charc_dynarr): New variable; renamed from
3186         `title_string_emchar_dynarr'.
3187         (generate_title_string): Use `title_string_charc_dynarr' instead
3188         of `title_string_emchar_dynarr'; use
3189         `convert_charc_string_into_malloced_string' instead of
3190         `convert_emchar_string_into_malloced_string'.
3191         (init_frame): Use `title_string_charc_dynarr' instead of
3192         `title_string_emchar_dynarr'.
3193
3194         * console.h:
3195         - Include "character.h".
3196         (struct console_methods): Use <const Charc *> instead of <const
3197         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3198         <Emchar_dynarr *> in output_string_method.
3199
3200         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3201         <Emchar_dynarr *>.
3202
3203         * console-stream.c (stream_text_width): Use <const Charc *>
3204         instead of <const Emchar *>.
3205
3206         * character.h (Charc_dynarr): New type.
3207
3208         * char-ucs.h (structure Charc): New structure; define new type
3209         `Charc'.
3210
3211         * char-lb.h (DECODE_CHAR): New inline function.
3212         (encode_char_1): New inline function.
3213         (ENCODE_CHAR): New macro.
3214         (structure Charc): New structure; define new type `Charc'.
3215
3216         * char-1byte.h (Vcharset_control_1): New macro.
3217         (Vcharset_latin_iso8859_1): New macro.
3218         (DECODE_CHAR): New inline function.
3219         (encode_char_1): New inline function.
3220         (ENCODE_CHAR): New macro.
3221         (structure Charc): New structure; define new type `Charc'.
3222
3223         * insdel.c (find_charsets_in_charc_string): New function; delete
3224         `find_charsets_in_emchar_string'.
3225         (charc_string_displayed_columns): New function; delete
3226         `emchar_string_displayed_columns'.
3227         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3228         `convert_bufbyte_string_into_emchar_dynarr'.
3229         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3230         `convert_charc_string_into_bufbyte_dynarr'.
3231         (convert_charc_string_into_malloced_string): New function; delete
3232         `convert_charc_string_into_malloced_string'.
3233
3234         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3235         `find_charsets_in_emchar_string'.
3236         (charc_string_displayed_columns): New prototype; delete
3237         `emchar_string_displayed_columns'.
3238         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3239         `convert_charc_string_into_bufbyte_dynarr'.
3240         (convert_charc_string_into_malloced_string): New prototype; delete
3241         `convert_charc_string_into_malloced_string'.
3242
3243 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3244
3245         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3246
3247 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3248
3249         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3250
3251         * char-ucs.h: Use <short> for <Charset_ID>.
3252
3253         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3254         <Charset_ID>.
3255
3256 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3257
3258         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3259         to 0.16.
3260
3261 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3262
3263         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3264         variable.
3265         (Qmorohashi_daikanwa): New variable.
3266         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3267         for `morohashi-daikanwa' attribute.
3268         (Fget_char_attribute): Likewise.
3269         (Fput_char_attribute): Likewise.
3270         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3271         has the same value of `ideograph-daikanwa'.
3272         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3273         (vars_of_mule_charset): Setup
3274         `Vcharacter_morohashi_daikanwa_table'.
3275
3276 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3277
3278         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3279         attributes.
3280         (add_charset_to_list_mapper): Add `key' instead of
3281         `XCHARSET_NAME (value)' to return aliases.
3282
3283 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3284
3285         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3286         variable.
3287         (Vcharacter_ideographic_strokes_table): New variable.
3288         (Qideographic_radical): New variable.
3289         (Qideographic_strokes): New variable.
3290         (Fchar_attribute_alist): Use
3291         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3292         attribute; use `Vcharacter_ideographic_strokes_table' for
3293         `ideographic-strokes' attribute.
3294         (Fget_char_attribute): Likewise.
3295         (Fput_char_attribute): Likewise.
3296         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3297         `ideographic-strokes'.
3298         (vars_of_mule_charset): Setup
3299         `Vcharacter_ideographic_radical_table' and
3300         `Vcharacter_ideographic_strokes_table'.
3301
3302 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3303
3304         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3305         (Qtotal_strokes): New variable.
3306         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3307         `total-strokes' attribute.
3308         (Fget_char_attribute): Likewise.
3309         (Fput_char_attribute): Likewise.
3310         (syms_of_mule_charset): Add new symbol `total-strokes'.
3311         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3312
3313 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3314
3315         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3316         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3317         are found.
3318         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3319         `->decomposition' attribute.
3320         (Fput_char_attribute): Likewise.
3321         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3322
3323 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3324
3325         * mule-charset.c (decoding_table_check_elements): New function.
3326         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3327
3328 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3329
3330         * mule-charset.c (Fset_charset_mapping_table): Use
3331         `put_char_ccs_code_point'.
3332
3333 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3334
3335         * mule-charset.c (decoding_table_put_char): New inline function.
3336         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3337
3338 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3339
3340         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3341         (XCHARSET_BYTE_SIZE): New macro.
3342         (decoding_table_remove_char): New inline function.
3343         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3344         `decoding_table_remove_char'.
3345         (remove_char_ccs): Use `decoding_table_remove_char'.
3346         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3347
3348 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3349
3350         * mule-charset.c (Vcharacter_name_table): New variable.
3351         (Qname): New variable.
3352         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3353         attribute.
3354         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3355         `Vcharacter_name_table' for `name' attribute.
3356         (Fremove_char_attribute): Use function `remove_char_ccs'.
3357         (put_char_ccs_code_point): New function.
3358         (remove_char_ccs): New function.
3359         (syms_of_mule_charset): Add new symbol `name'.
3360         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3361
3362 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3363
3364         * mule-charset.c (make_byte_table): Add new argument `older'.
3365         (make_char_id_table): Likewise.
3366         (copy_char_id_table): Comment out because it is not used.
3367         (put_char_id_table): Modify for `make_byte_table'.
3368         (Fput_char_attribute): Make encoding_table as older object;
3369         inherit older bit of `Vcharacter_composition_table'.
3370         (mark_charset): Don't mark `cs->encoding_table'.
3371         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3372         normal object; make `Vcharacter_composition_table' as an older
3373         object; delete staticpro for `Vcharacter_composition_table'; make
3374         `Vcharacter_variant_table' as a normal object.
3375
3376         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3377         (mark_object): Don't check older object in UTF-2000.
3378
3379         * lrecord.h (struct lrecord_header): Add new member `older' in
3380         UTF-2000.
3381         (set_lheader_implementation): Setup `SLI_header->older' in
3382         UTF-2000.
3383         (set_lheader_older_implementation): New macro in UTF-2000.
3384         (OLDER_RECORD_P): New macro in UTF-2000.
3385         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3386         (alloc_older_lcrecord): New prototype in UTF-2000.
3387         (alloc_older_lcrecord_type): New macro in UTF-2000.
3388
3389 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3390
3391         * mule-charset.c (byte_table_description): Use
3392         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3393         (char_id_table_description): Delete bogus `, 1'.
3394         (Fget_char_attribute): Refer encoding_table of each coded-charset
3395         to get value of coded-charset attribute of a character.
3396         (Fput_char_attribute): Use `make_older_vector' instead of
3397         `make_vector'; use encoding_table of each coded-charset to store
3398         value of coded-charset attribute of a character.
3399         (Fremove_char_attribute): Use encoding_table of each coded-charset
3400         to store value of coded-charset attribute of a character.
3401         (mark_charset): Mark `cs->encoding_table'; don't mark
3402         `cs->decoding_table'.
3403         (charset_description): Add description of new member
3404         `encoding_table'.
3405         (make_charset): Initialize `encoding_table'.
3406
3407         * char-ucs.h (struct Lisp_Charset): Add new member
3408         `encoding_table'.
3409         (CHARSET_ENCODING_TABLE): New macro.
3410         (XCHARSET_ENCODING_TABLE): New macro.
3411         (charset_code_point): New implementation.
3412         (encode_char_1): Likewise.
3413
3414         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3415         (disksave_object_finalization_1): Call finalizers of
3416         `all_older_lcrecords' in UTF-2000.
3417         (make_older_vector): New function in UTF-2000.
3418         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3419         UTF-2000.
3420
3421         * lisp.h (make_older_vector): New prototype in UTF-2000.
3422
3423 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3424
3425         * lrecord.h (enum lrecord_type): Rename
3426         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3427
3428         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3429         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3430         `get_char_code_table'.
3431
3432         * mule-charset.c (mark_char_id_table): Renamed from
3433         `mark_char_code_table'.
3434         (char_id_table_equal): Renamed from `char_code_table_equal'.
3435         (char_id_table_hash): Renamed from `char_code_table_hash'.
3436         (make_char_id_table): Renamed from `make_char_code_table'.
3437         (copy_char_id_table): Renamed from `copy_char_code_table'.
3438         (get_char_id_table): Renamed from `get_char_code_table'.
3439         (put_char_id_table): Renamed from `put_char_code_table'.
3440         (to_char_id): Renamed from `to_char_code'.
3441
3442         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3443         `Lisp_Char_Code_Table'.
3444         (char_id_table): Renamed from `char_code_table'.
3445         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3446         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3447         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3448         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3449         (get_char_id_table): Renamed from `get_char_code_table'.
3450
3451 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3452
3453         * lrecord.h (enum lrecord_type): Rename
3454         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3455
3456         * mule-charset.c (mark_byte_table): Renamed from
3457         `mark_char_byte_table'.
3458         (byte_table_equal): Renamed from `char_byte_table_equal'.
3459         (byte_table_hash): Renamed from `byte_table_hash'.
3460         (make_byte_table): Renamed from `make_byte_table'.
3461         (copy_byte_table): Renamed from `copy_char_byte_table'.
3462
3463         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3464         `Lisp_Char_Byte_Table'.
3465         (byte_table): Renamed from `char_byte_table'.
3466         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3467         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3468         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3469         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3470
3471 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3472
3473         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3474         (dfc_convert_to_internal_format): Likewise.
3475         
3476         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3477         * text-coding.c (Fcoding_system_alias_p): New function.
3478         * text-coding.c (Fcoding_system_aliasee): New function.
3479         * text-coding.c (append_suffix_to_symbol): New function.
3480         * text-coding.c (dangling_coding_system_alias_p): New function.
3481         * text-coding.c (Ffind_coding_system):
3482         * text-coding.c (Fcopy_coding_system):
3483         * text-coding.c (encode_coding_no_conversion):
3484         * text-coding.c (syms_of_file_coding):
3485         * text-coding.c (vars_of_file_coding):
3486         Rewrite coding system alias code.
3487         Allow nested aliases, like symbolic links.
3488         Allow redefinition of coding system aliases.
3489         Prevent existence of dangling coding system aliases.
3490         Eliminate convert_to_external_format.
3491         Eliminate convert_to_internal_format.
3492         
3493         * text-coding.c: Change enum eol_type to eol_type_t.
3494
3495 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3496
3497         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3498         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3499
3500         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3501         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3502
3503 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3504
3505         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3506         `ideograph-daikanwa'.
3507
3508         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3509         (Vcharset_ucs_bmp): Likewise.
3510         (Vcharset_mojikyo): Add new extern variable definition.
3511         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3512         (Vcharset_latin_iso8859_3): Likewise.
3513         (Vcharset_latin_iso8859_4): Likewise.
3514         (Vcharset_latin_iso8859_9): Likewise.
3515         (Vcharset_latin_viscii_lower): Likewise.
3516         (Vcharset_latin_viscii_upper): Likewise.
3517         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3518         `mojikyo' code-point is used to decode.
3519         (encode_char_2): New function [to convert `mojikyo' code-point to
3520         Mojikyo font encoding].
3521         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3522         (breakup_char_1): Likewise.
3523         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3524
3525 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3526
3527         * text-coding.c (Fmake_coding_system): Add document about
3528         `disable-composition' property.
3529
3530 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3531
3532         * text-coding.c (Qdisable_composition): New variable; delete
3533         `Qcomposite'.
3534         (Fmake_coding_system): Add new property `disable-composite';
3535         delete property `composite'.
3536         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3537         instead of `!CODING_SYSTEM_COMPOSITE'.
3538         (syms_of_file_coding): Add new symbol `disable-composition';
3539         delete symbol `composite'.
3540
3541         * file-coding.h (struct Lisp_Coding_System): Add
3542         `disable_composition'; delete `enable_composition'.
3543         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3544         `CODING_SYSTEM_COMPOSITE'.
3545         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3546         `XCODING_SYSTEM_COMPOSITE'.
3547
3548 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3549
3550         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3551         to 0.15.
3552
3553 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3554
3555         * text-coding.c (Qcomposite): New variable.
3556         (Fmake_coding_system): Add new property `composite'.
3557         (struct decoding_stream): Add `combined_char_count',
3558         `combined_chars' and `combining_table' in UTF-2000.
3559         (COMPOSE_FLUSH_CHARS): New macro.
3560         (COMPOSE_ADD_CHAR): New macro.
3561         (reset_decoding_stream): Reset `str->combined_char_count' and
3562         `str->combining_table' in UTF-2000.
3563         (decode_coding_iso2022): Modify for character-decomposition.
3564         (syms_of_file_coding): Add new symbol `composite'.
3565
3566 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3567
3568         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3569         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3570         of `Vcharacter_composition_table' if `->decomposition' property
3571         has only 1 element.
3572         (Qlatin_tcvn5712): New variable.
3573         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3574         (complex_vars_of_mule_charset): Add new coded-charset
3575         `latin-tcvn5712'.
3576
3577         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3578
3579 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3580
3581         * file-coding.h (struct Lisp_Coding_System): Add
3582         `enable_composition'.
3583         (CODING_SYSTEM_COMPOSITE): New macro.
3584         (XCODING_SYSTEM_COMPOSITE): New macro.
3585
3586 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3587
3588         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3589
3590 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3591
3592         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3593         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3594
3595 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3596
3597         * mule-charset.c (Vcharset_mojikyo): New variable.
3598         (Fdefine_char): Don't use coded-charset which does not have
3599         non-builtin character range to allocate character-id.
3600         (Qmojikyo): New variable.
3601         (syms_of_mule_charset): Add new symbol `mojikyo'.
3602         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3603
3604         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3605         (LEADING_BYTE_MOJIKYO): New macro.
3606         (MIN_CHAR_MOJIKYO): New macro.
3607         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3608         (MAX_CHAR_MOJIKYO): New macro.
3609
3610 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3611
3612         * mule-charset.c (remove_char_attribute): Fixed.
3613
3614 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3615
3616         * mule-charset.c (remove_char_attribute): New function.
3617         (Fremove_char_attribute): New function.
3618         (encode_builtin_char_1): Comment out builtin-support for
3619         greek-iso8859-7 and cyrillic-iso8859-5.
3620         (Fdecode_char): Check `code' is an integer.
3621         (syms_of_mule_charset): Add `remove-char-attribute'.
3622         (MIN_CHAR_GREEK): Deleted.
3623         (MAX_CHAR_GREEK): Likewise.
3624         (MIN_CHAR_CYRILLIC): Likewise.
3625         (MAX_CHAR_CYRILLIC): Likewise.
3626         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3627         MAX_CHAR_GREEK for `greek-iso8859-7'.
3628
3629         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3630         (MAX_CHAR_GREEK): Likewise.
3631         (MIN_CHAR_CYRILLIC): Likewise.
3632         (MAX_CHAR_CYRILLIC): Likewise.
3633
3634 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3635
3636         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3637         format is used without `ucs' property.
3638         (Fdecode_char): Fix problem with GR representation.
3639         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3640         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3641
3642 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3643
3644         * mule-charset.c (make_builtin_char): New function.
3645         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3646         (Fset_charset_mapping_table): Modify for new representation of
3647         code-point.
3648         (Fdecode_char): New function.
3649         (syms_of_mule_charset): Add new builtin function `decode-char' in
3650         UTF-2000.
3651
3652         * char-ucs.h (make_builtin_char): New prototype.
3653         (DECODE_CHAR): New inline function.
3654         (MAKE_CHAR): Use `DECODE_CHAR'.
3655
3656 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3657
3658         * text-coding.c (parse_charset_conversion_specs): Use
3659         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3660         `XCHARSET_TYPE'.
3661         (iso2022_designate): Likewise.
3662
3663         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3664         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3665
3666         * mule-charset.c (Vcharset_ucs): New variable.
3667         (print_charset): Change design; use `CHARSET_CHARS' and
3668         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3669         (make_charset): Change signature to specify `chars' and
3670         `dimension' instead of `type'.
3671         (range_charset_code_point): Modify for 256^n-set.
3672         (encode_builtin_char_1): Encode as `ucs' in default.
3673         (Fmake_charset): Modify for `make_charset'.
3674         (Fmake_reverse_direction_charset): Likewise.
3675         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3676         UTF-2000.
3677         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3678         for `make_charset'.
3679
3680         * char-ucs.h (Vcharset_ucs): New variable.
3681         (LEADING_BYTE_UCS): New macro.
3682         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3683         and `chars' to `unsigned short' from `unsigned int'.
3684         (CHARSET_TYPE): Deleted.
3685         (XCHARSET_TYPE): Deleted.
3686
3687 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3688
3689         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3690
3691         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3692         (ENCODE_CHAR): New macro.
3693
3694 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3695
3696         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3697         to 0.14 (Kawachi-Katakami).
3698
3699 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3700
3701         * text-coding.c (char_encode_shift_jis): Modify for
3702         `charset_code_point'.
3703         (char_encode_iso2022): Likewise.
3704
3705         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3706         (integer) instead of list of <Lisp_Object>s (integers) as the
3707         format of code-point of a coded-charset.
3708         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3709         (encode_builtin_char_1): New function; delete
3710         `split_builtin_char'.
3711         (charset_code_point): Return <int> instead of <Lisp_Object>.
3712         (Fsplit_char): Don't use `SPLIT_CHAR'.
3713
3714         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3715         prototype for `split_builtin_char'.
3716         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3717         (charset_code_point): Likewise.
3718         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3719         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3720
3721 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3722
3723         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3724         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3725
3726 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3727
3728         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3729
3730         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3731         (MAX_CHAR_OBS_94x94): Deleted.
3732
3733 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3734
3735         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3736
3737         * char-ucs.h (MAX_CHAR_BMP): New macro.
3738
3739 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3740
3741         * text-coding.c: Sync with r21-2-24.
3742
3743 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3744
3745         * file-coding.c: Modify for UTF-2000.
3746
3747 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3748
3749         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3750         to 0.13 (Takaida).
3751
3752 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3753
3754         * mule-charset.c (split_builtin_char): Delete builtin support for
3755         `katakana-jisx0201'.
3756         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3757         BMP area in builtin representation.
3758
3759         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3760         `Vcharset_katakana_jisx0201'.
3761
3762 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3763
3764         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3765         (Qisolated): New variable.
3766         (Qinitial): New variable.
3767         (Qmedial): New variable.
3768         (Qfinal): New variable.
3769         (Qvertical): New variable.
3770         (Qsmall): New variable.
3771         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3772         `Qvertical' and `Qsmall'.
3773         (Qmojikyo_pj_[1 .. 21]): New variable.
3774         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3775         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3776         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3777         .. 21]'.
3778
3779 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3780
3781         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3782         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3783         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3784
3785 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3786
3787         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3788         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3789         BMP.
3790         (Qjapanese_jisx0208_1990): New variable.
3791         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3792         (complex_vars_of_mule_charset): Add new coded-charset
3793         `japanese-jisx0208-1990'.
3794
3795         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3796         (MIN_CHAR_JIS_X0208_1990): New macro.
3797         (MAX_CHAR_JIS_X0208_1990): New macro.
3798
3799 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3800
3801         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3802         coded-charset is not found.
3803
3804 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3805
3806         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3807         (Fdefine_char): Use `Fmake_char'.
3808
3809 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3810
3811         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3812         (Vcharset_hiragana_jisx0208): Deleted.
3813         (Vcharset_katakana_jisx0208): Deleted.
3814         (Qideograph_daikanwa): New variable.
3815         (Qhiragana_jisx0208): Deleted.
3816         (Qkatakana_jisx0208): Deleted.
3817         (split_builtin_char): Split `ideograph-daikanwa'.
3818         (Fsplit_char): New implementation for UTF-2000.
3819         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3820         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3821         (complex_vars_of_mule_charset): Add new coded-charset
3822         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3823         `katakana-jisx0208'.
3824
3825         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3826         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3827         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3828         (MIN_CHAR_DAIKANWA): New macro.
3829         (MAX_CHAR_DAIKANWA): New macro.
3830
3831 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3832
3833         * data.c (Fstring_to_number): Don't recognize floating point if
3834         base is not 10.
3835
3836 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3837
3838         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3839
3840 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3841
3842         * mule-charset.c (Qsquare): New variable.
3843         (to_char_code): Add `Qsquare'.
3844         (syms_of_mule_charset): Add new symbol `square'.
3845
3846 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3847
3848         * mule-charset.c (Qcircle): New variable.
3849         (to_char_code): Add `Qcircle'.
3850         (syms_of_mule_charset): Add new symbol `circle'.
3851
3852 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3853
3854         * mule-charset.c (Qfont): New variable.
3855         (to_char_code): Add `Qfont'.
3856         (syms_of_mule_charset): Add new symbol `font'.
3857
3858 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3859
3860         * mule-charset.c (Qsub): New variable.
3861         (to_char_code): Add `Qsub'.
3862         (syms_of_mule_charset): Add new symbol `sub'.
3863
3864 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3865
3866         * mule-charset.c (Fput_char_attribute): Convert each element of
3867         VALUE to GL position if ATTRIBUTE is a GR-set,
3868
3869 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3870
3871         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3872         coded-charset is a GR-set.
3873
3874 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3875
3876         * mule-charset.c (Fput_char_attribute): Check each element of
3877         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3878
3879 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3880
3881         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3882         UTF-2000.
3883         (Qethiopic_ucs): New variable in UTF-2000.
3884         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3885         (complex_vars_of_mule_charset): Add new coded-charset
3886         `ethiopic-ucs' in UTF-2000.
3887
3888         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3889         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3890         9)'.
3891         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3892         10)'.
3893         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3894
3895 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3896
3897         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3898         `ascii'.
3899
3900 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3901
3902         * mule-charset.c (Vcharacter_variant_table): New variable.
3903         (Q_ucs): New variable.
3904         (Fchar_variants): New function.
3905         (Fput_char_attribute): Register `->ucs' value to
3906         `Vcharacter_variant_table'.
3907         (syms_of_mule_charset): Add new function `char-variants' and new
3908         symbol `->ucs'.
3909         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3910
3911 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3912
3913         * mule-charset.c (get_char_code_table): Allow negative character
3914         code.
3915         (put_char_code_table): Likewise.
3916         (Vcharacter_composition_table): New variable.
3917         (Q_decomposition): New variable.
3918         (Qwide): New variable.
3919         (Qnarrow): New variable.
3920         (Qcompat): New variable.
3921         (QnoBreak): New variable.
3922         (Qsuper): New variable.
3923         (Qfraction): New variable.
3924         (to_char_code): New function.
3925         (Fget_composite_char): New function.
3926         (Fput_char_attribute): Register `->decomposition' value to
3927         `Vcharacter_composition_table'.
3928         (syms_of_mule_charset): Add new function `get-composite-char', new
3929         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3930         `super' and `fraction'.
3931         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3932
3933 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3934
3935         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3936         character; copy the return value.
3937
3938 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3939
3940         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3941
3942         * mule-charset.c (range_charset_code_point): Must use make_int.
3943         (split_builtin_char): New function.
3944
3945 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3946
3947         * mule-charset.c (char_byte_table): Change name from
3948         "char-code-table" to "char-byte-table".
3949         (mark_char_code_table): New function.
3950         (char_code_table_equal): New function.
3951         (char_code_table_hash): New function.
3952         (char_code_table_description): New constant.
3953         (char_code_table): New type.
3954         (make_char_code_table): New function.
3955         (copy_char_code_table): New function.
3956         (get_char_code_table): Modify for `char_code_table' type.
3957         (put_char_code_table): Likewise.
3958         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3959         (Kashiwara).
3960
3961         * char-ucs.h (char_code_table): New type.
3962         (XCHAR_CODE_TABLE): New macro.
3963         (XSETCHAR_CODE_TABLE): New macro.
3964         (CHAR_CODE_TABLE_P): New macro.
3965         (GC_CHAR_CODE_TABLE_P): New macro.
3966         (struct Lisp_Char_Code_Table): New structure.
3967
3968 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3969
3970         * mule-charset.c (Fmake_charset): Setup byte_offset for
3971         {94|96}^n-set.
3972
3973 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3974
3975         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3976         character.
3977
3978 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3979
3980         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3981         is found.
3982
3983 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3984
3985         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3986         charset, it is regarded as a charset.
3987         (put_char_attribute): New function in UTF-2000.
3988         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3989         charset, mapping-table of the charset is modified.
3990         (Fdefine_char): New function in UTF-2000.
3991         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3992         `Fput_char_attribute'.
3993         (syms_of_mule_charset): Add new function `define-char' and new
3994         symbol `ucs' in UTF-2000.
3995         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3996
3997 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3998
3999         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4000         non-UTF-2000 configuration.
4001
4002 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4003
4004         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4005         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4006
4007         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4008         deleted.
4009         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4010         (Fset_charset_mapping_table): Likewise.
4011
4012         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4013         (CHARSET_ENCODING_TABLE): Delete.
4014         (XCHARSET_ENCODING_TABLE): Delete.
4015         (charset_code_point): New interface.
4016
4017 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4018
4019         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4020         instead of `charset_get_byte1' and `charset_get_byte2'.
4021
4022         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4023         (charset_get_byte2): Deleted.
4024
4025 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4026
4027         * char-ucs.h (SPLIT_CHAR): New inline function.
4028         (breakup_char_1): Use `SPLIT_CHAR'.
4029
4030         * mule-charset.c (range_charset_code_point): New function.
4031         (charset_code_point): New function.
4032
4033         * char-ucs.h (range_charset_code_point): New interface.
4034         (breakup_char_1): Use `range_charset_code_point'.
4035
4036 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4037
4038         * mule-charset.c (Fmake_charset): Delete unused local variable
4039         `code_offset'.
4040
4041         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4042         (breakup_char_1): Find a charset and code-point in
4043         `Vcharacter_attribute_table'.
4044
4045 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4046
4047         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4048         to 0.10 (Yao).
4049
4050 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4051
4052         * mule-charset.c (Vcharacter_attribute_table): New variable.
4053         (Fchar_attribute_alist): New function.
4054         (Fget_char_attribute): New function.
4055         (Fput_char_attribute): New function.
4056         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4057         too.
4058         (syms_of_mule_charset): Add new function `char-attribute-alist',
4059         `get-char-attribute' and `put-char-attribute'.
4060         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4061
4062 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4063
4064         * mule-charset.c (Fmake_charset): Just use
4065         `get_unallocated_leading_byte'.
4066
4067         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4068         sets; don't use final-byte based number for private sets.
4069
4070 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4071
4072         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4073         integer.
4074
4075 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4076
4077         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4078         to 0.9.
4079
4080 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4081
4082         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4083         of `CHAR_LEADING_BYTE' in UTF-2000.
4084
4085         * insdel.c (find_charsets_in_bufbyte_string): Use
4086         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4087         (find_charsets_in_emchar_string): Likewise.
4088
4089         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4090         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4091
4092         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4093         (CHAR_CHARSET_ID): New macro.
4094
4095 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4096
4097         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4098         charset-id - MIN_LEADING_BYTE.
4099         (put_char_table): Likewise.
4100
4101 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4102
4103         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4104         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4105         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4106         (CHARSET_ID_OFFSET): New macro.
4107         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4108         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4109         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4110         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4111         4).
4112         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4113         5).
4114         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4115         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4116         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4117         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4118         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4119
4120 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4121
4122         * mule-charset.c (next_allocated_leading_byte): New variable in
4123         UTF-2000.
4124         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4125         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4126         (get_unallocated_leading_byte): Simply use
4127         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4128         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4129         UTF-2000.
4130
4131         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4132         (MAX_LEADING_BYTE_PRIVATE): New macro.
4133         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4134         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4135
4136 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4137
4138         * mule-charset.c (Fmake_charset): Allocate final-byte based
4139         charset-id for 94-set, 96-set and 94x94-set.
4140
4141 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4142
4143         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4144         ambiguous `else'.
4145         (Fmake_charset): Likewise.
4146         (complex_vars_of_mule_charset): Modify the font registry of
4147         `ucs-bmp' not to match `Ethiopic-Unicode'.
4148
4149 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4150
4151         * mule-charset.c (complex_vars_of_mule_charset): Add font
4152         registory of `ucs-bmp'.
4153
4154 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4155
4156         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4157         coded-charsets in `default-coded-charset-priority-list' when
4158         breaking up a character.
4159
4160         * mule-charset.c (Vcharset_latin_viscii): New variable.
4161         (Qlatin_viscii): New variable.
4162         (make_charset): Don't use `decoding_table'.
4163         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4164         byte_offset.
4165         (Fset_charset_mapping_table): New implementation.
4166         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4167         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4168         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4169         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4170         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4171         charset `latin_viscii'.
4172
4173         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4174         (CHARSET_TYPE_94X94): Change to 1 from 2.
4175         (CHARSET_TYPE_96): Change to 2 from 1.
4176         (CHARSET_TYPE_128): New macro.
4177         (CHARSET_TYPE_128X128): Change to 5 from 4.
4178         (CHARSET_TYPE_256): New macro.
4179         (CHARSET_TYPE_256X256): Change to 7 from 5.
4180         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4181
4182 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4183
4184         * text-coding.c (char_encode_shift_jis): Refer
4185         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4186         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4187
4188         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4189         (char_byte_table_equal): New function in UTF-2000.
4190         (char_byte_table_hash): New function in UTF-2000.
4191         (char_byte_table_description): New constant in UTF-2000.
4192         (char_byte_table): New type in UTF-2000.
4193         (make_char_byte_table): New function in UTF-2000.
4194         (copy_char_byte_table): New function in UTF-2000.
4195         (make_char_code_table): New macro in UTF-2000.
4196         (get_char_code_table): New function in UTF-2000.
4197         (put_char_code_table): New function in UTF-2000.
4198         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4199         (charset_description): Add setting in UTF-2000.
4200         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4201         `CHARSET_TO_BYTE1_TABLE(cs)'.
4202         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4203         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4204         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4205         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4206         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4207         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4208         `CHARSET_TO_BYTE2_TABLE(cs)'.
4209
4210         * char-ucs.h (char_byte_table): New type.
4211         (XCHAR_BYTE_TABLE): New macro.
4212         (XSETCHAR_BYTE_TABLE): New macro.
4213         (CHAR_BYTE_TABLE_P): New macro.
4214         (GC_CHAR_BYTE_TABLE_P): New macro.
4215         (struct Lisp_Char_Byte_Table): New structure.
4216         (get_char_code_table): New interface.
4217         (Emchar_to_byte_table): Deleted.
4218         (get_byte_from_character_table): Deleted.
4219         (struct Lisp_Charset): Add `encoding_table'; delete
4220         `to_byte1_table' and `to_byte2_table'.
4221         (CHARSET_ENCODING_TABLE): New macro.
4222         (CHARSET_TO_BYTE1_TABLE): Deleted.
4223         (CHARSET_TO_BYTE2_TABLE): Deleted.
4224         (XCHARSET_ENCODING_TABLE): New macro.
4225         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4226         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4227
4228 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4229
4230         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4231         `vietnamese-viscii-*'.
4232
4233 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4234
4235         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4236         (Qvietnamese_viscii_upper): New variable.
4237         (Fdefine_charset_alias): New function.
4238         (syms_of_mule_charset): Add new function `define-charset-alias'.
4239         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4240         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4241         `latin-viscii-*'.
4242
4243 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4244
4245         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4246         (MAX_CHAR_OBS_94x94): New macro.
4247         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4248         for 94x94 sets.
4249
4250         * mule-charset.c (put_byte_from_character_table): Change unit size
4251         from 128 to 256.
4252         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4253         not defined.
4254         (Fmake_reverse_direction_charset): Modify dummy argument of
4255         `make_charset' for non-UTF-2000 environment.
4256
4257 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4258
4259         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4260
4261         * mule-charset.c (destroy_byte_from_character_table): New macro.
4262         (latin_jisx0201_to_ucs): Deleted.
4263         (latin_iso8859_2_to_ucs): Deleted.
4264         (latin_iso8859_3_to_ucs): Deleted.
4265         (latin_iso8859_4_to_ucs): Deleted.
4266         (latin_iso8859_9_to_ucs): Deleted.
4267         (latin_viscii_lower_to_ucs): Deleted.
4268         (latin_viscii_upper_to_ucs): Deleted.
4269         (mark_charset): Mark `cs->decoding_table'.
4270         (Fcharset_mapping_table): Fix DOC-string.
4271         (Fset_charset_mapping_table): New function.
4272         (syms_of_mule_charset): Add nwe function
4273         `set-charset-mapping-table'.
4274         (complex_vars_of_mule_charset): Don't setup and use
4275         `latin_*_to_ucs'.
4276
4277 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4278
4279         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4280         charset.
4281
4282 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4283
4284         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4285         (Vcharset_katakana_jisx0208): New variable.
4286         (Qhiragana_jisx0208): New variable.
4287         (Qkatakana_jisx0208): New variable.
4288         (make_charset): Add new argument `byte_offset'.
4289         (charset_get_byte1): Modify for new coded-charset definition; use
4290         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4291         `XCHARSET_BYTE_OFFSET'.
4292         (Fmake_charset): Modify for `make_charset'.
4293         (Fmake_reverse_direction_charset): Likewise.
4294         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4295         `katakana-jisx0208'.
4296         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4297         `.'  in font registry of charset `katakana-jisx0201',
4298         `latin-jisx0201', `vietnamese-viscii-lower' and
4299         `vietnamese-viscii-upper'; modify DOC-string of charset
4300         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4301         registry of charset `japanese-jisx0208' not to use font for JIS
4302         X0208:1990; add new charset `hiragana-jisx0208' and
4303         `katakana-jisx0208'.
4304
4305         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4306         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4307         (struct Lisp_Charset): Add `byte_offset'.
4308         (CHARSET_BYTE_OFFSET): New macro.
4309         (XCHARSET_UCS_MIN): New macro.
4310         (XCHARSET_UCS_MAX): New macro.
4311         (XCHARSET_CODE_OFFSET): New macro.
4312         (XCHARSET_BYTE_OFFSET): New macro.
4313         (MIN_CHAR_HIRAGANA): New macro.
4314         (MAX_CHAR_HIRAGANA): New macro.
4315         (MIN_CHAR_KATAKANA): New macro.
4316         (MAX_CHAR_KATAKANA): New macro.
4317         (MAKE_CHAR): Modify for new coded-charset definition; use
4318         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4319         `XCHARSET_BYTE_OFFSET'.
4320
4321 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4322
4323         * mule-charset.c (CHAR96): Deleted.
4324         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4325         <Lisp_Object>.
4326         (latin_iso8859_2_to_ucs): Likewise.
4327         (latin_iso8859_3_to_ucs): Likewise.
4328         (latin_iso8859_4_to_ucs): Likewise.
4329         (latin_iso8859_9_to_ucs): Likewise.
4330         (latin_viscii_lower_to_ucs): Likewise.
4331         (latin_viscii_upper_to_ucs): Likewise.
4332         (latin_tcvn5712_to_ucs): Commented out.
4333         (make_charset): Change type of argument `decoding_table' from
4334         <Emchar*> to <Lisp_Object> [vector of characters].
4335         (Fmake_charset): Modify for `make_charset'.
4336         (Fmake_reverse_direction_charset): Likewise.
4337         (Fcharset_mapping_table): New function in UTF-2000.
4338         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4339         UTF-2000.
4340         (complex_vars_of_mule_charset): Modify for type change of
4341         `*_to_ucs'; modify for `make_charset'.
4342
4343         * char-ucs.h (struct Lisp_Charset): Change type of
4344         `decoding_table' from <Emchar*> to <Lisp_Object>.
4345         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4346
4347 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4348
4349         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4350         error with non-UTF-2000-Mule.
4351
4352 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4353
4354         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4355         in lisp again].
4356         (Vcharset_chinese_cns11643_4): Likewise.
4357         (Vcharset_chinese_cns11643_5): Likewise.
4358         (Vcharset_chinese_cns11643_6): Likewise.
4359         (Vcharset_chinese_cns11643_7): Likewise.
4360         (Qchinese_cns11643_3): Likewise.
4361         (Qchinese_cns11643_4): Likewise.
4362         (Qchinese_cns11643_5): Likewise.
4363         (Qchinese_cns11643_6): Likewise.
4364         (Qchinese_cns11643_7): Likewise.
4365         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4366         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4367         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4368         (complex_vars_of_mule_charset): Likewise.
4369
4370 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4371
4372         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4373         96-set.
4374         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4375         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4376
4377 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4378
4379         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4380         0xFF60.
4381         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4382         (breakup_char_1): Likewise.
4383
4384         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4385         one of them includes the specified character.
4386
4387 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4388
4389         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4390
4391 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4392
4393         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4394
4395 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4396
4397         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4398         definition for non-UTF-2000 Mule.
4399         (latin_iso8859_3_to_ucs): Likewise.
4400         (latin_iso8859_4_to_ucs): Likewise.
4401         (latin_iso8859_9_to_ucs): Likewise.
4402         (latin_jisx0201_to_ucs): Likewise.
4403         (MIN_CHAR_THAI): Likewise.
4404         (MAX_CHAR_THAI): Likewise.
4405         (MIN_CHAR_GREEK): Likewise.
4406         (MAX_CHAR_GREEK): Likewise.
4407         (MIN_CHAR_HEBREW): Likewise.
4408         (MAX_CHAR_HEBREW): Likewise.
4409         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4410         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4411         (MIN_CHAR_CYRILLIC): Likewise.
4412         (MAX_CHAR_CYRILLIC): Likewise.
4413
4414 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4415
4416         * char-ucs.h (breakup_char_1): Use
4417         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4418         thai-tis620 and katakana-jisx0201 area.
4419
4420 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4421
4422         * char-ucs.h (breakup_char_1): Use
4423         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4424         area.
4425
4426         * text-coding.c (reset_encoding_stream): Fixed.
4427         (char_encode_ucs4): Delete `& 255'.
4428
4429         * char-ucs.h (breakup_char_1): Use
4430         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4431
4432 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4433
4434         * file-coding.c (Fmake_coding_system): Don't set up
4435         `codesys->fixed.size'.
4436         (encode_coding_no_conversion): Don't refer
4437         `str->codesys->fixed.size'.
4438
4439 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4440
4441         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4442         (latin_a_char_to_byte1): Deleted.
4443         (latin_a_char_to_byte2): Deleted.
4444
4445 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4446
4447         * mule-charset.c (make_charset): Add new argument `ucs_min',
4448         `ucs_max' and `code_offset'.
4449         (charset_get_byte1): New implementation [delete specific charset
4450         depended implementations].
4451         (Fmake_charset): Modify for `make_charset'.
4452         (Fmake_reverse_direction_charset): Likewise.
4453         (complex_vars_of_mule_charset): Likewise.
4454
4455         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4456         `code_offset'.
4457         (CHARSET_UCS_MIN): New macro.
4458         (CHARSET_UCS_MAX): New macro.
4459         (CHARSET_CODE_OFFSET): New macro.
4460         (MAKE_CHAR): Delete charset depended definitions [except
4461         katakana-jisx0201].
4462
4463 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4464
4465         * char-ucs.h (breakup_char_1): Use
4466         `Vdefault_coded_charset_priority_list' for C0-Controls,
4467         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4468
4469 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4470
4471         * char-ucs.h (charset_get_byte1): New function.
4472         (XCHARSET_GET_BYTE1): Deleted.
4473         (charset_get_byte2): New function.
4474         (XCHARSET_GET_BYTE2): Deleted.
4475         (Vdefault_coded_charset_priority_list): New external variable.
4476         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4477         `Vdefault_preferred_coded_charset_list'.
4478
4479         * mule-charset.c (charset_get_byte1): New function.
4480         (charset_get_byte2): New function.
4481         (Vdefault_coded_charset_priority_list): New variable.
4482         (vars_of_mule_charset): Add new variable
4483         `default-coded-charset-priority-list'.
4484
4485 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4486
4487         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4488         (XCHARSET_GET_BYTE2): New inline function.
4489         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4490         `XCHARSET_GET_BYTE2'.
4491
4492 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4493
4494         * mule-charset.c (make_charset): Initialize
4495         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4496         NULL if table is not defined.
4497
4498 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4499
4500         * text-coding.c (char_encode_shift_jis): Use
4501         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4502         `ucs_to_latin_jisx0201'.
4503
4504         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4505         (ucs_to_latin_iso8859_2): Deleted.
4506         (ucs_to_latin_iso8859_3): Deleted.
4507         (ucs_to_latin_iso8859_4): Deleted.
4508         (ucs_to_latin_iso8859_9): Deleted.
4509         (ucs_to_latin_viscii_lower): Deleted.
4510         (ucs_to_latin_viscii_upper): Deleted.
4511         (ucs_to_latin_tcvn5712): Deleted.
4512         (make_charset): Add new argument `decoding_table'; set up
4513         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4514         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4515         `decoding_table' is defined in UTF-2000.
4516         (Fmake_charset): Modify for `make_charset'.
4517         (Fmake_reverse_direction_charset): Likewise.
4518         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4519         and `GENERATE_96_SET'.
4520
4521         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4522         (ucs_to_latin_jisx0201): Deleted.
4523         (latin_iso8859_2_to_ucs): Deleted.
4524         (ucs_to_latin_iso8859_2): Deleted.
4525         (latin_iso8859_3_to_ucs): Deleted.
4526         (ucs_to_latin_iso8859_3): Deleted.
4527         (latin_iso8859_4_to_ucs): Deleted.
4528         (ucs_to_latin_iso8859_4): Deleted.
4529         (latin_iso8859_9_to_ucs): Deleted.
4530         (ucs_to_latin_iso8859_9): Deleted.
4531         (latin_viscii_lower_to_ucs): Deleted.
4532         (ucs_to_latin_viscii_lower): Deleted.
4533         (latin_viscii_upper_to_ucs): Deleted.
4534         (ucs_to_latin_viscii_upper): Deleted.
4535         (struct Lisp_Charset): Renamed `encoding_table' to
4536         `to_byte1_table'; add `to_byte2_table'.
4537         (CHARSET_DECODING_TABLE): New macro.
4538         (CHARSET_TO_BYTE1_TABLE): New macro.
4539         (CHARSET_TO_BYTE2_TABLE): New macro.
4540         (XCHARSET_DECODING_TABLE): New macro.
4541         (XCHARSET_TO_BYTE1_TABLE): New macro.
4542         (XCHARSET_TO_BYTE2_TABLE): New macro.
4543         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4544         tables.
4545         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4546         don't use `ucs_to_*' tables.
4547
4548 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4549
4550         * text-coding.c (Fmake_coding_system): Don't set up
4551         `codesys->fixed.size'.
4552         (encode_coding_no_conversion): Use `if' instead of `switch'.
4553
4554         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4555
4556 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4557
4558         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4559         (Fmake_charset): Modify for `make_charset'.
4560         (Fmake_reverse_direction_charset): Likewise.
4561         (complex_vars_of_mule_charset): Likewise.
4562
4563 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4564
4565         * text-coding.c (char_encode_shift_jis): Use table
4566         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4567
4568 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4569
4570         * text-coding.c (text_encode_generic): Use `if' instead of
4571         `switch'.
4572         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4573         decode JIS-Latin.
4574
4575 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4576
4577         * text-coding.c (encode_coding_sjis): Deleted.
4578         (char_encode_shift_jis): New function.
4579         (char_finish_shift_jis): New function.
4580         (reset_encoding_stream): Set up `encode_char' and `finish' for
4581         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4582         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4583         (char_encode_utf8): Treat `eol_type'.
4584
4585 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4586
4587         * file-coding.c (decode_coding_iso2022): Use
4588         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4589
4590 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4591
4592         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4593         to 0.7 (Hirano).
4594
4595 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4596
4597         * char-lb.h (CHAR_COLUMNS): New macro.
4598
4599 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4600
4601         * text-coding.c (char_encode_ucs4): New function.
4602         (char_finish_ucs4): New function.
4603         (encode_coding_ucs4): Deleted.
4604         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4605         (text_encode_generic): Delete local variable `charset' and `half'.
4606         (ucs_to_mule_table): Deleted.
4607         (mule_to_ucs_table): Deleted.
4608         (Fset_ucs_char): Deleted.
4609         (ucs_to_char): Deleted.
4610         (Fucs_char): Deleted.
4611         (Fset_char_ucs): Deleted.
4612         (Fchar_ucs): Deleted.
4613         (decode_ucs4): Deleted.
4614         (mule_char_to_ucs4): Deleted.
4615         (encode_ucs4): Deleted.
4616         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4617         (decode_coding_utf8): Likewise.
4618         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4619         (char_encode_iso2022): Fixed.
4620         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4621         `Fset_char_ucs' and `Fchar_ucs'.
4622         (complex_vars_of_file_coding): Don't initialize
4623         `ucs_to_mule_table'.
4624
4625         * objects-tty.c (tty_initialize_font_instance): Don't use
4626         `XCHARSET_COLUMNS'.
4627
4628         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4629         UTF-2000.
4630
4631         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4632         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4633
4634         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4635         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4636         (emchar_string_displayed_columns): Likewise.
4637
4638         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4639         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4640         (string_column_at_point): Likewise.
4641         (Fmove_to_column): Likewise.
4642
4643         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4644         `encoding_table' and `decoding_table'.
4645         (CHARSET_REP_BYTES): Deleted.
4646         (XCHARSET_REP_BYTES): Deleted.
4647         (XCHARSET_COLUMNS): Deleted.
4648         (CHAR_COLUMNS): New macro.
4649         (lookup_composite_char): Deleted unconditionally.
4650         (composite_char_string): Likewise.
4651
4652 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4653
4654         * char-ucs.h (Emchar_to_byte_table): New type.
4655         (get_byte_from_character_table): New function interface.
4656         (Vcharset_latin_jisx0201): New variable.
4657         (latin_jisx0201_to_ucs): New variable.
4658         (ucs_to_latin_jisx0201): New variable.
4659         (Vcharset_latin_iso8859_2): New variable.
4660         (latin_iso8859_2_to_ucs): New variable.
4661         (ucs_to_latin_iso8859_2): New variable.
4662         (Vcharset_latin_iso8859_3): New variable.
4663         (latin_iso8859_3_to_ucs): New variable.
4664         (ucs_to_latin_iso8859_3): New variable.
4665         (Vcharset_latin_iso8859_4): New variable.
4666         (latin_iso8859_4_to_ucs): New variable.
4667         (ucs_to_latin_iso8859_4): New variable.
4668         (Vcharset_latin_iso8859_9): New variable.
4669         (latin_iso8859_9_to_ucs): New variable.
4670         (ucs_to_latin_iso8859_9): New variable.
4671         (Vcharset_latin_viscii_lower): New variable.
4672         (latin_viscii_lower_to_ucs): New variable.
4673         (ucs_to_latin_viscii_lower): New variable.
4674         (Vcharset_latin_viscii_upper): New variable.
4675         (latin_viscii_upper_to_ucs): New variable.
4676         (ucs_to_latin_viscii_upper): New variable.
4677         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4678         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4679         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4680         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4681         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4682         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4683         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4684         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4685         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4686         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4687
4688         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4689         (Vcharset_latin_viscii_upper): New variable.
4690         (make_byte_from_character_table): New function.
4691         (put_byte_from_character_table): New function.
4692         (get_byte_from_character_table): New function.
4693         (CHAR96): New macro.
4694         (ucs_to_latin_jisx0201): New variable.
4695         (latin_jisx0201_to_ucs): New variable.
4696         (ucs_to_latin_iso8859_2): New variable.
4697         (latin_iso8859_2_to_ucs): New variable.
4698         (ucs_to_latin_iso8859_3): New variable.
4699         (latin_iso8859_3_to_ucs): New variable.
4700         (ucs_to_latin_iso8859_4): New variable.
4701         (latin_iso8859_4_to_ucs): New variable.
4702         (ucs_to_latin_iso8859_9): New variable.
4703         (latin_iso8859_9_to_ucs): New variable.
4704         (ucs_to_latin_viscii_lower): New variable.
4705         (latin_viscii_lower_to_ucs): New variable.
4706         (ucs_to_latin_viscii_upper): New variable.
4707         (latin_viscii_upper_to_ucs): New variable.
4708         (ucs_to_latin_tcvn5712): New variable.
4709         (latin_tcvn5712_to_ucs): New variable.
4710         (Qlatin_viscii_lower): New variable.
4711         (Qlatin_viscii_upper): New variable.
4712         (syms_of_mule_charset): Set up new symbol
4713         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4714         (complex_vars_of_mule_charset): Set up new charset
4715         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4716         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4717         `ucs_to_<CHARSET>' tables.
4718
4719 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4720
4721         * text-coding.c: New file.
4722
4723 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4724
4725         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4726
4727         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4728         (MAKE_CHAR): Modify for `ucs-bmp'.
4729         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4730         non-MULE characters of BMP.
4731
4732 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4733
4734         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4735         to 0.6.
4736
4737 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4738
4739         * lstream.h:
4740         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4741         - Include character.h for `CHAR_ASCII_P'.
4742
4743         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4744
4745         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4746         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4747
4748         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4749         (BYTE_C0_P): Likewise.
4750         (BYTE_C1_P): Likewise.
4751         (Lstream_get_emchar_1): Likewise.
4752         (Lstream_fput_emchar): Likewise.
4753         (Lstream_funget_emchar): Likewise.
4754         (copy_internal_to_external): Likewise.
4755         (copy_external_to_internal): Likewise.
4756
4757         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4758         (BYTE_C0_P): Likewise.
4759         (BYTE_C1_P): Likewise.
4760         (Lstream_get_emchar_1): Likewise.
4761         (Lstream_fput_emchar): Likewise.
4762         (Lstream_funget_emchar): Likewise.
4763         (copy_internal_to_external): Likewise.
4764         (copy_external_to_internal): Likewise.
4765
4766         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4767         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4768
4769         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4770         (BYTE_ASCII_P): Moved to mb-1byte.h.
4771
4772 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4773
4774         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4775
4776         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4777         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4778         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4779         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4780         (VALIDATE_CHARPTR_FORWARD): Likewise.
4781         (simple_charptr_emchar): Moved to mb-multibyte.h.
4782         (simple_set_charptr_emchar): Likewise.
4783         (simple_charptr_copy_char): Likewise.
4784         (non_ascii_charptr_emchar): Likewise.
4785         (non_ascii_set_charptr_emchar): Likewise.
4786         (non_ascii_charptr_copy_char): Likewise.
4787         (charptr_emchar): Moved to mb-*byte.h.
4788         (set_charptr_emchar): Likewise.
4789         (charptr_copy_char): Likewise.
4790
4791         * mb-1byte.h, mb-multibyte.h: New files.
4792
4793 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4794
4795         * mb-utf-8.h (MULTIBYTE): New macro.
4796         (MAX_EMCHAR_LEN): Moved from buffer.h.
4797         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4798
4799         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4800
4801         * mb-lb.h, multibyte.h: New files.
4802
4803         * char-1byte.h (Charset_ID): Moved from buffer.h.
4804         (MIN_LEADING_BYTE): Likewise.
4805         (LEADING_BYTE_ASCII): Likewise.
4806         (NUM_LEADING_BYTES): Likewise.
4807         (CHARSETP): Likewise.
4808         (CHARSET_BY_LEADING_BYTE): Likewise.
4809         (XCHARSET_LEADING_BYTE): Likewise.
4810         (XCHARSET_GRAPHIC): Likewise.
4811         (XCHARSET_COLUMNS): Likewise.
4812         (XCHARSET_DIMENSION): Likewise.
4813         (CHAR_CHARSET): Likewise.
4814         (CHAR_LEADING_BYTE): Likewise.
4815         (BREAKUP_CHAR): Likewise.
4816         (Vcharset_ascii): Likewise.
4817
4818         * buffer.h: Include multibyte.h unconditionally.
4819         (VALID_CHARPTR_P): Moved to multibyte.h.
4820         (ASSERT_VALID_CHARPTR): Likewise.
4821         (REAL_INC_CHARPTR): Likewise.
4822         (REAL_INC_CHARBYTIND): Likewise.
4823         (REAL_DEC_CHARPTR): Likewise.
4824         (INC_CHARPTR): Likewise.
4825         (INC_CHARBYTIND): Likewise.
4826         (DEC_CHARPTR): Likewise.
4827         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4828         (VALIDATE_CHARPTR_FORWARD): Likewise.
4829         (charptr_n_addr): Likewise.
4830         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4831         (simple_charptr_emchar): Moved to multibyte.h.
4832         (simple_set_charptr_emchar): Likewise.
4833         (simple_charptr_copy_char): Likewise.
4834         (non_ascii_charptr_emchar): Likewise.
4835         (non_ascii_set_charptr_emchar): Likewise.
4836         (non_ascii_charptr_copy_char): Likewise.
4837         (charptr_emchar): Likewise.
4838         (set_charptr_emchar): Likewise.
4839         (charptr_copy_char): Likewise.
4840         (charptr_emchar_n): Likewise.
4841         (Charset_ID): Moved to char-1byte.h.
4842         (Vcharset_ascii): Likewise.
4843         (CHAR_CHARSET): Likewise.
4844         (CHAR_LEADING_BYTE): Likewise.
4845         (LEADING_BYTE_ASCII): Likewise.
4846         (NUM_LEADING_BYTES): Likewise.
4847         (MIN_LEADING_BYTE): Likewise.
4848         (CHARSETP): Likewise.
4849         (CHARSET_BY_LEADING_BYTE): Likewise.
4850         (XCHARSET_LEADING_BYTE): Likewise.
4851         (XCHARSET_GRAPHIC): Likewise.
4852         (XCHARSET_COLUMNS): Likewise.
4853         (XCHARSET_DIMENSION): Likewise.
4854         (BREAKUP_CHAR): Likewise.
4855
4856 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4857
4858         * character.h: Add document about interface for characters.
4859
4860         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4861         (MAKE_CHAR): Delete comment about
4862         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4863         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4864         (BREAKUP_CHAR): Modify name of arguments.
4865         (CHAR_CHARSET): Modify name of argument.
4866
4867         * buffer.h: Delete document about Emchar accessors.
4868
4869 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4870
4871         * character.h (CHAR_INTP): Moved from buffer.h
4872         (CHAR_OR_CHAR_INTP): Likewise.
4873         (XCHAR_OR_CHAR_INT): Likewise.
4874         (CHECK_CHAR_COERCE_INT): Likewise.
4875
4876         * buffer.h (CHAR_INTP): Moved to character.h
4877         (CHAR_OR_CHAR_INTP): Likewise.
4878         (XCHAR_OR_CHAR_INT): Likewise.
4879         (CHECK_CHAR_COERCE_INT): Likewise.
4880
4881 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4882
4883         * character.h:
4884         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4885         - Include char-1byte.h, char-lb.h or char-ucs.h.
4886
4887         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4888
4889         * buffer.h: Include character unconditionally.
4890         (valid_char_p): Moved to char-*.h.
4891         (non_ascii_valid_char_p): Moved to char-lb.h.
4892
4893         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4894
4895 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4896
4897         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4898         in UTF-2000 because it is not ported yet and not to use
4899         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4900         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4901         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4902
4903         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4904         (CHAR_ASCII_P): Moved from character.h.
4905
4906         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4907         (CHAR_ASCII_P): Likewise.
4908         (CHAR_FIELD1_MASK): Deleted.
4909         (CHAR_FIELD2_MASK): Deleted.
4910         (CHAR_FIELD3_MASK): Deleted.
4911         (MAX_CHAR_BASIC_LATIN): New macro.
4912         (CHAR_FIELD1): Deleted.
4913         (CHAR_FIELD2_INTERNAL): Deleted.
4914         (CHAR_FIELD3_INTERNAL): Deleted.
4915         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4916         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4917         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4918         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4919         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4920         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4921         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4922         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4923         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4924         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4925         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4926         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4927         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4928         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4929         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4930         (MIN_CHAR_COMPOSITION): Deleted.
4931         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4932         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4933
4934 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4935
4936         * buffer.h: Include mb-utf-8.h in UTF-2000.
4937
4938         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4939
4940         * mb-utf-8.h: New file.
4941
4942 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4943
4944         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4945         instead of `int'.
4946
4947         * mule-charset.h, buffer.h (Charset_ID): New type.
4948
4949 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4950
4951         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4952         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4953         instead of `MULE_CHAR_PRIVATE_OFFSET',
4954         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4955         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4956         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4957
4958         * character.h (Vcharset_japanese_jisx0212): New variable
4959         definition.
4960
4961 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4962
4963         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4964         (charset_by_attributes): Delete array about direction.
4965         (latin_a_char_to_charset): New variable in UTF-2000.
4966         (latin_a_char_to_byte1): New variable in UTF-2000.
4967         (latin_a_char_to_byte2): New variable in UTF-2000.
4968         (Qucs_bmp): New variable.
4969         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4970         `Bufbyte'.
4971         (next_allocated_2_byte_leading_byte): Likewise.
4972         (non_ascii_set_charptr_emchar): Likewise.
4973         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4974         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4975         `charset_by_attributes'.
4976         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4977         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4978         and `CHARSET_BY_LEADING_BYTE'.
4979         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4980         `utf-2000-version' to `vars_of_mule_charset'.
4981         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4982         define `leading-code-private-11' in UTF-2000; move setting of
4983         `utf-2000-version' from `syms_of_mule_charset'.
4984         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4985         UTF-2000.
4986
4987         * character.h (Charset_ID): New type.
4988         (LEADING_BYTE_UCS_BMP): New macro.
4989         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4990         (CHARSET_ID_OFFSET_94): New macro.
4991         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4992         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4993         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4994         final-byte.
4995         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4996         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4997         (CHARSET_ID_OFFSET_96): New macro.
4998         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4999         CHARSET_ID_OFFSET_96 and final-byte.
5000         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5001         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5002         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5003         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5004         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5005         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5006         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5007         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5008         (LEADING_BYTE_THAI_TIS620): Likewise.
5009         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5010         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5011         (CHARSET_ID_OFFSET_94x94): New macro.
5012         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5013         CHARSET_ID_OFFSET_94x94 and final-byte.
5014         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5015         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5016         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5017         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5018         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5019         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5020         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5021         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5022         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5023         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5024         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5025         (CHARSET_TYPE_128X128): New macro.
5026         (CHARSET_TYPE_256X256): New macro.
5027         (XCHARSET_PRIVATE_P): Delete unconditionally.
5028         (charset_by_attributes): Delete array about direction.
5029         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5030         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5031         (MIN_CHAR_94): New macro.
5032         (MAX_CHAR_94): New macro.
5033         (MIN_CHAR_96): New macro.
5034         (MAX_CHAR_96): New macro.
5035         (MIN_CHAR_94x94): New macro.
5036         (MAX_CHAR_94x94): New macro.
5037         (MIN_CHAR_96x96): New macro.
5038         (MAX_CHAR_96x96): New macro.
5039         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5040         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5041         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5042         - 32)'.
5043         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5044         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5045         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5046         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5047         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5048         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5049         `XCHARSET_LEADING_BYTE' to make code-point.
5050         (latin_a_char_to_charset): New variable.
5051         (latin_a_char_to_byte1): New variable.
5052         (latin_a_char_to_byte2): New variable.
5053         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5054         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5055         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5056
5057         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5058         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5059         (find_charsets_in_emchar_string): Likewise.
5060         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5061
5062         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5063         `int'.
5064         (decode_coding_iso2022): Likewise.
5065
5066         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5067         of `unsigned char'.
5068
5069         * redisplay.c (redisplay_text_width_emchar_string): Use
5070         `Charset_ID' instead of `unsigned char'.
5071         (redisplay_frame_text_width_string): Likewise.
5072
5073         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5074         `unsigned char'.
5075
5076         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5077         instead of `unsigned char'.
5078         (face_cachel_charset_font_metric_info): Likewise.
5079
5080         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5081         (get_non_ascii_char_table_value): Likewise.
5082         (get_char_table): Likewise.
5083         (put_char_table): Likewise.
5084         (map_over_other_charset): Likewise.
5085         (map_char_table): Likewise.
5086
5087         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5088         instead of `unsigned char'.
5089
5090 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5091
5092         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5093         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5094
5095         * mule-charset.c (leading_code_private_11): Don't define in
5096         UTF-2000.
5097
5098         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5099         in UTF-2000 because it is not ported yet and not to use
5100         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5101
5102 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5103
5104         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5105
5106 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5107
5108         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5109         in UTF-2000.
5110
5111         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5112         of unsigned char to store leading-byte.
5113
5114         * chartab.c (get_non_ascii_char_table_value): Don't use
5115         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5116
5117         * file-coding.c (encode_coding_big5): Delete bogus implementation
5118         in UTF2000.
5119
5120         * character.h (LEADING_BYTE_*): Delete definition for
5121         non-UTF-2000.
5122         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5123         (LEADING_BYTE_PREFIX_P): Deleted.
5124         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5125         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5126         (BUFBYTE_LEADING_BYTE_P): Deleted.
5127         (CHARSET_PRIVATE_P): Deleted unconditionally.
5128         (rep_bytes_by_first_byte): Deleted unconditionally.
5129         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5130         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5131         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5132         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5133         (CHAR_FIELD2): Deleted.
5134         (CHAR_FIELD3): Deleted.
5135         (MAKE_CHAR): Delete definition for non-UTF-2000.
5136         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5137         (breakup_char_1): New implementation.
5138         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5139         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5140
5141 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5142
5143         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5144         condition.
5145
5146 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5147
5148         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5149         (CHARSET_PRIVATE_P): Likewise.
5150         (XCHARSET_PRIVATE_P): Likewise.
5151         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5152
5153         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5154         UTF2000.
5155         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5156
5157 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5158
5159         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5160         (NUM_LEADING_BYTES): Changed from 128 to 256.
5161         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5162         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5163         UTF2000.
5164         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5165
5166         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5167         UTF2000.
5168         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5169         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5170         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5171         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5172         (Qchinese_cns11643_3): New variable in UTF2000.
5173         (Qchinese_cns11643_4): New variable in UTF2000.
5174         (Qchinese_cns11643_5): New variable in UTF2000.
5175         (Qchinese_cns11643_6): New variable in UTF2000.
5176         (Qchinese_cns11643_7): New variable in UTF2000.
5177         (syms_of_mule_charset): Define `chinese-cns11643-3',
5178         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5179         and `chinese-cns11643-7' in UTF2000.
5180         (vars_of_mule_charset): Initialize
5181         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5182         + 1 in UTF2000.
5183         (complex_vars_of_mule_charset): Setup charset
5184         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5185         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5186
5187 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5188
5189         * mule-charset.c: Move setting for `leading-code-private-11' from
5190         `syms_of_mule_charset' to `vars_of_mule_charset'.
5191
5192 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5193
5194         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5195         and `NUM_LEADING_BYTES' in assert.
5196
5197 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5198
5199         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5200         instead of 128.
5201         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5202         `NUM_LEADING_BYTES' instead of 128.
5203
5204 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5205
5206         * mule-charset.h (charset_by_leading_byte): Use
5207         `NUM_LEADING_BYTES' instead of 128.
5208         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5209
5210         * mule-charset.c (charset_by_leading_byte): Use
5211         `NUM_LEADING_BYTES' instead of 128.
5212         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5213
5214         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5215         128.
5216
5217 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5218
5219         * mule-charset.c (syms_of_mule_charset): Update to
5220         0.4 (Shin-Imamiya).
5221
5222 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5223
5224         * file-coding.c (encode_coding_sjis): New implementation for
5225         UTF2000.  (decode_coding_sjis): Ditto.
5226
5227 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5228
5229         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5230         Don't define in UTF2000.
5231
5232         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5233         defined.
5234
5235         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5236         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5237         MULE.
5238
5239 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5240
5241         * config.h.in (CHAR_IS_UCS4): New macro.
5242
5243         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5244         conventional MULE representation.
5245         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5246
5247         * mule-charset.h: Reverted to original.
5248
5249         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5250         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5251         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5252
5253         * character.h: New file.
5254
5255         * file-coding.c (Fmake_coding_system): Set 1 to
5256         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5257         defined.
5258         (encode_coding_no_conversion): New implementation for UTF2000.
5259
5260         * file-coding.h (struct Lisp_Coding_System): Add new member
5261         `fixed.size'.
5262
5263 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5264
5265         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5266         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5267         (encode_coding_iso2022): New implementation for UTF2000.
5268
5269 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5270
5271         * mule-canna.c (c2mu): New implementation for UTF2000.
5272         (m2c): Likewise.
5273
5274 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5275
5276         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5277
5278 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5279
5280         * file-coding.c (reset_encoding_stream): Set 0 to
5281         `str->iso2022.current_char_boundary' in UTF2000.
5282         (encode_utf8): Don't define in UTF2000.
5283         (encode_coding_utf8): New implementation for UTF-8 representation
5284         of UTF2000.
5285         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5286
5287 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5288
5289         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5290
5291         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5292         UTF2000.
5293         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5294
5295         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5296
5297         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5298         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5299         as UTF-8 in UTF2000.
5300         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5301         (non_ascii_valid_char_p): Don't define in UTF2000.
5302         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5303         (Lstream_get_emchar_1): Likewise.
5304         (utf-2000-version): New variable in UTF2000.
5305
5306         * lread.c (read_escape): Add new reader `u'.
5307
5308         * insdel.c (three_to_one_table): Don't define in UTF2000.
5309         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5310         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5311         UTF2000.
5312         (bytind_to_bufpos_func): Likewise.
5313         (buffer_mule_signal_inserted_region): Likewise.
5314         (vars_of_insdel): Don't initialize `three_to_one_table'.
5315         (init_buffer_text): Use `buf->text->mule_size' instead of
5316         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5317         UTF2000.
5318
5319         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5320         UTF-8 representation in UTF2000.
5321         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5322         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5323         (decode_coding_iso2022): Don't define local variable `lb' in
5324         UTF2000; don't use LEADING_BYTE in UTF2000; use
5325         `DECODE_ADD_UCS_CHAR' in UTF2000.
5326         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5327
5328         * config.h.in (UTF2000): New macro.
5329
5330         * buffer.h (struct buffer_text): Add new member `mule_size' and
5331         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5332         (valid_char_p): Return always 1 in UTF2000.
5333         (MAX_EMCHAR_LEN): 6 in UTF2000.
5334         (three_to_one_table): Don't define in UTF2000.
5335         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5336         UTF2000.
5337         (real_bytind_to_bufpos): Likewise.
5338
5339         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5340
5341 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5342
5343         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5344         representation change.
5345         (Vutf_2000_version): New variable.
5346         (leading_code_private_11): New variable.
5347         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5348         `leading-code-private-11'.
5349
5350         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5351         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5352         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5353         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5354         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5355         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5356         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5357         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5358         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5359         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5360         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5361         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5362         (MIN_CHAR_GREEK): New macro.
5363         (MAX_CHAR_GREEK): New macro.
5364         (MIN_CHAR_CYRILLIC): New macro.
5365         (MAX_CHAR_CYRILLIC): New macro.
5366         (MIN_CHAR_HEBREW): New macro.
5367         (MAX_CHAR_HEBREW): New macro.
5368         (MIN_CHAR_THAI): New macro.
5369         (MAX_CHAR_THAI): New macro.
5370         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5371         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5372         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5373         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5374         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5375         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5376         (CHAR_FIELD2): New inline function.
5377         (CHAR_FIELD3): New inline function.
5378         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5379         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5380         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5381         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5382         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5383         (MIN_CHAR_COMPOSITION): Likewise.
5384         (CHAR_LEADING_BYTE): Modified for character representation change.
5385         (MAKE_CHAR): Likewise.
5386
5387         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5388         (Vcharset_greek_iso8859_7): Likewise.
5389         (Vcharset_cyrillic_iso8859_5): Likewise.
5390         (Vcharset_hebrew_iso8859_8): Likewise.
5391         (Vcharset_thai_tis620): Likewise.
5392         (Vcharset_katakana_jisx0201): Likewise.
5393
5394 2004-02-02  Vin Shelton <acs@xemacs.org>
5395
5396         * XEmacs 21.4.15 is released
5397
5398 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
5399
5400         * device-x.c (x_error_handler): Don't call stderr_out
5401
5402 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
5403
5404         * buffer.c (other-buffer): Clarify documentation of order of
5405         arguments for FSF Emacs.
5406
5407 2003-10-11  Olivier Galibert  <galibert@pobox.com>
5408
5409         * window.c (Fdelete_window): Dirty the mirror structure _before_
5410         marking the window deleted.
5411
5412 2003-09-15  Jerry James  <james@xemacs.org>
5413
5414         * event-msw.c (debug_mswin_messages): Conditionally compile
5415         messages missing from the Cygwin headers.
5416
5417 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
5418
5419         * data.c (eq_with_ebola_notice): Fix typo in comment.
5420         (Ftrue_list_p): Improve docstring.
5421
5422 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
5423
5424         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
5425
5426 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
5427
5428         * search.c (trivial_regexp_p): Regexps containing "\{" are
5429         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
5430         Stefan Monnier for suggesting a diagnosis.
5431
5432 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
5433
5434         * elhash.c (make-hash-table): Clarify use of :test #'equal.
5435
5436 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
5437
5438         * search.c (Fsearch_forward):
5439         (Fsearch_backward):
5440         Document negative count.
5441
5442 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
5443
5444         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
5445
5446 2003-09-13  Martin Buchholz  <martin@xemacs.org>
5447
5448         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
5449
5450 2003-09-15  Vin Shelton  <acs@xemacs.org>
5451
5452         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
5453         21.5.
5454
5455 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
5456
5457         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
5458         (re_search_2): Match the first byte of Bufbyte, not Emchar.
5459         (re_match_2_internal): Use TRANSLATE instead of
5460         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
5461         non-ASCII char case conversion.
5462
5463 2003-09-08  Mike Sperber  <mike@xemacs.org>
5464
5465         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
5466         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
5467
5468 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
5469
5470        * .gdbinit (pobj): fix printing of symbol name.
5471
5472 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
5473
5474         * frame-x.c (x_layout_widgets): When resizing is about to cause
5475         frame size slip, mark it for redisplay.
5476
5477 2003-08-18  Jerry James  <james@xemacs.org>
5478
5479         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
5480
5481 2003-09-03  Vin Shelton <acs@xemacs.org>
5482
5483         * XEmacs 21.4.14 is released
5484
5485 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5486
5487         * config.h.in (REGEX_MALLOC): Make it configure'able.
5488
5489 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5490
5491         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5492         linking.
5493         * sysdll.c (dll_init):
5494         * sysdll.c (dll_open):
5495         * sysdll.c (dll_close):
5496         * sysdll.c (dll_function):
5497         * sysdll.c (dll_variable):
5498         * sysdll.c (dll_error):
5499         Add support for loading bundles using Darwin/MacOSX
5500         native API.
5501
5502 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5503
5504         * process.c (start-process-internal): Document coding systems.
5505
5506 2003-07-30  Jerry James  <james@xemacs.org>
5507
5508         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5509
5510 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5511
5512         * event-msw.c (mswindows_enqueue_mouse_button_event):
5513         * event-msw.c (mswindows_wnd_proc):
5514           enqueue button event when scrollwheel event isn't handled by 
5515           mswindows_handle_mousewheel_event, such as when the scrollbars
5516           are not showing.
5517
5518 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5519
5520         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5521
5522 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5523
5524         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5525
5526 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5527
5528         * regex.c (re_match_2_internal): Fix matching degenerate word
5529         boundaries.
5530
5531 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5532
5533         * XEmacs 21.4.13 is released
5534
5535 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5536
5537         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5538         * lisp.h (<inttypes.h>):
5539         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5540         the definition.
5541
5542 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5543
5544         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5545         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5546         Result: "temacs can only be run in -batch mode."
5547         Fix: Check xemacs executable candidate for directory-ness.
5548
5549 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5550
5551         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5552           they conflict with <sys/types.h>.
5553
5554 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5555
5556         * database.c: Berkeley DB wants __STDC__ to be defined.
5557
5558 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5559
5560         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5561
5562 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5563
5564         * process-unix.c (unix_send_process): Fix C++ compile error.
5565
5566 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5567
5568         * Added .dylib as an acceptable shared library file extension
5569         * to support MacOSX.
5570
5571 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5572
5573         * EmacsFrameP.h (EmacsFramePart):
5574         Kludge to allow compiling with Motif1, but linking with Motif2.
5575
5576 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5577
5578         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5579
5580
5581 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5582
5583         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5584
5585 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5586
5587         * sysdll.c: Included lisp.h to define needed alloca_array.
5588
5589 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5590
5591         Make XEmacs redisplay 10 times faster.
5592         If, that is, you're using a slow X connection and MoveOpaque.
5593         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5594         Use compress_motion = TRUE.
5595         * EmacsFrame.c (emacsFrameClassRec): 
5596         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5597         * EmacsManager.c (emacsManagerClassRec):
5598         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5599
5600 2003-01-30  Vin Shelton  <acs@xemacs.org>
5601
5602         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5603
5604 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5605
5606         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5607         Patch by Martin Buchholz.
5608
5609 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5610
5611         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5612         Thanks to icc for warning and Martin Buchholz for reporting.
5613
5614 2003-01-29  Vin Shelton <acs@xemacs.org>
5615
5616         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5617
5618         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5619         remember to multiply by the element size.
5620
5621 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5622
5623         * XEmacs 21.4.12 "Portable Code" is released.
5624
5625 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5626
5627         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5628         * s/cygwin.sc: new linker file.
5629
5630 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5631
5632         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5633
5634         * redisplay-x.c (x_output_string): Use X11-specified types.
5635         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5636         * emacs.c (__free_hook): Use typeof with Intel compiler.
5637         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5638
5639 2003-01-08  Andy Piper  <andy@xemacs.org>
5640
5641         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5642         reserve size during unexec().
5643
5644 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5645
5646         * process-unix.c (unix_create_process): Don't let outchannel block.
5647
5648 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5649
5650         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5651         Needed for IsBadReadPtr().
5652
5653 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5654
5655         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5656
5657 2002-12-14  Ben Wing  <ben@xemacs.org>
5658
5659         * callint.c: Declaration error.
5660         * dumper.c (pdump):
5661         * dumper.c (pdump_load): Warning fix.
5662         * process.c: GCPRO error.
5663         * glyphs.c (unmap_subwindow):
5664         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5665         * event-stream.c (maybe_kbd_translate): Wrong argument to
5666         character_to_event().
5667
5668         * alloc.c (garbage_collect_1):
5669         * emacs.c:
5670         * emacs.c (debug_can_access_memory):
5671         * emacs.c (fatal_error_signal):
5672         * emacs.c (mswindows_handle_hardware_exceptions):
5673         * emacs.c (main_1):
5674         * emacs.c (main):
5675         * emacs.c (assert_failed):
5676         * emacs.c (syms_of_emacs):
5677         * lisp.h:
5678         * print.c:
5679         * print.c (std_handle_out_va):
5680         * print.c (write_string_to_stdio_stream):
5681         * print.c (write_fmt_string):
5682         * print.c (printing_badness):
5683         * print.c (printing_major_badness):
5684         * print.c (print_internal):
5685         * print.c (debug_print_no_newline):
5686         * print.c (debug_backtrace):
5687         Be more defensive in handling bad values when printing.  Add code
5688         from trunk involving inhibit_non_essential_printing_operations.
5689         When going down or in debug_print(), don't do external conversion
5690         and such and try really, really hard when printing to avoid core
5691         dumping.  Add force-debugging-signal, debug_break().
5692
5693 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5694
5695         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5696         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5697
5698 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5699
5700         * database.c: Fix open_database. Berkeley DB API has changed in
5701         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5702
5703 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5704
5705         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5706
5707 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5708
5709         * event-Xt.c (Xt_timeout):
5710         (Xt_timeout_callback):
5711         (emacs_Xt_add_timeout):
5712         (emacs_Xt_remove_timeout):
5713         (Xt_timeout_to_emacs_event):
5714         Turn completed_timeouts from a stack into a queue.  Fixes
5715         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5716
5717 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5718
5719         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5720         * emacs.c (main): Assert that mmap'd allocation is disabled.
5721
5722 2002-10-14  Andy Piper  <andy@xemacs.org>
5723
5724         * glyphs-widget.c (layout_query_geometry): add in fiddle
5725         factor. Include border text in width layout calculation.
5726         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5727
5728 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5729
5730         * XEmacs 21.4.10 "Military Intelligence" is released.
5731
5732 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5733
5734         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5735         using the NAS private array SoundFileInfo that no longer exists in
5736         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5737         and earlier.  This is broken for some versions between 1.5a and
5738         1.5f.
5739
5740 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5741
5742         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5743
5744         * emacs.c (shut_down_emacs): Improve crash message.
5745
5746 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5747
5748         * file-coding.c (determine_real_coding_system): Check for coding
5749         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5750         shebangs and Python PEP 263.
5751
5752 2002-10-08  Andy Piper  <andy@xemacs.org>
5753
5754         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5755         if static sizes haven't been set.
5756
5757 2002-08-30  Mike Alexander  <mta@arbortext.com>
5758
5759         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5760         to close a socket.
5761
5762 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5763
5764         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5765
5766 2002-09-20  Mike Sperber <mike@xemacs.org>
5767
5768         (This partially gets back my patch from 2002-07-20 without the
5769         bug.)
5770         * callproc.c (child_setup): Remove Ben's comment noting confusion
5771         over the file descriptors >= 3: close_process_descs() doesn't
5772         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5773         * process-unix.c (unix_create_process): Call
5774         begin_dont_check_for_quit to inhibit unwanted interaction (and
5775         thus breaking of X event synchronicity) in the child.
5776
5777 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5778
5779         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5780         widget.
5781
5782 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5783
5784         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5785         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5786         the xemacs process did not exit, but looped infinitely here.  This
5787         fixes that problem.
5788
5789 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5790
5791         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5792         (find_context): Improve comments.
5793
5794         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5795         (re_match_2): An XCHAR_TABLE operation was missing.
5796
5797         Many of the following changes were inspired by Andy Piper's (now
5798         obsolete) patch to make syntax-table text property lookup optional.
5799
5800         [Documentation]
5801
5802         * syntax.h (top level): Document semantics of syntax flags.
5803         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5804         * syntax.c, syntax.h (top level): Document syntax cache better in
5805         comments.
5806
5807         [Instrument syntax caching (temporary change)]
5808
5809         * syntax.h (enum syntax_cache_statistics_functions, struct
5810         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5811         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5812         * syntax.c (scan_words, Fforward_comment, scan_lists,
5813         Fbackward_prefix_characters):
5814         * font-lock.c (find_context):
5815         Use them to instrument syntax caching. 
5816         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5817         syntax_cache_statistics_function_names): New type and variables.
5818         * syntax.c (update_syntax_cache): Update and report statistics.
5819
5820         [Major syntax cache optimizations]
5821
5822         syntax.c (lookup_syntax_properties): Default off.
5823
5824         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5825         * syntax.c (update_syntax_cache):
5826         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5827
5828         [Minor syntax cache optimizations and code clarifications]
5829
5830         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5831         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5832         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5833         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5834         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5835         (Code clarification.)
5836
5837         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5838         scan_lists): Compute code from syncode, use Boolean macros instead
5839         of redundant masking operations.  (Code clarification; any decent
5840         compiler can do this optimization.)
5841
5842         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5843         for clarity.
5844
5845         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5846         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5847         use F*_single_property_change instead of F*_extent_change.
5848         Currently F*_single_property_change is _much_ less efficient.
5849
5850         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5851         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5852         syntax_cache.object properly, don't leave Qt or Qnil.
5853         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5854         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5855         tests for Qt or Qnil.
5856
5857 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5858
5859         * redisplay.c (point_in_line_start_cache): 
5860         * extents.c (print_extent_1):
5861         Fix warnings.
5862
5863         * extents.c (Fset_extent_property): Document `syntax-table' property.
5864
5865         * extents.h (Fnext_single_property_change): EXFUN it.
5866
5867 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5868
5869         * search.c (clear_unused_search_regs): New static function.
5870         (search_buffer): 
5871         (simple_search): 
5872         (boyer_moore):
5873         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5874         Minor clarifications in comments.
5875
5876         * regex.c (re_match_2_internal): Ensure no stale submatches.
5877
5878 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5879
5880         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5881
5882 2002-08-29  Jerry James  <james@xemacs.org>
5883
5884         * lisp.h: structrures -> structures.
5885
5886 2002-06-03  Andy Piper  <andy@xemacs.org>
5887
5888         * frame.c (frame_conversion_internal): add conversion appropriate
5889         for setting frame dimensions in pixels.
5890
5891         * console.h (struct console_methods): add device-specific widget
5892         layout functions.
5893
5894         * emacs.c (main_1): initialize glyph vars.
5895
5896         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5897         (handle_focus_event_2): new function. Allow focus to
5898         be set to a particular window and widget.
5899         (enqueue_focus_event): new function. Create a
5900         synthetic focus event.
5901         (emacs_Xt_handle_magic_event): call
5902         handle_focus_event_2.
5903
5904         * frame.c (Fset_frame_pixel_height): new function. Allow
5905         pixel-based sizing. Does the right thing on character-oriented
5906         displays.
5907         (Fset_frame_pixel_width): ditto.
5908         (Fset_frame_pixel_size): ditto.
5909         (syms_of_frame): declare.
5910
5911         * general-slots.h: add :vertically-justify and
5912         :horizontally-justify.
5913
5914         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5915         (mswindows_widget_border_width): new function.
5916         (mswindows_combo_box_instantiate): set border widths.
5917         (console_type_create_glyphs_mswindows): declare.
5918
5919         * glyphs-widget.c:
5920         (check_valid_justification): allow vertical and horizontal
5921         justification.
5922         (widget_border_width): new function. Call device methods.
5923         (widget_instance_border_width): ditto.
5924         (logical_unit_height): new function. Determine the height of a
5925         logical-unit. Logical units are intended to provide grid-like
5926         layout for subcontrols in a layout. If the layout is
5927         :vertically-justify top then subcontrols will be positioned on
5928         logical-unit boundaries, thus allowing adjacent subcontrols to
5929         line up.
5930         (widget_logical_unit_height): ditto for widgets.
5931         (redisplay_widget): misc cleanup.
5932         (widget_spacing): new function. Call device specific
5933         methods. Intended to be the default gap between adjacent widgets.
5934         (widget_query_geometry): use new spacing functions to determine
5935         appropriate geometry.
5936         (initialize_widget_image_instance): initialize horizontal and
5937         vertical justification.
5938         (widget_instantiate): use logica-units where appropriate for
5939         sizing large widgets.
5940         (button_query_geometry): use widget_instance_border_width.
5941         (tree_view_query_geometry): ditto.
5942         (tab_control_query_geometry): ditto.
5943         (edit_field_query_geometry): new function.
5944         (layout_update): pick up :justify, :horizontally-justify and
5945         :vertically-justify none of which worked previously. :justify is
5946         used as a fallback for both horizontal and vertical justification.
5947         (layout_query_geometry): use logical units to size appropriately.
5948         (layout_layout): ditto.
5949         (Fwidget_logical_to_character_width): new function. Allow users to
5950         convert from logical units to characters so that frame sizes can
5951         be set appropriately.
5952         (Fwidget_logical_to_character_height): ditto.
5953         (syms_of_glyphs_widget): declare.
5954         (image_instantiator_edit_fields): add edit_field_query_geometry.
5955         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5956         :horizontally-justify.
5957         (specifier_vars_of_glyphs_widget): new function. Declare
5958         Vwidget_border_width which is not yet used.
5959
5960         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5961         (x_widget_border_width): new function.
5962         (x_widget_instantiate): create a sensible name for widgets.
5963         (console_type_create_glyphs_x): declare x_widget_border_width.
5964
5965         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5966         (struct Lisp_Image_Instance): add :vertically-justify and
5967         :horizontally-justify.
5968         (LAYOUT_JUSTIFY_TOP): new.
5969         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5970         (ROUND_UP): new macro. Round argument up to next integral
5971         interval.
5972
5973         * redisplay-output.c (redisplay_output_layout): misc formatting.
5974
5975         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5976
5977 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5978
5979         * XEmacs 21.4.9 "Informed Management" is released.
5980
5981 2002-08-19  Andy Piper  <andy@xemacs.org>
5982
5983         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5984         win32 format.
5985
5986         * realpath.c (xrealpath): normalize drive spec also so that dir
5987         sep chars are not mixed on cygwin.
5988
5989 2002-08-06  Jerry James  <james@xemacs.org>
5990
5991         * window.c (Fsplit_window): Count only half of the divider width
5992         against the left window when splitting horizontally. 
5993
5994 2002-06-24  Andy Piper  <andy@xemacs.org>
5995
5996         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5997         toolbar was cleared.
5998
5999         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
6000         function. Split out from mswindows_output_frame_toolbars.
6001         (mswindows_output_frame_toolbars): move clear pieces to
6002         mswindows_output_frame_toolbars.
6003
6004         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
6005         out from gtk_output_frame_toolbars.
6006         (gtk_output_frame_toolbars): move clear pieces to
6007         gtk_clear_frame_toolbars.
6008
6009         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
6010         the frame is cleared. How this ever worked before is a mystery.
6011         (x_output_frame_toolbars): Only output toolbars.
6012         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
6013
6014         * gutter.c (update_gutter_geometry):
6015         Mark frame layout changed.
6016         (update_frame_gutter_geometry, update_frame_gutters):
6017         Respect frame_layout_changed.
6018
6019         * console.h (struct console_methods): add
6020         clear_frame_toolbars_method.
6021
6022         * redisplay.c (redisplay_frame): call
6023         update_frame_toolbars_geometry and re-order update_frame_toolbars.
6024
6025         * toolbar.h: declare update_frame_toolbars_geometry.
6026
6027         * toolbar.c (update_frame_toolbars_geometry): new function. Split
6028         out from update_frame_toolbars.  Call clear_frame_toolbars.
6029         (update_frame_toolbars): only output, do not change geometry.
6030
6031         * redisplay.c: add frame_layout_changed.
6032
6033         * redisplay.h: add frame_layout_changed.
6034         (CLASS_RESET_CHANGED_FLAGS): set it.
6035         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
6036         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
6037         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
6038
6039         * device.h (struct device): add frame_layout_changed.
6040         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
6041
6042         * frame.h (struct frame): add frame_layout_changed.
6043         (MARK_FRAME_LAYOUT_CHANGED): new.
6044
6045 2002-06-30  Mike Alexander  <mta@arbortext.com>
6046
6047         * event-msw.c (mswindows_need_event): Don't wait for a new message
6048         if the queue is not empty.  Suggested by Paul Moore.
6049
6050 2002-06-12  Andy Piper  <andy@xemacs.org>
6051
6052         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
6053         for printing on accurately.
6054
6055 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
6056
6057         * event-msw.c (mswindows_wnd_proc): Add a handler for the
6058         WM_ACTIVATE message. Make sure that the frame is visible if the
6059         window is visible. This seemss to fix the problem where XEmacs
6060         appears to freeze after switching desktops with certain virtual
6061         window managers.
6062         (debug_output_mswin_message): Added code to output message
6063         parameters for WM_WINDOWPOSCHANGED, 
6064         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
6065
6066 2002-05-25  Andy Piper  <andy@xemacs.org>
6067
6068         * select-x.c (vars_of_select_x): Fix docstring of
6069         x-selection-strict-motif-ownership
6070
6071 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6072
6073         * keymap.c (get_keymap):
6074         Add comment about do_autoload GCPROs own args.
6075
6076 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6077
6078         * bytecode.c (execute_optimized_program): check_opcode ifdef
6079         ERROR_CHECK_BYTE_CODE.
6080
6081 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6082
6083         Thanks to Ben Wing and Michael Sperber.
6084
6085         * eval.c (Fcommand_execute):
6086         (Feval):
6087         (Ffuncall):
6088         (Fmacroexpand_internal):
6089         (function_argcount):
6090         callint.c (Fcall_interactively):
6091         Add comment about do_autoload GCPROs own args.
6092
6093         * (do_autoload): GCPRO both args as well as local Lisp_Object.
6094
6095         * eval.c (Ffuncall): Extra braces to placate GCC.
6096
6097 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
6098
6099         * backtrace.h (grow_specpdl):
6100         (SPECPDL_RESERVE):
6101         * EmacsFrame.c (EmacsFrameSetValues):
6102         * eval.c (grow_specpdl):
6103         * ExternalShell.c (hack_event_masks_1):
6104         * glyphs-x.c (convert_EImage_to_XImage): 
6105         (x_finalize_image_instance):
6106         * ralloc.c (page_size):
6107         (r_alloc_sbrk):
6108         * xgccache.c (gc_cache_hash):
6109         Fix unsigned comparison warnings.
6110
6111 2002-07-29  Jerry James  <james@xemacs.org>
6112
6113         * lread.c (locate_file): Any nonnegative return value indicates
6114         success if MODE is nonnegative.
6115
6116 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
6117
6118         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
6119         argument. 
6120
6121 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
6122
6123         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
6124
6125         * dumper.c (pdump_get_indirect_count):
6126         (pdump_scan_by_alignment):
6127         (pdump_dump_root_struct_ptrs):
6128         (pdump_dump_rtables):
6129         (pdump_dump_root_objects):
6130         (pdump):
6131         * nas.c (WaveOpenDataForReading):
6132         * fns.c (print_bit_vector):
6133         * font-lock.c (SINGLE_SYNTAX_STYLE):
6134         * glyphs.c (check_for_ignored_expose):
6135         (find_matching_subwindow):
6136         * glyphs-eimage.c:
6137         * imgproc.c (get_histogram):
6138         * redisplay.c (point_in_line_start_cache):
6139         * redisplay-output.c (redisplay_unmap_subwindows):
6140         * symbols.c (defsymbol_massage_name_1):
6141         (defkeyword_massage_name):
6142         (deferror_massage_name_and_message):
6143         * redisplay-x.c (x_output_string): 
6144         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
6145         * frame.h (struct frame):
6146         * filelock.c (current_lock_owner):
6147         * doprnt.c (emacs_doprnt_1):
6148         * lisp.h (struct Lisp_Bit_Vector):
6149         (DO_REALLOC):
6150         Fix warnings.
6151
6152 2002-02-13  Ben Wing  <ben@xemacs.org>
6153
6154         * event-stream.c (reset_key_echo):
6155         * event-stream.c (reset_this_command_keys):
6156         * event-stream.c (execute_command_event):
6157         If console is dead as a result of C-x 5 0, then post-command stuff
6158         needs to be careful and do only non-console-specific stuff.
6159
6160 2002-07-01  Mike Sperber <mike@xemacs.org>
6161
6162         * process-unix.c (unix_send_process): Mark coding_outstream as
6163         non-open upon SIGPIPE.
6164
6165         * event-stream.c (Fnext_event): Reorder switch cases to something
6166         that makes sense.
6167
6168 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
6169
6170         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
6171         Don't bogusly reinitialize ascii_character property.
6172
6173 2002-07-08  Mike Sperber <mike@xemacs.org>
6174
6175         * process.c (Fstart_process_internal): Do error checking before we
6176         fork off the child, so the child can't muck with the state of the
6177         parent.
6178
6179 2002-07-08  Mike Sperber <mike@xemacs.org>
6180
6181         * ralloc.c (init_ralloc): Allocate properly for pdump.
6182
6183 2002-06-12  Andy Piper  <andy@xemacs.org>
6184
6185         * glyphs.c (query_string_geometry): check the string.
6186
6187         * glyphs-widget.c (widget_logical_unit_height): cope with nil
6188         widget names.
6189
6190 2002-06-17  Jerry James  <james@xemacs.org>
6191
6192         * sysdll.c: Remove RTLD_GLOBAL initialization.
6193         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
6194
6195 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
6196
6197         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
6198
6199 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
6200
6201         * sysdep.c (sys_rename): Make sys_rename work for the case where
6202         Windows rename sets errno to EACCES if target file exists.
6203
6204 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
6205
6206         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6207         Fix detection of metric units to work on Win95
6208
6209 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
6210
6211         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
6212
6213 2002-04-25  Andy Piper  <andy@xemacs.org>
6214
6215         * redisplay.c (create_text_block): Remove extra comment trailer.
6216
6217 2002-04-24  Andy Piper  <andy@xemacs.org>
6218
6219         * redisplay.c (create_text_block): Don't actually add propagation
6220         data if the line ends after we have added a glyph.
6221
6222 2002-04-22  Andy Piper  <andy@xemacs.org>
6223
6224         * extents.c (extent_fragment_update): check for glyphs we have
6225         previously displayed.
6226         * extents.c (print_extent_1): warning removal.
6227         * extents.h: change prototype.
6228         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
6229         widths correctly for wide glyphs.
6230         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6231         * redisplay.c (prop_type): add PROP_GLYPH.
6232         * redisplay.c (struct prop_block): add glyph type
6233         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6234         to the propagation data.
6235         * redisplay.c (create_text_block): if there is a glyph in the
6236         propagation data use it to salt extent_fragment_update.
6237         * redisplay.c (create_string_text_block): ditto.
6238
6239 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6240
6241         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6242         * redisplay-output.c (compare_runes): Compare them.
6243         * redisplay.c: Update copyright date.
6244         * redisplay.c (pos_data): Add need_baseline_computation field.
6245         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6246         need_baseline_computation; zero yoffset. Set max_pixmap_height
6247         for all pixmaps, not just automatically positioned ones.
6248         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6249         * redisplay.c (calculate_baseline): New, compute textual baseline.
6250         * redisplay.c (add_glyph_rune): Call them.
6251         * redisplay.c (create_text_block): Likewise.
6252         * redisplay.c (create_overlay_glyph_block): Likewise.
6253         * redisplay.c (add_margin_runes): Likewise.
6254         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6255
6256         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6257         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6258         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6259         * redisplay-msw.c (mswindows_output_string): Likewise.
6260         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6261         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6262         * redisplay-x.c (x_output_display_block): Likewise.
6263
6264 2002-03-28  Ben Wing  <ben@xemacs.org>
6265
6266         * redisplay.c: Fixed bug in redisplay
6267         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6268         and down of the lines, since they're bigger than the line
6269         size. (It was seen most obviously when there's a horizontal scroll
6270         bar, e.g. do C-h a glyph or something like that.) The problem was
6271         that the glyph-contrib-p setting on glyphs was ignored even if it
6272         was set properly, which it wasn't until now.
6273
6274 2002-04-24  Andy Piper  <andy@xemacs.org>
6275
6276         * lisp.h (Dynarr_end): Fix definition.
6277
6278 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6279
6280         * redisplay.c (mark_redisplay): Remove call to
6281         update_frame_window_mirror.
6282
6283 2001-11-15  Andy Piper  <andy@xemacs.org>
6284
6285         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6286         cygwin (again).
6287
6288 2002-02-13  Andy Piper  <andy@xemacs.org>
6289
6290         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6291         we did in fact enqueue the XM_MAPFRAME event.
6292
6293 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6294
6295         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6296         to fix problem switching between virtual desktops under virtuawin
6297         virtual window manager.
6298
6299 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6300
6301         * event-msw.c: Typo fix.
6302         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6303         magic XM_MAPFRAME event has been sent.
6304
6305 2001-11-23  Andy Piper  <andy@xemacs.org>
6306
6307         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6308
6309 2001-11-21  Andy Piper  <andy@xemacs.org>
6310
6311         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6312         mouse events outside the frame.
6313
6314 2002-03-20  Andy Piper  <andy@xemacs.org>
6315
6316         * menubar-msw.c (mswindows_popup_menu): warning removal.
6317         * dialog-msw.c (dialog_popped_down): ditto.
6318
6319 2001-12-11  Andy Piper  <andy@xemacs.org>
6320
6321         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6322         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6323         popup_up_p.
6324         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6325         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6326         * menubar-msw.c (mswindows_popup_menu): ditto.
6327
6328 2001-10-29  Andy Piper  <andy@xemacs.org>
6329
6330         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6331         cancels.
6332
6333 2002-01-03  Andy Piper  <andy@xemacs.org>
6334
6335         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6336         letters.
6337         (xrealpath): ditto.
6338
6339 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6340
6341         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6342         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6343         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6344         Detect and handle case where machine is set up for metric units
6345
6346 2002-04-02  Andy Piper  <andy@xemacs.org>
6347
6348         * dired-msw.c (mswindows_get_files): 
6349         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6350         completely handled by XEmacs. Suggested by Thomas Vogler
6351         <mail@thomas-vogler.de>.
6352
6353 2001-11-14  Andy Piper  <andy@xemacs.org>
6354
6355         * nt.c (REG_ROOT): change registry key to XEmacs.
6356
6357 2002-04-27  Andy Piper  <andy@xemacs.org>
6358
6359         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6360
6361 2002-04-26  Andy Piper  <andy@xemacs.org>
6362
6363         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6364         behavior.
6365
6366 2002-03-14  Mike Alexander  <mta@arbortext.com>
6367
6368         * event-msw.c (mswindows_unwait_process): New, remove process from
6369         wait list
6370         * process-nt.c (nt_finalize_process_data): Call
6371         mswindows_unwait_process
6372         * console-msw.h: Declare mswindows_unwait_process
6373
6374 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6375
6376         * editfns.c (Fdecode_time):
6377         (Fformat_time_string):
6378         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6379         (make_time): Warning elimination (change arg name).
6380
6381 2001-11-24  Andy Piper  <andy@xemacs.org>
6382
6383         * window.c (Fsplit_window): Doc return type.
6384
6385 2002-04-01  Andy Piper  <andy@xemacs.org>
6386
6387         * emacs.c (Fkill_emacs): Only output message box in interactive
6388         mode.
6389
6390 2002-04-26  Andy Piper  <andy@xemacs.org>
6391  
6392         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6393         cygwin.
6394
6395 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6396
6397         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6398         bit platform.
6399
6400 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6401
6402         * XEmacs 21.4.8 "Honest Recruiter" is released.
6403
6404 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6405
6406         Supersedes 2002-04-17 patch.
6407
6408         * process.h (PROCESS_LIVE_P): Use the process status as
6409         evidence of health, not the state of the input stream.
6410         (PROCESS_READABLE_P): Say if the process is readable
6411         from. (It may be dead nonetheless.)
6412         (CHECK_READABLE_PROCESS): Test for that condition.
6413
6414         * process.c (create_process): Use PROCESS_READABLE_P.
6415         (read_process_output, set_process_filter): Likewise.
6416
6417         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6418         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6419
6420         This code is #if 0'd, this is not the time to add new functions:
6421
6422         * process.c (Fprocess_readable_p): Report readability status.
6423         * process.c (Qprocess_readable_p): New, associated symbol...
6424         * process.c (syms_of_process): ... initialize it.
6425
6426 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6427
6428         * XEmacs 21.4.7 "Economic Science" is released.
6429
6430 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6431
6432         * process.h (PROCESS_LIVE_P): Use the process status as
6433         evidence of health, not the state of the input stream.
6434
6435 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6436
6437         * sysdep.c (sys_siglist): change "signum" to "signal"
6438
6439 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6440
6441         * s/darwin.h: New file.
6442         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6443         
6444 2002-04-23  Andreas Jaeger  <aj@suse.de>
6445
6446         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6447         which use lib64 for 64-bit libs.
6448         (START_FILES): Likewise.
6449
6450 2002-02-11  Mike Sperber  <mike@xemacs.org>
6451
6452         * device-x.c: 
6453         (x_IO_error_handler):
6454         (x_init_device): Temporarily keep device in static variable
6455         `device_being_initialized' so we can recover gracefully from
6456         internal XOpenDevice failure.  (XOpenDevice is documented to
6457         return NULL on failure, but sometimes calls the IO error handler
6458         instead.)
6459
6460 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6461
6462         * dired.c (Ffile_name_all_completions): Change documentation --
6463         remove reference to completion-ignored-extensions.
6464         * dired.c (vars_of_dired): Change documentation for
6465         completion-ignored-extensions -- remove reference to
6466         file-name-all-completions.
6467
6468 2002-03-06  Jerry James  <james@xemacs.org>
6469
6470         * emodules.c (emodules_load): Fix multiple loading of same module.
6471
6472 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6473         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6474         RTLD_LAZY to avoid incorrect symbol binding when using nested
6475         shared libraries on Solaris.
6476
6477 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6478
6479         * fileio.c (Ffind_file_name_handler): Improve docstring.
6480
6481 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6482
6483         * fns.c (Fmapconcat): Improve docstring.
6484
6485 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6486
6487         * device-gtk.c: Add prototype for
6488         emacs_gtk_selection_clear_event_handle.
6489         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6490         selection.  Setup signal handler for "selection_clear_event"
6491         (emacs_gtk_selection_clear_event_handle).
6492
6493         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6494         other applications owning the clipboard (based on
6495         x_handle_selection_clear).
6496
6497 2001-12-23  William M. Perry  <wmperry@gnu.org>
6498
6499         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6500         
6501 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6502
6503         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6504
6505 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6506
6507         * XEmacs 21.4.6 "Common Lisp" is released.
6508
6509 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6510
6511         * search.c (Freplace_match): Add missing sub-expression functionality.
6512
6513         * buffer.c (decode_buffer): Add a check for pointer type to
6514         decode_buffer, before gcc's CSE optimization reorders a
6515         dereference in front of the allow_string test.
6516
6517 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6518
6519         * window.c (window_loop): Fix bug that sometimes prevented
6520         window_loop() from iterating across multiple devices.  Also, at
6521         Ben's request, changed infloop-detecting code to abort() instead
6522         of silently terminating window_loop().
6523
6524 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6525
6526         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6527         * editfns.c (make_time): New function.
6528         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6529         * lisp.h (make_time): Prototype and comment it.
6530         * dired.c (wasteful_word_to_lisp): Deprecate.
6531         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6532
6533 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6534
6535         * fileio.c (auto_save_1): Use current coding system, not
6536         escape-quoted.
6537
6538 2001-11-13  Ben Wing  <ben@xemacs.org>
6539
6540         * window.c:
6541         * window.c (window_truncation_on):
6542         * window.c (syms_of_window):
6543         truncate-partial-width-windows should respect the buffer being
6544         displayed, like other redisplay vars.
6545
6546 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6547
6548         * event-stream.c (Fread_key_sequence): save current buffer.
6549
6550 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6551
6552         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6553
6554 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6555
6556         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6557
6558 2001-10-26  Mike Alexander  <mta@arbortext.com>
6559
6560         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6561
6562 2001-10-25  Andy Piper  <andy@xemacs.org>
6563
6564         * ChangeLog:
6565         * dialog-msw.c (handle_directory_proc): new function.
6566          (handle_directory_dialog_box): new fucntion.
6567          (handle_file_dialog_box): use new directory dialog support.
6568          (mswindows_make_dialog_box_internal): ditto.
6569         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6570         handling.
6571         (mswindows_find_frame): make global.
6572         * fileio.c (Fexpand_file_name): build fix.
6573         * general-slots.h: add Qdirectory.
6574         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6575         handling.
6576         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6577         cygwin not leaving win32 paths unchanged.
6578         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6579         cygwin runtime to do path conversion.
6580         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6581         (syms_of_win32): add new function.
6582         * window.c (window_loop): build fix.
6583
6584 2001-10-15  Andy Piper  <andy@xemacs.org>
6585
6586         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6587
6588 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6589
6590         * XEmacs 21.4.5 "Civil Service" is released.
6591
6592 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6593
6594         * glyphs-x.c: Force buffer-tab highlight update when moving the
6595         buffer, avoiding an ugly black border, used for keyboard focus
6596         indication, on a widget that can never have keyboard focus, the
6597         buffer tab.
6598
6599 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6600
6601         * process-unix.c (unix_open_multicast_group): Remove too much
6602         conversion between host and network byte order.
6603
6604 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6605
6606         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6607         before replacing them.
6608
6609         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6610         operation.
6611
6612         * src/window.c (undedicate_windows): Use it.
6613         * src/window.h: Add prototype.
6614
6615 2001-09-17  Ben Wing  <ben@xemacs.org>
6616
6617         * fileio.c (normalize_filename):
6618         * fileio.c (Fexpand_file_name):
6619         Fix various C++ compile errors in Andy's recent code.
6620         
6621         * callint.c (Fcall_interactively):
6622         * editfns.c (Ftemp_directory):
6623         * editfns.c (Fuser_full_name):
6624         * emacs.c (argmatch):
6625         * lread.c (locate_file_map_suffixes):
6626         * redisplay-x.c (x_ring_bell):
6627         Fix sign-compare warnings.
6628         
6629 2001-09-08  Andy Piper  <andy@xemacs.org>
6630
6631         * fileio.c (normalize_filename): copied from nt.c
6632         * (Ffile_name_directory): enable win32 paths under cygwin.
6633         * (Ffile_name_nondirectory): ditto.
6634         * (directory_file_name): ditto.
6635         * (Fexpand_file_name): ditto.
6636         * (Ffile_truename): ditto.
6637         * (Fsubstitute_in_file_name): ditto.
6638         * (Ffile_name_absolute_p): ditto.
6639         * (Ffile_readable_p): ditto.
6640
6641 2001-09-08  Andy Piper  <andy@xemacs.org>
6642
6643         * device-msw.c (mswindows_finish_init_device): remove dde
6644         initialization.
6645         * device-msw.c (mswindows_init_dde): factor out from
6646         mswindows_finish_init_device()
6647         * device-msw.c (init_mswindows_very_early): new function
6648         initialize but don't enable dde.
6649         * emacs.c (main_1): call init_mswindows_very_early.
6650         * event-msw.c:
6651         * event-msw.c (mswindows_dde_callback): only execute when we are
6652         ready.
6653         * symsinit.h: declare init_mswindows_very_early.
6654
6655 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6656
6657         [sjt: This has been in 21.5 for months with no complaints.]
6658
6659         * console.h (struct console_methods): Added flags member.
6660         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6661         (CONMETH_IMPL_FLAG):
6662         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6663         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6664
6665         * device.c (window_system_pixelated_geometry): Use the above macros.
6666
6667         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6668         implememntation flag.
6669         * device.h (DEVICE_DISPLAY_P): Use it.
6670
6671         * frame.c (delete_frame_internal): Use the above macro.
6672
6673         * redisplay.c (redisplay_device): Use it.
6674         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6675         (redisplay_frame): Ditto.
6676
6677         * device-msw.c (mswindows_device_implementation_flags): Removed.
6678         (msprinter_device_implementation_flags): Removed.
6679         (console_type_create_device_mswindows): Removed references to
6680         implementation_flags methods, set implementation flags here.
6681         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6682
6683         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6684         (console_type_create_device_gtk): Removed method declaration.
6685         Added commented out statement which semantically matches the
6686         commented out statement in the above removed method.
6687
6688 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6689
6690         The attached patch fixes a few warnings. 
6691
6692         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6693         * src/frame-gtk.c: guard against GNOME calls in GTK only
6694         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6695         * src/select-gtk.c: prototype lisp_to_time
6696
6697 2001-06-08  Ben Wing  <ben@xemacs.org>
6698
6699         ------ gc-in-window-procedure fixes ------
6700         
6701         * alloc.c:
6702         * alloc.c (struct post_gc_action):
6703         * alloc.c (register_post_gc_action):
6704         * alloc.c (run_post_gc_actions):
6705         * alloc.c (garbage_collect_1):
6706         Create "post-gc actions", to avoid those dreaded "GC during window
6707         procedure" problems.
6708
6709         * event-msw.c:
6710         Abort, clean and simple, when GC in window procedure.  We want
6711         to flush these puppies out.
6712
6713         * glyphs-msw.c:
6714         * glyphs-msw.c (finalize_destroy_window):
6715         * glyphs-msw.c (mswindows_finalize_image_instance):
6716         Use a post-gc action when destroying subwindows.
6717
6718         * lisp.h:
6719         Declare register_post_gc_action().
6720
6721         * scrollbar-msw.c:
6722         * scrollbar-msw.c (unshow_that_mofo):
6723         Use a post-gc action when unshowing scrollbar windows, if in gc.
6724
6725         * redisplay.c (mark_redisplay):
6726         Add comment about the utter evilness of what's going down here.
6727
6728         ------ cygwin setitimer fixes ------
6729         
6730         * Makefile.in.in (sheap_objs):
6731         * Makefile.in.in (profile_objs):
6732         * Makefile.in.in (objs):
6733         Compile profile.c only when HAVE_SETITIMER.
6734         
6735         * nt.c (mswindows_sigset):
6736         * nt.c (mswindows_sighold):
6737         * nt.c (mswindows_sigrelse):
6738         * nt.c (mswindows_sigpause):
6739         * nt.c (mswindows_raise):
6740         * nt.c (close_file_data):
6741         Style fixes.
6742         
6743         * nt.c:
6744         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6745         
6746         * profile.c:
6747         * profile.c (Fstart_profiling):
6748         * profile.c (Fstop_profiling):
6749         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6750         instead of just plain setitimer().
6751         
6752         * signal.c:
6753         * signal.c (set_one_shot_timer):
6754         * signal.c (alarm):
6755         Define qxe_setitimer() as an encapsulation around setitimer() --
6756         call setitimer() directly unless Cygwin or MS Win, in which case
6757         we use our simulated version in win32.c.
6758         
6759         * systime.h:
6760         * systime.h (struct itimerval):
6761         * systime.h (ITIMER_REAL):
6762         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6763         comment about "qxe" and the policy regarding encapsulation.
6764
6765         * win32.c:
6766         * win32.c (setitimer_helper_proc):
6767         * win32.c (setitimer_helper_period):
6768         * win32.c (setitimer_helper):
6769         * win32.c (mswindows_setitimer):
6770         Move setitimer() emulation here, so Cygwin can use it.
6771         Rename a couple of functions and variables to be longer and more
6772         descriptive.  In setitimer_helper_proc(), send the signal
6773         using either mswindows_raise() or (on Cygwin) kill().  If for
6774         some reason we are still getting lockups, we'll change the kill()
6775         to directly invoke the signal handlers.
6776
6777         ------ windows shell fixes ------
6778         
6779         * callproc.c:
6780         * ntproc.c:
6781         Comments about how these two files must die.
6782
6783         * callproc.c (init_callproc):
6784         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6785         not just COMSPEC. (more correct and closer to FSF.) Don't
6786         force a value for SHELL into the environment. (Comments added
6787         to explain why not.)
6788         
6789         * nt.c (init_user_info):
6790         Don't shove a fabricated SHELL into the environment.  See above.
6791
6792 2001-06-01  Ben Wing  <ben@xemacs.org>
6793
6794         * Makefile.in.in (ldflags):
6795         eliminate that pesky "defaulting to 00401000" warning.
6796         * nt.h:
6797         eliminate warnings.
6798
6799 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6800
6801         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6802         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6803
6804 2001-04-24  Jerry James <james@xemacs.org>
6805
6806         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6807         correct order.
6808
6809 2001-06-01  Ben Wing  <ben@xemacs.org>
6810
6811         * event-msw.c (debug_mswin_messages):
6812         conditionalize the messages that were causing compile errors.
6813         (if only macros could generate #ifdef statements ...)
6814
6815 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6816
6817         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6818
6819 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6820
6821         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6822
6823 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6824
6825         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6826         * process-unix.c (unix_canonicalize_host_name):
6827         sysdep.c (init_system_name):
6828         Use it to conditionally support IPv6 canonicalization.
6829
6830 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6831
6832         * event-msw.c:
6833         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6834
6835 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6836
6837         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6838         attempt is made to scroll when no scroll bar is available.
6839
6840 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6841
6842         * input-method-motif.c (XIM_delete_frame): New callback.
6843         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6844         got deleted from 21.4.3.)
6845
6846 2001-06-01  Ben Wing  <ben@xemacs.org>
6847
6848         * nt.c (mswindows_utime):
6849         * nt.c (close_file_data):
6850         fix off-by-one-indirection error.
6851
6852 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6853
6854         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6855         because set_file_times() now takes Lisp_Object path, instead of
6856         char*.
6857         * nt.c: Include buffer.h.
6858         * nt.c (convert_from_time_t): New.
6859         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6860         not set mtime correctly.
6861         * nt.h: Declare mswindows_utime().
6862         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6863         path, instead of char*.
6864         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6865
6866 2001-05-30  Ben Wing  <ben@xemacs.org>
6867
6868         For 21.4:
6869
6870         (Stephen, just take all event-msw.c patches.  This includes
6871         the "iconify" fix below.)
6872
6873         * event-msw.c:
6874         * event-msw.c (mswindows_dequeue_dispatch_event):
6875         * event-msw.c (assert):
6876         * event-msw.c (emacs_mswindows_quit_p):
6877         * event-msw.c (debug_mswin_messages):
6878         * event-msw.c (debug_output_mswin_message):
6879         * event-msw.c (vars_of_event_mswindows):
6880         Fix yet more problems with C-g handling.
6881         Implement debug-mswindows-events.
6882         
6883 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6884
6885         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6886         
6887 2001-05-23  Ben Wing  <ben@xemacs.org>
6888
6889         * event-msw.c (winsock_writer):
6890         * event-msw.c (winsock_closer):
6891         prior kludgy code was clobbering the buffer, thinking it was
6892         "unused" space to store an unneeded return value; instead, use
6893         the variable we've already got staring us in the face.
6894
6895 2001-05-17  Andy Piper  <andy@xemacs.org>
6896
6897         * sysfile.h: don't assume that file attributes are boolean
6898
6899 2001-05-23  Ben Wing  <ben@xemacs.org>
6900
6901         * device-msw.c (msprinter_init_device):
6902         signal an error rather than crash with an unavailable network
6903         printer (from Mike Alexander).
6904         
6905         * event-msw.c:
6906         * event-msw.c (struct winsock_stream):
6907         * event-msw.c (winsock_writer):
6908         * event-msw.c (winsock_closer):
6909         * event-msw.c (make_winsock_stream_1):
6910         cleanup headers.  fix (hopefully) an error with data corruption
6911         when sending to a network connection.
6912
6913         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6914         to handle the ~user prefix by (a) always assuming we're referencing
6915         ourselves and not even verifying the user -- hence any file with
6916         a tilde as its first char is invalid! (b) if there wasn't a slash
6917         following the filename, the pointer was set *past* the end of
6918         file and we started reading from uninitialized memory.  Now we
6919         simply treat these as files, always.
6920
6921         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6922         
6923 2001-05-19  Ben Wing  <ben@xemacs.org>
6924
6925         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6926
6927         * process-nt.c:
6928         * process-nt.c (vars_of_process_nt):
6929         remove unused mswindows-quote-process-args.  rec for 21.4.
6930         
6931 2001-05-12  Ben Wing  <ben@xemacs.org>
6932
6933         * event-msw.c (mswindows_dde_callback):
6934         * event-msw.c (mswindows_wnd_proc):
6935         eliminate cygwin warnings.
6936
6937 2001-05-06  Ben Wing  <ben@xemacs.org>
6938
6939         * console-msw.h:
6940         * device-msw.c:
6941         * device-msw.c (print_dialog_worker):
6942         * device-msw.c (mswindows_handle_print_dialog_box):
6943         * device-msw.c (syms_of_device_mswindows):
6944         * dialog-msw.c (mswindows_make_dialog_box_internal):
6945         * general-slots.h:
6946         implement printing the selection when it's selected.
6947
6948 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6949
6950         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6951
6952 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6953
6954         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6955         EMACS_INT is signed.
6956
6957 2001-04-15  Michael Lausch  <mla@1012surf.net>
6958
6959         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6960         gtk_widget_request_size() to give scrollbar >0 width for
6961         GTK >1.2.8.
6962
6963 2001-05-30  William M. Perry  <wmperry@gnu.org>
6964
6965         * event-gtk.c: Check for buttons as modifier keys.
6966
6967 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6968
6969         * s\mingw32.h:
6970         Properly find MinGW's <process.h> inside Cygwin's restructured
6971         include directories.  Don't try to include <cygwin/version.h>
6972         since we are dropping support for MinGW in versions of Cygwin
6973         earlier than b21.
6974         * nt.c:
6975         Drop support for MinGW in versions of Cygwin before b21.
6976         * sysdep.c:
6977         Properly find MinGW's <process.h> inside Cygwin's restructured
6978         include directories.
6979         * syswindows.h:
6980         Drop support for MinGW in versions of Cygwin before b21.
6981         * unexcw.c:
6982         Even though a.out.h is no longer detected by configure, allow
6983         MinGW to use it until we figure out how to do the job with Win32.
6984
6985 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6986
6987         * syntax.c (find_start_of_comment):
6988         Fix `unbalanced parentheses' bug when dealing with mixed comment
6989         styles in c++/java/etc. mode
6990
6991 2001-05-29  Mike Alexander  <mta@arbortext.com>
6992
6993         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6994         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6995
6996 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6997
6998         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6999
7000 2001-03-31  Mike Sperber <mike@xemacs.org>
7001
7002         * search.c (Freplace_match): Support FSF-style specification of
7003         match subexpression when applied to a buffer.
7004
7005 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7006
7007         * event-stream.c (is_scrollbar_event): add missing semicolon
7008
7009 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
7010
7011         * Makefile.in.in: Use TAR macro instead of hardcoding
7012           tar.  Allows use of GNU tar instead of system tar
7013
7014 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7015
7016         * event-stream.c (is_scrollbar_event): add missing semicolon
7017
7018 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7019
7020         * XEmacs 21.4.3 "Academic Rigor" is released.
7021
7022 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7023
7024         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
7025
7026 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7027
7028         * buffer.c (Vcase_fold_search): Remove obsolete
7029           comment about non ASCII case-fold-search.  This
7030           bug has been fixed by case-table changes.
7031
7032 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
7033
7034         * event-msw.c: Restore include of events-mod.h.
7035
7036 2001-04-22   zhaoway  <zw@debian.org>
7037
7038         * event-stream.c (is_scrollbar_event): Noop returning 0 if
7039         !HAVE_SCROLLBARS.
7040
7041 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
7042
7043         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
7044
7045 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
7046
7047         * mule-charset.c (Fmake_charset): Add missing else.
7048
7049 2001-04-23  Ben Wing  <ben@xemacs.org>
7050
7051         * event-msw.c (FAKE_MOD_QUIT):
7052         * event-msw.c (mswindows_dequeue_dispatch_event):
7053         * event-msw.c (mswindows_wnd_proc):
7054         * event-msw.c (emacs_mswindows_quit_p):
7055         Get critical quit working.
7056
7057 2001-05-05  Ben Wing  <ben@xemacs.org>
7058
7059         * console-msw.h:
7060         * device-msw.c:
7061         * device-msw.c (mswindows_get_default_margin):
7062         * frame-msw.c (mswindows_size_frame_internal):
7063         * frame-msw.c (msprinter_init_frame_1):
7064         * frame-msw.c (vars_of_frame_mswindows):
7065         Change top/bottom margin defaults to 0.5 inches.
7066
7067 2001-05-01  Martin Buchholz  <martin@xemacs.org>
7068
7069         Fix link error with gcc 3.0 on Linux.
7070         * terminfo.c (UP): Remove.
7071         * terminfo.c (BC): Remove.
7072         * terminfo.c (PC): Remove.
7073         They weren't used, and in any case, these symbols should be
7074         defined in the *library*.
7075
7076 2001-05-03  Martin Buchholz  <martin@xemacs.org>
7077
7078         * s/aix4.h: Fix crash with xlc -O3.
7079         Improve comment explaining how -O3 works.
7080
7081 2001-04-15  Ben Wing  <ben@xemacs.org>
7082
7083         * event-stream.c:
7084         * event-stream.c (Fnext_event):
7085         * event-stream.c (is_scrollbar_event):
7086         * event-stream.c (execute_command_event):
7087         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
7088         crash' problem.  His fix introduces other problems.  We filter
7089         out scrollbar events specifically, making them somewhat invisible
7090         to command-building, and not appearing in `this-command-keys'.
7091         More work is still needed (see comments in event-stream.c), but
7092         this fixes all the major problems.
7093
7094 2001-04-20  Ben Wing  <ben@xemacs.org>
7095
7096         * .cvsignore: Added stuff for Windows.
7097
7098 2001-04-28  Ben Wing  <ben@xemacs.org>
7099
7100         * buffer.c (Ferase_buffer):
7101         * editfns.c (buffer_insert1):
7102         * editfns.c (Finsert_before_markers):
7103         * editfns.c (Finsert_string):
7104         * editfns.c (Finsert_char):
7105         * editfns.c (Fdelete_region):
7106         * editfns.c (Fwiden):
7107         * editfns.c (Fnarrow_to_region):
7108         remove bogus lines setting zmacs_region_stays to 0.
7109         
7110 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7111
7112         * process-unix.c (unix_open_network_stream): If connect() fails
7113         invalidate file descriptor after closing it.
7114
7115 2001-03-08  Mike Alexander  <mta@arbortext.com>
7116
7117         * event-msw.c (mswindows_need_event_in_modal_loop):
7118         Don't dispatch a message if we didn't get one.
7119         (mswindows_need_event):
7120         Terminate the correct process when one exits instead of the first
7121         one on Vprocess_list and look for process termination when in
7122         mswindows_protect_modal_loop.
7123
7124 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
7125
7126         * XEmacs 21.4.1 "Copyleft" is released.
7127
7128 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7129
7130         * input-method-motif.c (XIM_delete_frame): New callback.
7131         (XIM_init_frame): Register it.
7132
7133 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7134
7135         * XEmacs 21.4.0 "Solid Vapor" is released.
7136
7137 2001-04-15  Ben Wing  <ben@xemacs.org>
7138
7139         * cmdloop.c (call_command_loop):
7140         Fix braino in bit-rotting code.
7141         
7142 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
7143
7144         * extents.c (Fset_extent_endpoints): Force creation of extent info
7145         in buffer_or_string.
7146
7147         * extents.c (process_extents_for_insertion_mapper): Correctly
7148         check for open-open zero-length extents.
7149
7150 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7151
7152         * lisp.h: New typedefs Memory_count, Element_count.
7153         * regex.c:
7154         * regex.h:
7155         Sign-compare warning elimination: several unsigned -> signed.
7156         Based on work by Ben Wing <ben@xemacs.org>.
7157
7158 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
7159
7160         * XEmacs 21.2.47 "Zephir" is released.
7161
7162 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
7163
7164         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
7165
7166 2001-04-03  Mike Sperber <mike@xemacs.org>
7167
7168         * search.c: Revert previous patch due because of release.
7169
7170 2001-03-30  Ben Wing  <ben@xemacs.org>
7171
7172         * s\cygwin32.h:
7173         Add missing killpg prototype.
7174
7175         * elhash.c:
7176         Add a comment about fixing problems when a new entry is added
7177         while mapping.
7178
7179         * frame-msw.c (mswindows_init_frame_1):
7180         Fix compile warnings.
7181
7182         * menubar.c (vars_of_menubar):
7183         Provide `menu-accelerator-support' to indicate that we properly
7184         support %_ in menu specifications, so that package code can
7185         conditionalize on this (and remove %_ from menu specifications
7186         on older versions).
7187
7188         * event-msw.c:
7189         * scrollbar-msw.c:
7190         * scrollbar-msw.c (can_scroll):
7191         * scrollbar-msw.h:
7192         Fix handling of mouse wheel under Windows to follow standards --
7193         now scrolls window under pointer, not selected window.
7194
7195 2001-03-31  Mike Sperber <mike@xemacs.org>
7196
7197         * search.c (Freplace_match): Support FSF-style specification of
7198         match subexpression when applied to a buffer.
7199
7200 2001-03-15  Martin Buchholz  <martin@xemacs.org>
7201
7202         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
7203         function to modify KEYMAP, so map over a copy of the hash table.
7204
7205 2001-03-21  Martin Buchholz <martin@xemacs.org>
7206
7207         * XEmacs 21.2.46 "Urania" is released.
7208
7209 2001-03-20  Dan Holmsand  <dan@eyebee.com>
7210
7211         * realpath.c (xrealpath): Make file-truename work with symlinks to
7212         /cygdrive paths on cygwin. Always lowercase drive-letters on
7213         native windows.
7214         (cygwin_readlink): Don't try to find canonical filename unless
7215         file exists.
7216
7217 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
7218
7219         * ChangeLog: Log GTK merge.
7220
7221         * dumper.c:
7222         * select-x.c:
7223         * specifier.c:
7224         * symeval.h:
7225         Revert gratuitous whitespace changes from GTK merge.
7226
7227         * emacs.c: Document end of complex #ifdef @ l. 1495.
7228
7229
7230 2001-03-12  Andy Piper  <andy@xemacs.org>
7231
7232         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7233         have to do likewise.
7234
7235 2001-03-12  Andy Piper  <andy@xemacs.org>
7236
7237         * sysdep.c: we only support mingw now.
7238
7239 2001-03-09  Andy Piper  <andy@xemacs.org>
7240
7241         * unexcw.c (copy_executable_and_dump_data_section): making approx
7242         overrun a warning only.
7243
7244 2001-03-10  William M. Perry  <wmperry@aventail.com>
7245
7246         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7247         satisfy Stephen's identical-after-cpp plea.
7248
7249 2001-03-02  Ben Wing  <ben@xemacs.org>
7250
7251         * cmds.c:
7252         * cmds.c (Fforward_char):
7253         * syntax.c:
7254         * window.c:
7255
7256         Augment documentation of the most common motion commands to make
7257         note of the shifted-motion support.
7258         
7259 2001-03-02  Ben Wing  <ben@xemacs.org>
7260
7261         * nt.c (mswindows_fstat):
7262         * nt.c (mswindows_stat):
7263         * search.c (boyer_moore):
7264         Fix compile warnings under Windows.
7265         
7266         * sysdep.c (sys_readdir):
7267         Fix buggy filename-conversion code under Mule.
7268
7269 2001-03-09  William M. Perry  <wmperry@aventail.com>
7270
7271         * Makefile.in.in:
7272         * config.h.in:
7273         * console.c:
7274         * console.h:
7275         * device.c:
7276         * device.h:
7277         * dragdrop.c:
7278         * emacs.c:
7279         * event-stream.c:
7280         * events.c:
7281         * events.h:
7282         * faces.c:
7283         * frame.h:
7284         * general-slots.h:
7285         * glyphs.c:
7286         * gutter.c:
7287         * inline.c:
7288         * lisp.h:
7289         * lrecord.h:
7290         * make-src-depend:
7291         * redisplay-output.c:
7292         * redisplay.c:
7293         * symsinit.h:
7294         * sysfile.h:
7295         * toolbar.c:
7296         * window.c:
7297         The Great GTK Merge.
7298
7299         * ChangeLog.GTK:
7300         * console-gtk.c:
7301         * console-gtk.h:
7302         * device-gtk.c:
7303         * emacs-marshals.c:
7304         * emacs-widget-accessors.c:
7305         * event-gtk.c:
7306         * frame-gtk.c:
7307         * gccache-gtk.c:
7308         * gccache-gtk.h:
7309         * glade.c:
7310         * glyphs-gtk.c:
7311         * glyphs-gtk.h:
7312         * gtk-glue.c:
7313         * gtk-xemacs.c:
7314         * gtk-xemacs.h:
7315         * gui-gtk.c:
7316         * gui-gtk.h:
7317         * menubar-gtk.c:
7318         * native-gtk-toolbar.c:
7319         * objects-gtk.c:
7320         * objects-gtk.h:
7321         * redisplay-gtk.c:
7322         * scrollbar-gtk.c:
7323         * scrollbar-gtk.h:
7324         * select-gtk.c:
7325         * toolbar-gtk.c:
7326         * ui-byhand.c:
7327         * ui-gtk.c:
7328         * ui-gtk.h:
7329         The Great GTK Merge: new files.
7330
7331 2001-02-26  Ben Wing  <ben@xemacs.org>
7332
7333         Reapplied Lstream change.
7334
7335 2001-02-26  Ben Wing  <ben@xemacs.org>
7336
7337         Undid the last change, since it is more controversial than I
7338         thought.  It should be back in at some point soon.
7339         
7340 2001-02-25  Ben Wing  <ben@xemacs.org>
7341
7342         * buffer.c:
7343         * callproc.c (Fold_call_process_internal):
7344         * event-msw.c (ntpipe_slurp_reader):
7345         * event-msw.c (ntpipe_shove_writer):
7346         * event-msw.c (winsock_reader):
7347         * event-msw.c (winsock_writer):
7348         * file-coding.c:
7349         * file-coding.c (detect_eol_type):
7350         * file-coding.c (detect_coding_type):
7351         * file-coding.c (determine_real_coding_system):
7352         * file-coding.c (Fdetect_coding_region):
7353         * file-coding.c (decoding_reader):
7354         * file-coding.c (decoding_writer):
7355         * file-coding.c (mule_decode):
7356         * file-coding.c (Fdecode_coding_region):
7357         * file-coding.c (encoding_reader):
7358         * file-coding.c (encoding_writer):
7359         * file-coding.c (mule_encode):
7360         * file-coding.c (Fencode_coding_region):
7361         * file-coding.c (detect_coding_sjis):
7362         * file-coding.c (decode_coding_sjis):
7363         * file-coding.c (encode_coding_sjis):
7364         * file-coding.c (detect_coding_big5):
7365         * file-coding.c (decode_coding_big5):
7366         * file-coding.c (encode_coding_big5):
7367         * file-coding.c (detect_coding_ucs4):
7368         * file-coding.c (decode_coding_ucs4):
7369         * file-coding.c (encode_coding_ucs4):
7370         * file-coding.c (detect_coding_utf8):
7371         * file-coding.c (decode_coding_utf8):
7372         * file-coding.c (encode_coding_utf8):
7373         * file-coding.c (detect_coding_iso2022):
7374         * file-coding.c (decode_coding_iso2022):
7375         * file-coding.c (encode_coding_iso2022):
7376         * file-coding.c (decode_coding_no_conversion):
7377         * file-coding.c (encode_coding_no_conversion):
7378         * glyphs-x.c (write_lisp_string_to_temp_file):
7379         * gpmevent.c (tty_get_foreign_selection):
7380         * lisp.h:
7381         * lstream.c:
7382         * lstream.c (Lstream_flush_out):
7383         * lstream.c (Lstream_adding):
7384         * lstream.c (Lstream_write_1):
7385         * lstream.c (Lstream_write):
7386         * lstream.c (Lstream_raw_read):
7387         * lstream.c (Lstream_read_more):
7388         * lstream.c (Lstream_read):
7389         * lstream.c (Lstream_unread):
7390         * lstream.c (Lstream_fputc):
7391         * lstream.c (stdio_reader):
7392         * lstream.c (stdio_writer):
7393         * lstream.c (filedesc_reader):
7394         * lstream.c (filedesc_writer):
7395         * lstream.c (lisp_string_reader):
7396         * lstream.c (struct fixed_buffer_stream):
7397         * lstream.c (make_fixed_buffer_input_stream):
7398         * lstream.c (make_fixed_buffer_output_stream):
7399         * lstream.c (fixed_buffer_reader):
7400         * lstream.c (fixed_buffer_writer):
7401         * lstream.c (struct resizing_buffer_stream):
7402         * lstream.c (resizing_buffer_writer):
7403         * lstream.c (dynarr_writer):
7404         * lstream.c (lisp_buffer_reader):
7405         * lstream.c (lisp_buffer_writer):
7406         * lstream.h:
7407         * lstream.h (lstream_implementation):
7408         * lstream.h (struct lstream):
7409         * md5.c (Fmd5):
7410         * process-nt.c (nt_send_process):
7411         * process-unix.c (unix_send_process):
7412         
7413         Correct Lstream lossage due to mixing of signed and unsigned
7414         quantities.  All Lstream uses of size_t and ssize_t are now a
7415         single signed data type Lstream_data_count.  This fixes problems
7416         under Windows with sending large quantities of data to a process,
7417         and may well fix other subtle bugs.
7418
7419 2001-02-23  Martin Buchholz <martin@xemacs.org>
7420
7421         * XEmacs 21.2.45 "Thelxepeia" is released.
7422
7423 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7424
7425         * lisp-union.h (XSETINT): 
7426         (XSETCHAR):
7427         (XSETOBJ): 
7428         Reverse previous change of 2001-02-06.
7429
7430 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7431
7432         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7433         buffers.
7434         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7435         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7436         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7437         * regex.c (POS_AS_IN_BUFFER): removed
7438         * regex.c (re_search_2):
7439         * regex.c (re_match_2):
7440         Don't use an offset of 1 when calculating buffer positions, since
7441         `BI_BUF_BEGV' does it already.
7442
7443 2001-02-18  Wim Dumon  <wim@easics.be>
7444
7445         * insdel.c (prepare_to_modify_buffer): Also check for
7446         supersession when clash-detection is enabled. 
7447
7448 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7449
7450         * regex.c (re_match_2_internal):
7451         Convert temp characters from 'const unsigned char' to 're_char'.
7452         Fix crashing bug with extended characters under mule.
7453         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7454         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7455         font-lock, pdump, and new syntax-table code.
7456         * syntax.c (find_start_of_comment):
7457         (find_end_of_comment):
7458         (forward-comment):
7459         Fix crashing bugs involving moving beyond end of buffer.
7460         * syntax.c (find_start_of_comment):
7461         Fixed logic to allow proper detection of cases where the same
7462         character is used to end both a two-char comment start and a
7463         two-char comment end sequence. Fixes `(forward-comment -1)'.
7464         * syntax.c (find_start_of_comment):
7465         Return position just past last comment-end character for all cases
7466         (previously was only done for two-char comment-end sequences).
7467         * syntax.c (forward-comment):
7468         Take value returned from `find_end_of_comment', rather than
7469         incrementing it.
7470         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7471         Properly deal with BUFFERP (syntax_cache.object)
7472
7473 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7474
7475         * alloc.c (Fgarbage_collect): 
7476         * alloc.c (make_bit_vector_from_byte_vector):
7477         -Wsign-compare-correctness.
7478
7479 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7480
7481         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7482         (XSETCHAR): Likewise.
7483         (XSETOBJ): Likewise.
7484
7485 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7486
7487         * mule-canna.c (canna-func-delete_previous): 
7488         Rename to canna-func-delete-previous.
7489
7490 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7491
7492         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7493
7494 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7495
7496         * font-lock.c (find_context): Fix C++ compile errors introduced by
7497         recent patch
7498
7499 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7500
7501         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7502         pragma, but earlier ones barf on the same pragma.
7503
7504 2001-02-06  Mike Sperber <mike@xemacs.org>
7505
7506         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7507         `configure-mule-lisp-directory'.
7508
7509 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7510
7511         Make sure dump-id.c is compiled in the same way as other .c's.
7512         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7513         * dump-id.h: Remove.
7514         * emacs.c: Move dump-id.h into dumper.h.
7515         * dumper.h: Move dump-id.h into dumper.h.
7516         * Makefile.in.in:
7517         Use standard .c.o rule for building dump-id.o.
7518         Remove preprocessor flags from link command.
7519         Add dump-id.o to ${otherobjs} if PDUMP.
7520
7521 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7522
7523         Port FSF 20.7 syntax table improvements.
7524         * syntax.c.
7525         * syntax.h.
7526
7527         Fixups for new syntax table stuff.
7528         * dired.c: Include syntax.c.
7529         (Fdirectory_files): Initialize regex_match_object and
7530         regex_emacs_buffer.
7531         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7532         and Fget_char_property.
7533
7534         Use ported FSF 20.7 syntax table improvements.
7535         * font-lock.c.
7536         * regex.c.
7537         * search.c.
7538         
7539 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7540
7541         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7542         Unixware's enum boolean from sys/types.h.
7543
7544 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7545
7546         Fix support for building with latest Purify.
7547         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7548         (PURIFY_FLAGS): Likewise.
7549
7550 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7551
7552         * fileio.c (lisp_string_set_file_times): New.
7553         * fileio.c (Fcopy_file): Use it.
7554         Fixes bug:
7555         (copy-file filename non-ascii-filename t t)
7556         ==> No such file or directory, non-ascii-filename
7557
7558 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7559
7560         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7561         USHRT_MAX seems clearer than ~0 anyways.
7562
7563 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7564
7565         dumper improvements.  Inspired by Olivier.
7566         * dumper.c (pdump_max_align): New.
7567         * dumper.c (pdump_add_entry): Use pdump_max_align.
7568         * dumper.c (pdump_get_entry_list): Likewise.
7569         * dumper.c (pdump_scan_by_alignment): Likewise.
7570         Don't iterate through unnecessary alignments.
7571         * dumper.c (pdump_file_get): No need to align result of malloc().
7572         * dumper.c (pdump_mallocadr): Remove.  
7573         The result of malloc() is guaranteed to be maximally aligned.
7574         * dumper.c: s/elmt/elt/g;
7575         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7576         * dumper.c (pdump_alert_undump_object): Likewise.
7577         * dumper.c (pdump_align_table): 
7578         Don't support alignments > 64.
7579         Store ALIGNOF's, not shift counts, in table.
7580
7581 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7582
7583         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7584         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7585         * systime.h: Use HAVE_UTIME.
7586         * sysdep.c (struct utimbuf): Remove.
7587         * sysdep.c (set_file_times): Prefer utime() to utimes().
7588         * config.h.in (HAVE_UTIME): New.
7589         * config.h.in (HAVE_UTIME_H): Remove.
7590         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7591
7592 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7593
7594         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7595
7596 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7597
7598         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7599
7600 2001-02-08  Martin Buchholz <martin@xemacs.org>
7601
7602         * XEmacs 21.2.44 "Thalia" is released.
7603
7604 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7605
7606         Fixes crashes in kill-emacs on some systems.
7607         * process-unix.c (unix_kill_child_process):
7608         It's OK for kill() to fail with ESRCH.
7609
7610 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7611
7612         Contortions to make .gdbinit tricks work on most systems.
7613         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7614         * alloc.c (dbg_valmask): Make non-const.
7615         * alloc.c (dbg_typemask): Make non-const.
7616         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7617         * alloc.c (dbg_valbits): Make non-const.
7618         * alloc.c (dbg_gctypebits): Make non-const.
7619         * .gdbinit (decode_object): Make it work with AIX cc.
7620
7621 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7622
7623         * elhash.c (make_general_lisp_hash_table):
7624         Use simpler and more efficient calloc to clear entries.
7625
7626 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7627
7628         * window.c (window_scroll): Work around an AIX C compiler bug.
7629         Fixes 'scroll-up' does nothing problem with xlC.
7630
7631 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7632
7633         * .gdbinit: Remove obsolete comment.
7634
7635 2001-01-31  Mike Alexander  <mta@arbortext.com>
7636
7637         * select.c (Fown_selection_internal): Set owned_p for device
7638         method correctly.
7639
7640 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7641
7642         Port to g++ 2.97.
7643         "not" cannot be used as a macro name as it is an operator in C++
7644         * config.h.in: Stop #defining `not'.
7645         * chartab.c (check_category_char): not ==> not_p
7646         * chartab.h: Likewise.
7647         * regex.c (re_match_2_internal): Likewise.
7648
7649 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7650
7651         * lisp-disunion.h: Fix up comments.
7652
7653 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7654
7655         * keymap.c (define_key_check_and_coerce_keysym):
7656         (syms_of_keymap):
7657         Support mouse-6 and mouse-7 bindings in the obvious way.
7658
7659 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7660
7661         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7662
7663 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7664
7665         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7666         Previous patch missed DEFVAR_INT_MAGIC.
7667         Make sure future DEFVAR_foo use correct types.
7668         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7669         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7670         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7671         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7672         * (DEFVAR_INT): Likewise.
7673         * redisplay.c (vertical_clip): Should be of type Fixnum.
7674         * redisplay.c (horizontal_clip): Likewise.
7675         * lisp.h (dump_add_opaque_int): New.
7676         (dump_add_opaque_fixnum): New.
7677
7678 2001-01-29  Andy Piper  <andy@xemacs.org>
7679
7680         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7681         since they can be eval'ed
7682
7683 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7684
7685         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7686         Oops, XEmacs redefines `class'.  Use `typename' instead.
7687
7688 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7689
7690         * dumper.c: Fix C++ compile errors.
7691
7692 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7693
7694         * tparam.c: Use correct prototypes.
7695
7696 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7697
7698         * sysproc.h: #include util.h for NetBSD's openpty.
7699
7700 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7701
7702         More 64-bit correctness.
7703         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7704         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7705         Fix up comments.
7706         This finally finishes the 64-bit SGI port.
7707         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7708         * symbols.c: Fix up comments and type casts.
7709         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7710         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7711         * symeval.h (Fixnum): New type.
7712         * symeval.h (symbol_value_type): Fix up comment.
7713
7714         * commands.h:
7715         * nt.c:
7716         * emacs.c:
7717         * data.c:
7718         * redisplay.c:
7719         * abbrev.c:
7720         * dired-msw.c:
7721         * event-Xt.c:
7722         * eldap.c:
7723         * window.c:
7724         * sound.c:
7725         * event-stream.c:
7726         * eval.c:
7727         * buffer.c:
7728         * mule-canna.c: A million DEFVAR_INTs here...
7729         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7730         * extents.c:
7731         * cmdloop.c:
7732         * lisp.h:
7733         * select-x.c:
7734         * console-x.h:
7735         * event-msw.c:
7736         * mule-wnnfns.c:
7737         * hpplay.c:
7738         * ralloc.c:
7739         * alloc.c:
7740         * keymap.c:
7741         * profile.c:
7742         s/int/Fixnum/g in DEFVAR_INT declarations.
7743
7744 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7745
7746         Port pdump to SGI alignment-sensitive environment.
7747         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7748         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7749         properly aligned.
7750         Define and use aligned reading and writing macros.
7751         Use buffered stdio instead of posix i/o for faster dumping.
7752         Eliminate kludgy 256 byte space for header.
7753         Read and write from dump file using structs for alignment safety.
7754         * dumper.c (pdump_align_stream): New.
7755         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7756         * dumper.c (PDUMP_READ_ALIGNED): New.
7757         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7758         * dumper.c (pdump_static_Lisp_Object): New struct.
7759         * dumper.c (pdump_static_pointer): New struct.
7760         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7761         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7762         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7763         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7764
7765         * dumper.c (pdump_backtrace):
7766         * dumper.c (pdump_get_indirect_count):
7767         * dumper.c (pdump_register_object):
7768         * dumper.c (pdump_register_struct):
7769         * dumper.c (pdump_reloc_one):
7770         * dumper.c (pdump_scan_by_alignment):
7771         * dumper.c (pdump_dump_from_root_struct_ptrs):
7772         * dumper.c (pdump_dump_opaques):
7773         * dumper.c (pdump_dump_rtables):
7774         * dumper.c (pdump_dump_from_root_objects):
7775         * dumper.c (pdump):
7776         * dumper.c (pdump_load_finish):
7777         Use aligned reading and writing.
7778
7779         * dumper.c (pdump_free): Make static.
7780         * dumper.c (pdump_hFile): Likewise.
7781         * dumper.c (pdump_hMap): Likewise.
7782
7783 2001-01-26  Martin Buchholz <martin@xemacs.org>
7784
7785         * XEmacs 21.2.43 "Terspichore" is released.
7786
7787 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7788
7789         Type fiddling for window_config.saved_windows_count
7790         * window.c (struct window_config): 
7791         Make saved_windows_count member unsigned.
7792         * window.c (sizeof_window_config_for_n_windows): 
7793         Make parameter unsigned.
7794         * window.c (mark_window_config):
7795         * window.c (window_config_equal):
7796         * window.c (free_window_configuration):
7797         * window.c (Fset_window_configuration):
7798         * window.c (count_windows):
7799         * window.c (Fcurrent_window_configuration):
7800         * window.c (reinit_vars_of_window):
7801         Update all callers and users.
7802
7803 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7804
7805         Alignment correctness for flexible arrays.
7806         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7807         Make alignment-correct. Add interesting comments.
7808         * alloc.c (size_vector):
7809         * alloc.c (make_vector_internal):
7810         * alloc.c (make_bit_vector_internal):
7811         * alloc.c (sweep_bit_vectors_1):
7812         * fns.c (size_bit_vector):
7813         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7814         * window.c (sizeof_window_config_for_n_windows): 
7815         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7816
7817 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7818
7819         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7820
7821 2001-01-23  Andy Piper  <andy@xemacs.org>
7822
7823         * select.c (Fown_selection_internal): pass owned_p
7824
7825         * select-msw.c (mswindows_own_selection): New Signature.
7826
7827         * console.h (struct console_methods): add owned_p to
7828         _own_selection.
7829
7830         * select-x.c (x_own_selection): pass owned_p
7831         (hack_motif_clipboard_selection): use owned_p
7832         (vars_of_select_x): new variable -
7833         x_selection_strict_motif_ownership.
7834
7835 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7836
7837         * specifier.h (specifier_data_offset): Remove pointless parens.
7838         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7839
7840 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7841
7842         Make Lisp_Object sizeof methods be alignment-correct.
7843         pdump must restore objects to the same alignment as the C compiler
7844         assumes.  It really matters on SGIs.
7845         * lstream.c (aligned_sizeof_lstream): New.
7846         (sizeof_lstream): Use aligned_sizeof_lstream.
7847         (Lstream_new): Likewise.
7848         * opaque.c (aligned_sizeof_opaque): New.
7849         (sizeof_opaque): Use aligned_sizeof_opaque.
7850         (make_opaque): Likewise.
7851         * specifier.c (aligned_sizeof_specifier): New.
7852         (sizeof_specifier): Use aligned_sizeof_specifier.
7853         (make_specifier_internal): Likewise.
7854
7855 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7856
7857         * lstream.h (struct lstream): Use max_align_t for trailing data.
7858         * specifier.h (struct Lisp_Specifier): Likewise.
7859
7860 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7861
7862         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7863         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7864         (CCL_SUSPEND): Likewise.
7865         (CCL_INVALID_CMD): Likewise.
7866         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7867         (ccl_driver): Likewise.
7868         (CCL_WRITE_CHAR): Macro hygiene.
7869         (CCL_WRITE_STRING): Macro hygiene.
7870
7871 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7872
7873         Port "portable" dumper to SunOS 4 and HP-UX.
7874         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7875         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7876         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7877
7878 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7879
7880         * lisp.h (ALIGNOF): A better definition for C++.
7881
7882 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7883
7884         Macro hygiene.
7885         Fix printf warnings: int format, long int arg.
7886         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7887         (PUSH_FAILURE_POINT): Use correct printf formats.
7888         (POP_FAILURE_POINT): Use correct printf formats.  
7889         Use do {...} while (0)
7890
7891 2001-01-20  Martin Buchholz <martin@xemacs.org>
7892
7893         * XEmacs 21.2.42 "Poseidon" is released.
7894
7895 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7896
7897         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7898
7899 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7900
7901         De-kludgify FIXED_TYPE free list frobbing.
7902         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7903         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7904         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7905         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7906         * alloc.c (LRECORD_FREE_P): New.
7907         * alloc.c (MARK_LRECORD_AS_FREE): New.
7908         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7909         * alloc.c (STRUCT_FREE_P): Deleted.
7910         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7911         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7912         * alloc.c (STRING_CHARS_FREE_P): New.
7913         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7914         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7915         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7916         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7917         * alloc.c (resize_string): Use new definitions.
7918         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7919         * alloc.c (verify_string_chars_integrity): Use new definitions.
7920         * alloc.c (compact_string_chars): Use new definitions.
7921         * alloc.c: Update monster comments.
7922         * lrecord.h (lrecord_type): Add some new lrecord types for
7923         alloc.c's use.
7924
7925 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7926
7927         Improve alignment hackery.
7928         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7929         (max_align_t): Moved from opaque.h - general purpose.
7930         (ALIGN_PTR): Use size_t, not long.
7931         * opaque.h (max_align_t): Move to lisp.h.
7932
7933 2001-01-18  Norbert Koch  <nk@LF.net>
7934
7935         * gui.h: Fix and add prototypes to fix build problems.
7936
7937 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7938
7939         temacs is going away, so `dump-temacs' is now a bad name.
7940         * .dbxrc (dump-temacs): Rename to `dmp'.
7941         * .gdbinit (dump-temacs): Rename to `dmp'.
7942
7943 2001-01-17  Andy Piper  <andy@xemacs.org>
7944
7945         * glyphs.c (print_image_instance): comment to make martin happy.
7946
7947         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7948         change.
7949
7950         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7951         activation.
7952         (mswindows_tab_control_redisplay): warning suppression.
7953
7954         * glyphs-widget.c (widget_update): re-write to cope with updated
7955         items.
7956         (widget_instantiate): use new gui_item functions.
7957         (tab_control_update): deleted.
7958         (progress_gauge_update): deleted.
7959         (image_instantiator_progress_guage): take out update reference.
7960         (image_instantiator_tree_view): ditto.
7961         (image_instantiator_tab_control): ditto.
7962
7963         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7964         Right the new way.
7965         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7966         return whether anything was changed.
7967         (update_gui_item_keywords): as it sounds.
7968
7969         * gui.h: declare widget_gui_parse_item_keywords.
7970
7971         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7972         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7973
7974 2001-01-17  Martin Buchholz <martin@xemacs.org>
7975
7976         * XEmacs 21.2.41 "Polyhymnia" is released.
7977
7978 2001-01-16  Didier Verna  <didier@xemacs.org>
7979
7980         * glyphs.c (image_instantiate): don't use fallbacks when
7981         instantiating a face's background pixmap by inheritance.
7982
7983 2001-01-14  Mike Sperber <mike@xemacs.org>
7984
7985         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7986         Conditionalize accordingly.
7987
7988 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7989
7990         * dumper.c (pdump_file_get): Fix a compiler warning.
7991
7992 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7993
7994         Make Purify happy when pdumping.
7995         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7996         iniitalizing all bits of new lisp object memory.
7997         * symbols.c (Fmake_local_variable): Likewise.
7998         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7999         * symbols.c (Fdefvaralias): Likewise.
8000         * mule-charset.c (vars_of_mule_charset): Likewise.
8001
8002 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8003         Add the `-nd' flag when running pre-dump operations under the debugger.
8004         * .dbxrc (run-temacs): Add `-nd'.
8005         * .dbxrc (update-elc): Likewise.
8006         * .dbxrc (dump-temacs): Likewise.
8007         * .gdbinit (run-temacs): Likewise.
8008         * .gdbinit (check-temacs): Likewise.
8009         * .gdbinit (update-elc): Likewise.
8010         * .gdbinit (dump-temacs): Likewise.
8011
8012 2001-01-14  Martin Buchholz  <martin@xemacs.org>
8013
8014         Allow building 64-bit executables on AIX with GNU malloc, e.g.
8015         export OBJECT_MODE=64
8016         configure --pdump --use-union-type=no
8017         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
8018         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
8019
8020         * miscplay.c (sndcnv8U_2mono):
8021         Avoid two uses of `++' in the same expression.
8022         Suppresses a GCC warning.
8023
8024 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8025
8026         Make sure future compilers don't miscompile alloc.c.
8027         * alloc.c:
8028         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
8029         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
8030
8031 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8032
8033         * dumper.c: A little post-pdump-rename comment fixup.
8034
8035 2001-01-09  Jerry James  <james@eecs.ku.edu>
8036
8037         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
8038
8039 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8040
8041         * *.[ch]: Globally rename symbols using the following `pdump-rename'
8042         script:
8043         #!/bin/sh
8044         replace_symbol () {
8045           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
8046         }
8047
8048         replace_symbol pdump_wire_lists pdump_weak_object_chains
8049         replace_symbol pdump_wire_list dump_add_weak_object_chain
8050
8051         replace_symbol pdump_wires pdump_root_objects
8052         replace_symbol pdump_wire dump_add_root_object
8053
8054         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
8055         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
8056
8057         replace_symbol dumpstructinfos pdump_root_struct_ptrs
8058         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
8059         replace_symbol dumpstructinfo pdump_root_struct_ptr
8060         replace_symbol dumpstruct dump_add_root_struct_ptr
8061
8062         replace_symbol dumpopaque dump_add_opaque
8063         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
8064         replace_symbol dumpopaqueinfos pdump_opaques
8065         replace_symbol dumpopaqueinfo pdump_opaque
8066
8067         replace_symbol nb_structdump nb_root_struct_ptrs
8068         replace_symbol nb_opaquedump nb_opaques
8069
8070         replace_symbol align_table pdump_align_table
8071         replace_symbol dump_header pdump_header
8072
8073         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
8074         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
8075
8076
8077 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8078
8079         * s/aix4.h: Keep the C for AIX compiler from overaggressively
8080         optimizing bytecount_to_charcount().
8081
8082 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8083
8084         * config.h.in:
8085         (HAVE_DLFCN_H): Removed.
8086         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
8087
8088 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8089
8090         Portable dumper maintainability improvements.
8091         * alloc.c (staticpro):
8092         * alloc.c (staticpro_nodump):
8093         * alloc.c (garbage_collect_1):
8094         * alloc.c (reinit_alloc_once_early):
8095         * alloc.c (init_alloc_once_early):
8096         * alloc.c: Move dumper functions to alloc.c.
8097         * dumper.c (pdump_backtrace):
8098         * dumper.c (pdump_dump_structs):
8099         * dumper.c (pdump_dump_opaques):
8100         * dumper.c (pdump_dump_rtables):
8101         * dumper.c (pdump_dump_wired):
8102         * dumper.c (pdump):
8103         * dumper.c (pdump_load_check):
8104         * dumper.c (pdump_load_finish):
8105         * dumper.c (pdump_file_unmap):
8106         * dumper.c (pdump_file_get):
8107         * dumper.c (pdump_resource_free):
8108         * dumper.c (pdump_resource_get):
8109         * dumper.c (pdump_file_free):
8110         * dumper.c (pdump_file_try):
8111         * dumper.c (pdump_load):
8112         Remove fixed size limits on staticpro(), staticpro_nodump(),
8113         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
8114         Remove custom code for dumping lrecord_implementations_table - use
8115         dumpopaque instead.
8116         Remove (most of the) custom code for dumping staticpros - dump it
8117         like any other dynarr.
8118
8119         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
8120         * dumper.c: Moved functions from alloc.c.
8121         * alloc.c (dumpstruct): Moved to dumper.c.
8122         * alloc.c (dumpopaque): Likewise.
8123         * alloc.c (pdump_wire): Likewise.
8124         * alloc.c (pdump_wire_list): Likewise.
8125
8126         * lisp.h (Dynarr_sizeof): New.
8127         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
8128         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
8129         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
8130
8131         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
8132         * lisp.h (dumpopaque): ditto.
8133         * lisp.h (pdump_wire): ditto.
8134         * lisp.h (pdump_wire_list): ditto.
8135
8136 2001-01-09  Martin Buchholz  <martin@xemacs.org>
8137
8138         * make-src-depend (PrintPatternDeps):
8139         Use `sort' to make output independent of perl version.
8140
8141 2001-01-08  Martin Buchholz  <martin@xemacs.org>
8142
8143         Port to Netbsd 1.5.
8144         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
8145         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
8146
8147 2001-01-03  Didier Verna  <didier@xemacs.org>
8148
8149         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
8150         that `focus_frame' is alive before thinking of calling
8151         `redisplay_redraw_cursor' on it.
8152
8153 2001-01-08  Martin Buchholz <martin@xemacs.org>
8154
8155         * XEmacs 21.2.40 is released.
8156
8157 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8158
8159         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
8160
8161 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8162
8163         * alloc.c (dbg_valmask): Make const.
8164         * alloc.c (dbg_typemask): Make const.
8165         * alloc.c (dbg_USE_UNION_TYPE): Make const.
8166         * alloc.c (dbg_valbits): Make const.
8167         * alloc.c (dbg_gctypebits): Make const.
8168
8169 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
8170
8171         * redisplay-x.c (x_bevel_area):
8172         redisplay.h (struct rune):
8173         Typo fixes in comments.
8174
8175 2001-01-05  Andy Piper  <andy@xemacs.org>
8176
8177         * glyphs-x.c (x_redisplay_widget): use size changed for offset
8178         adjustment.
8179
8180         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
8181
8182 2001-01-05  Martin Buchholz  <martin@xemacs.org>
8183
8184         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
8185
8186         * mule-ccl.c (stack_idx_of_map_multiple):
8187         Non const global data must not be initialized!
8188         Found by MIYASHITA Hisashi.
8189
8190 2001-01-02  Andy Piper  <andy@xemacs.org>
8191
8192         * frame.c (change_frame_size): make sure frame size is always
8193         marked as changed.
8194
8195         * glyphs.c (image_instance_layout): minor code reuse.
8196
8197         * window.c (Fcurrent_window_configuration): revert previous
8198         change.
8199
8200 2001-01-02  Martin Buchholz  <martin@xemacs.org>
8201
8202         * glyphs.h:
8203         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
8204
8205 2000-12-31  Andy Piper  <andy@xemacs.org>
8206
8207         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
8208         when widget gets unmapped.
8209
8210         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
8211         function. Make sure widgets losing focus don't just drop it.
8212         (handle_focus_event_1): record the widget with focus.
8213
8214 2000-12-31  Andy Piper  <andy@xemacs.org>
8215
8216         * window.c (allocate_window): use
8217         make_image_instance_cache_hash_table.
8218         (make_dummy_parent): ditto.
8219         (Fset_window_configuration): ditto.
8220
8221         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
8222
8223         * glyphs.c (process_image_string_instantiator): use
8224         INSTANTIATOR_TYPE.
8225         (get_image_instantiator_governing_domain): ditto.
8226         (normalize_image_instantiator): ditto.
8227         (instantiate_image_instantiator): ditto.
8228         (make_image_instance_1): ditto.
8229         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8230         (instantiator_eq_equal): new function for use with instance hash
8231         tables.
8232         (instantiator_eq_hash): ditto.
8233         (make_image_instance_cache_hash_table): create a suitable hash
8234         table for storing image instances.
8235
8236         * elhash.h (hash_table_weakness): new internal weakness type
8237         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8238         declare new functions.
8239
8240         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8241         another weakness type for glyphs.
8242         (make_standard_lisp_hash_table): new function split out from
8243         make_general_lisp_hash_table.
8244         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8245         (hash_table_instantiate): ditto.
8246         (Fmake_hash_table): ditto.
8247
8248 2000-12-31  Martin Buchholz <martin@xemacs.org>
8249
8250         * XEmacs 21.2.39 is released.
8251
8252 2000-12-29  Andy Piper  <andy@xemacs.org>
8253
8254         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8255
8256         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8257         the frame has changed so that we pick up geometry changes such as
8258         menubar visibility.
8259
8260 2000-12-28  Andy Piper  <andy@xemacs.org>
8261
8262         * lastfile.c (my_ebss): make a char array so we can pad the
8263         bss. Fixes cygwin unexec.
8264
8265         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8266
8267 2000-12-26  Andy Piper  <andy@xemacs.org>
8268
8269         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8270         comments and try and be more precise about a non-/SIGIO world.
8271         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8272         SIGIO.
8273
8274         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8275         we don't normalize to zero width or height.
8276
8277 2000-12-24  Andy Piper  <andy@xemacs.org>
8278
8279         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8280
8281 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8282
8283         * s/sco5.h: SCO 5 has pty support.
8284
8285 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8286
8287         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8288         input-method-xlib.c contains whole contents of input-method-xfs.c,
8289         so we can use input-method-xlib.c's code for USE_XFONTSET
8290         using #ifdefs.
8291         * input-method-xfs.c: removed.
8292
8293 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8294
8295         * file-coding.h (enum coding_category_type): reorder enumerators to
8296         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8297         (now one greater than largest real coding_category_type enumerator).
8298         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8299         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8300         Fcoding_category_list, Fset_coding_priority_list,
8301         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8302         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8303
8304 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8305
8306         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8307         * redisplay-output.c (redisplay_output_window): Clear top of window
8308         when face is changed.
8309         * redisplay-x.c (x_redraw_exposed_window): Call
8310         redisplay_clear_top_of_window.
8311         * redisplay.h: Publish redisplay_clear_top_of_window.
8312
8313 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8314
8315         * buffer.c (Fkill_buffer): Map over all devices.
8316         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8317         (list_windows): New function.
8318         (list_all_windows): Ditto.
8319         (Freplace_buffer_in_windows): Use them.
8320
8321 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8322
8323         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8324         (Fopen_database): Use `db_create' instead of `db_open'.
8325         (syms_of_database): Initialize Qqueue.
8326
8327 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8328
8329         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8330         buffer_local_face_property.
8331         * buffer.h (struct buffer): New member buffer_local_face_property.
8332         * window.c (Fset_window_buffer):  Mark window's face as changed
8333         when buffer has buffer local face.
8334         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8335         * objects.c (color_after_change): Set buffer_local_face_property
8336         when locale of face specifier is buffer.
8337         * objects.c (font_after_change): Ditto.
8338         * objects.c (face_boolean_after_change): Ditto.
8339         * glyphs.c (image_after_change): Ditto.
8340
8341 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8342
8343         * nt.c (mswindows_fstat): Report file permissions, volume serial
8344         number, etc. Code adapted from FSF Emacs 20.7.
8345
8346 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8347
8348         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8349         of stat when we don't have symbolic links, to make sure
8350         mswindows_stat is called on mswindows.
8351
8352 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8353
8354         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8355
8356 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8357
8358         * doprnt.c (emacs_doprnt_1): More printing fixes.
8359         Make printing of numbers compatible with libc and FSF Emacs.
8360         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8361         Use the system printf to do most of the hard work of formatting,
8362         instead of doprnt_1().
8363         Calculate memory to allocate for format string.
8364         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8365         (doprnt_1): Cleaner code and documentation.
8366
8367 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8368
8369         * Makefile.in.in: Use the loop variable to install headers.
8370
8371 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8372
8373         * window.c (Fsplit_window): Don't invalidate face cache.
8374
8375 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8376
8377         * minibuf.c (Fall_completions): Undo the previous change
8378         which removed checking elements start with space.
8379
8380 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8381
8382         * mule-canna.c: Didier suppression.
8383
8384 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8385
8386         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8387         (warning suppression).  Add English comment translations.
8388
8389 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8390
8391         * unexelfsgi.c (unexec): Better test for mmap failure.
8392
8393 2000-12-05  Martin Buchholz <martin@xemacs.org>
8394
8395         * XEmacs 21.2.38 is released.
8396
8397 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8398
8399         * redisplay.c (bar-cursor): Make a user variable.
8400
8401         * symsinit.h: Add init_postgresql_from_environment.
8402
8403 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8404
8405         * regex.c: Convert to clean C.
8406
8407 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8408
8409         * realpath.c:
8410         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8411         initialization.
8412         (sys_readlink): renamed to system_readlink to avoid conflict with
8413         the other sys_readlink.
8414
8415 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8416
8417         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8418
8419 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8420
8421         * postgresql.c (init_postgresql_from_environment): new function.
8422         (vars_of_postgresql): Move code initializing Lisp variables out and
8423         into init_postgresql_from_environment.
8424         emacs.c (main_1): Call init_postgresql_from_environment if and only
8425         if running a dumped XEmacs.
8426
8427 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8428
8429         * buffer.c: Make find-file-compare-truenames default to true on
8430         windows.
8431
8432         * realpath.c (win32_abs_start):
8433         (cygwin_readlink):
8434         (win32_readlink): New functions.
8435         (xrealpath): Return really real filenames on windows.
8436
8437         * fileio.c (Ffile_truename): Make file-truename work on windows.
8438
8439 2000-11-29  Didier Verna  <didier@xemacs.org>
8440
8441         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8442         * faces.c (update_face_cachel_data): use it.
8443         * faces.c (add_face_cachel): use it. Complete background pixmap
8444         frobbing in face cache if `update_face_cachel_data' has not done so.
8445
8446 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8447
8448         * search.c (string_match_1): Don't set last_thing_searched
8449         when search failed.
8450
8451 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8452
8453         * buffer.c: Include casetab.h
8454         (common_init_complex_vars_of_buffer): Use new case-table object.
8455         * buffer.h: Include casetab.h
8456         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8457         (DOWNCASE_TABLE_OF): Ditto.
8458         * bufslots.h: Remove char-tables and add case-table.
8459         * casetab.c: Include casetab.h
8460         (CASE_TABLE_P): Removed.
8461         (mark_case_table): New function.
8462         (allocate_case_table): New function.
8463         (Fcase_table_p): Use new case-table.
8464         (case_table_char): New function.
8465         (Fget_case_table): Ditto.
8466         (Fput_case_table): Ditto.
8467         (Fput_case_table_pair): Ditto.
8468         (Fcopy_case_table): Ditto.
8469         (Fcurrent_case_table): Return case-table.
8470         (Fstandard_case_table): Return case-table.
8471         (Fset_case_table): Fix doc-string.
8472         (set_case_table): Use case-table
8473         (syms_of_casetab): DEFSUBR new functions.
8474         (complex_vars_of_casetab): Set up standard case-table.
8475         * casetab.h: New file.
8476         * editfns.c: Include casetab.h
8477         (Fcompare_buffer_substrings): Use case-table.
8478         * inline.c: Include casetab.h
8479         * lisp.h: Remove bogus extern.
8480         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8481         * search.c: Include casetab.h
8482         (TRANSLATE_ASCII): Removed.
8483         (TRANSLATE): Unconditionally translate character.
8484         (looking_at_1): Use case-table.
8485         (string_match_1): Ditto.
8486         (fast_string_match): Ditto.
8487         (search_command): Ditto.
8488         (search_buffer): Separate boyer_moore.  Check whether
8489         boyer_moore is possible.
8490         (simple_search): New function.
8491         (boyer_moore): Separated from search_buffer. Translate char.
8492
8493 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8494
8495         * regex.c (RE_TR_ASCII): Removed.
8496         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8497         (PATFETCH): Call PATFETCH_RAW.
8498         (PATFETCH_RAW): Fetch Emchar.
8499         (PATUNFETCH): Decrement charptr.
8500         (GET_BUFFER_SPACE): Rename b to buf_end.
8501         (BUF_PUSH): Ditto.
8502         (BUF_PUSH_2): Ditto.
8503         (BUF_PUSH_3): Ditto.
8504         (EXTEND_BUFFER): Ditto.
8505         (SET_LIST_BIT): Ditto.
8506         (regex_compile): Ditto.  Translate non ASCII char.
8507         (compile_range): Ditto.
8508         (re_search_2): Ditto.
8509         (re_match_2_internal): Compare Emchar.
8510         (bcmp_translate): Ditto.
8511
8512 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8513
8514         * lisp.h (basic char/int typedefs):  comment improvement.
8515
8516 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8517
8518         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8519         unstomp inhibit_site_lisp.  Improve comments.
8520
8521 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8522
8523         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8524
8525 2000-11-28  Andy Piper  <andy@xemacs.org>
8526
8527         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8528         clipped display for windows in the gutter also.
8529         (redisplay_display_boxes_in_window_p): change semantics of return
8530         codes to be more intuitive.
8531
8532         * gutter.h: declare display_boxes_in_gutter_p.
8533
8534         * gutter.c (display_boxes_in_gutter_p): new function for
8535         redisplay.
8536
8537 2000-11-22  Andy Piper  <andy@xemacs.org>
8538
8539         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8540         autodetect domain.
8541
8542 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8543
8544         * callproc.c (Fold_call_process_internal):
8545         * gpm.c (Freceive_gpm_event):
8546         (tty_get_foreign_selection): Might be just warning supression.
8547         * fileio.c (Fwrite_region_internal):
8548         (Fset_visited_file_modtime):
8549         * keymap.c (event_matches_key_specifier_p):
8550         Initialize GCPROed variable.
8551
8552         * menubar-x.c (command_builder_find_menu_accelerator):
8553         Initialize before use.
8554
8555 2000-11-23  Andy Piper  <andy@xemacs.org>
8556
8557         * unexcw.c (unexec): make the resulting executable executable.
8558
8559 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8560
8561         * doc.c (get_doc_string):
8562         Use size_t, not int, for result of XSTRING_LENGTH.
8563
8564         * cmds.c (Fdelete_char):
8565         * cmds.c (Fpoint_at_eol):
8566         * cmds.c (Fself_insert_command):
8567         Use EMACS_INT, not int, for result of XINT.
8568         Someday, someone will want to insert more than 2**31 identical characters.
8569
8570         * cmds.c (Fdelete_char):
8571         * cmds.c (Fdelete_backward_char):
8572         * syntax.c (Fforward_word):
8573         * syntax.c (Fforward_comment):
8574         Make COUNT argument optional, for consistency with forward-char et al.
8575
8576 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8577
8578         * lisp.h:
8579         * print.c (long_to_string):
8580         Return a useful value: the pointer at end of data written.
8581
8582         * doprnt.c:
8583         Use `static const char * const' for constant strings.
8584         (union printf_arg): Delete `i', `ui' members.
8585         (get_doprnt_args):
8586         (emacs_doprnt_1):
8587         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8588         Do all printf-ing via the `l' specifier.
8589         Use EMACS_INT instead of int.
8590         Optimize.
8591
8592 2000-11-20  Didier Verna  <didier@xemacs.org>
8593
8594         * faces.c (update_face_cachel_data): don't frob the background
8595         pixmap when the window is being created. The face is needed but
8596         does not exist yet.
8597
8598 2000-11-20  Andy Piper  <andy@xemacs.org>
8599
8600         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8601         messing with a debug environment.
8602
8603 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8604
8605         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8606
8607 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8608
8609         * casetab.c (Fcase_table_p): Fix compile error and crash.
8610
8611 2000-11-18  Philip Aston  <philipa@mail.com>
8612
8613         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8614
8615 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8616
8617         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8618         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8619
8620 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8621
8622         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8623         * unexelf.c: Use HAVE_ELF_H.
8624         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8625         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8626         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8627         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8628         for testing.
8629         So this is an unexelfsgi.c from a different line of development.
8630
8631 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8632
8633         * regex.c (RE_TR_ASCII): New function.
8634         (RE_TRANSLATE): Call it.
8635
8636 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8637
8638         * buffer.h (TRT_TABLE_OF): Remove assert.
8639         (IN_TRT_TABLE_DOMAIN): Removed.
8640
8641 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8642
8643         * free-hook.c (log_gcpro):
8644         (show_gcprohist): Add support for GCPRO5.
8645
8646 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8647
8648         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8649
8650 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8651
8652         * symeval.h: Declare flush_all_buffer_local_cache.
8653
8654         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8655         (flush_buffer_local_cache): Added.
8656         (flush_all_buffer_local_cache): Added.
8657
8658         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8659
8660         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8661         (pdump_dump_data): Ditto.
8662         (pdump_reloc_one): Ditto.
8663         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8664         before dumping.
8665
8666
8667 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8668
8669         * buffer.c: Remove if 0'ed entry.
8670         * buffer.h: Rewrite TRT to use char-table.
8671         * bufslots.h: Remove mirror tables.
8672         * casetab.c: Remove mirror tables.
8673         (CASE_TABLE_P): New macro.
8674         (Fcase_table_p): Element of a case table is string or char-table.
8675         (make_mirror_trt_table): Removed.
8676         (set_case_table): Setup char-table from strings for backward
8677         compatibility.
8678         * dired.c (Fdirectory_files):
8679         * dired-msw.c: (mswindows_get_files):
8680         * lisp.h: Change prototype of re_pattern_buffer.
8681         * regex.c: (RE_TRANSLATE): New macro.
8682         (TRANSLATE_P): Ditto.
8683         Change translate to type RE_TRANSLATE_TYPE.
8684         * regex.h: Define RE_TRANSLATE_TYPE
8685         * search.c (TRANSLATE): New macro.
8686         (TRANSLATE_ASCII): New macro.
8687         Translate table is changed to Lisp_Object.
8688         (signal_failure): Inhibit return.
8689
8690 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8691
8692         * device-msw.c:
8693         * eldap.c:
8694         * event-Xt.c:
8695         * event-stream.c:
8696         * print.c:
8697         Do UNGCPRO before return.
8698
8699 2000-11-14  Martin Buchholz <martin@xemacs.org>
8700
8701         * XEmacs 21.2.37 is released.
8702
8703 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8704
8705         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8706         Add comments about discarded return value.
8707
8708 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8709
8710         * callint.c:
8711         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8712
8713 2000-10-27  Andy Piper  <andy@xemacs.org>
8714
8715         * gutter.c (Fset_default_gutter_position): default left and right
8716         gutters to visible.
8717         (calculate_gutter_size): calculate resonable heuristic for left
8718         and right gutter sizes.
8719         (specifier_vars_of_gutter): change left and right gutter sizes to
8720         autodetect.
8721         (calculate_gutter_size_from_display_lines): new function.
8722         (output_gutter): check for resizing on left and right gutters.
8723         (clear_gutter): don't special case top and left gutters.
8724         (specifier_vars_of_gutter): use new signature for
8725         set_specifier_caching.
8726
8727         * glyphs-x.c (x_redisplay_widget): spelling fix.
8728         * glyphs.c (specifier_vars_of_glyphs):
8729         * menubar.c (specifier_vars_of_menubar):
8730         * redisplay.c (specifier_vars_of_redisplay):
8731         * toolbar.c (specifier_vars_of_toolbar):
8732         * window.c (specifier_vars_of_window):
8733         * scrollbar.c (specifier_vars_of_scrollbar):
8734         (complex_vars_of_scrollbar): use new signature for
8735         set_specifier_caching.
8736
8737         * specifier.c (set_specifier_caching): include recompute flag.
8738         (recompute_one_cached_specifier_in_window): always recompute if
8739         flag set.
8740         (recompute_one_cached_specifier_in_frame): ditto.
8741
8742         * specifier.h (struct specifier_caching): add recompute flag.
8743
8744 2000-10-24  Andy Piper  <andy@xemacs.org>
8745
8746         * unexcw.c (copy_executable_and_dump_data_section): add new
8747         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8748         5.0 happy.
8749
8750 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8751
8752         * console-x.h (x_device): New member modifier_release_time.
8753         * event-Xt.c (x_handle_sticky_modifiers):
8754         Bound interval modifier keys are sticky.
8755         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8756         * events.h: extern it.
8757
8758 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8759
8760         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8761
8762 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8763
8764         * event-stream.c (execute_command_event): Preserve current_events
8765         and the like when event is misc-user-event.
8766         Inhibit quit during the call to maybe_echo_keys.
8767
8768 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8769
8770         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8771         symlink when buffer is killed.
8772         (inhibit_clash_detection): New variable.
8773
8774 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8775
8776         * console.c (Fset_input_method): Trigger redisplay on tty.
8777
8778 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8779
8780         * process.c (Fprocess_status): Revert to previous behavior:
8781         (process-status "nosuchprocess") ==> nil
8782
8783 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8784
8785         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8786         Work around another GCC 2.95.2 optimizer bug.
8787
8788 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8789
8790         * process.c (Fget_process): Use LIST_LOOP_2.
8791         (kill_buffer_processes): Use LIST_LOOP_2.
8792
8793         * minibuf.c (Fall_completions):
8794         Delete old non-functional code for FSF fourth argument.
8795
8796         * frame.c (frame_matches_frame_spec):
8797         Renamed from `frame_matches_frametype'.  Update all callers.
8798         (device_matches_device_spec):
8799         Renamed from 'device_matches_console_spec'.  Update all callers.
8800
8801         * doc.c (Fsubstitute_command_keys):
8802         Remove buffer overflow crash.  Small code cleanups.
8803
8804         * casetab.c (check_case_table): Simpler code.
8805
8806         * window.c (Freplace_buffer_in_windows):
8807         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8808         (and similar implementation) as Fdelete_windows_on.
8809         Update all callers.
8810
8811         * alloc.c (Fmake_list):
8812         * alloc.c (make_vector):
8813         * alloc.c (Fmake_vector):
8814         * alloc.c (make_bit_vector):
8815         * alloc.c (Fmake_bit_vector):
8816         * alloc.c (Fbit_vector):
8817         * alloc.c (Fmake_string):
8818         * alloc.c (Fpurecopy):
8819         * alloc.c (Fmemory_limit):
8820         * buffer.c:
8821         * buffer.c (Fget_buffer):
8822         * buffer.c (Fkill_buffer):
8823         * buffer.c (complex_vars_of_buffer):
8824         * bytecode.c (Fcompiled_function_stack_depth):
8825         * callint.c (Fprefix_numeric_value):
8826         * event-stream.c:
8827         * event-stream.c (Fread_key_sequence):
8828         * casetab.c:
8829         * casetab.c (Fcase_table_p):
8830         * casetab.c (check_case_table):
8831         * casetab.c (Fset_case_table):
8832         * casetab.c (Fset_standard_case_table):
8833         * chartab.c:
8834         * chartab.c (Fchar_table_type):
8835         * chartab.c (Freset_char_table):
8836         * chartab.c (Fget_char_table):
8837         * chartab.c (Fget_range_char_table):
8838         * chartab.c (Fput_char_table):
8839         * chartab.c (Fmap_char_table):
8840         * chartab.c (Fcategory_table_p):
8841         * chartab.c (Fcheck_category_at):
8842         * chartab.c (Fchar_in_category_p):
8843         * chartab.c (Fcategory_table):
8844         * chartab.c (Fcopy_category_table):
8845         * chartab.c (Fset_category_table):
8846         * chartab.c (Fcategory_designator_p):
8847         * chartab.c (Fcategory_table_value_p):
8848         * cmds.c (Fdelete_char):
8849         * cmds.c (Fdelete_backward_char):
8850         * cmds.c (Fself_insert_command):
8851         * cmds.c (Fself_insert_internal):
8852         * console.c (Fvalid_console_type_p):
8853         * console.c (Fcdfw_console):
8854         * console.c (Fconsole_type):
8855         * console.c (Fconsole_name):
8856         * console.c (Fconsole_device_list):
8857         * console.c (Fconsole_on_window_system_p):
8858         * data.c:
8859         * data.c (Feq):
8860         * data.c (Fold_eq):
8861         * data.c (Fsubr_interactive):
8862         * data.c (Fchar_to_int):
8863         * data.c (Fint_to_char):
8864         * data.c (Fsetcar):
8865         * data.c (Fsetcdr):
8866         * data.c (Fnumber_to_string):
8867         * data.c (Fstring_to_number):
8868         * data.c (Frem):
8869         * database.c (mark_database):
8870         * database.c (finalize_database):
8871         * database.c (Fdatabase_live_p):
8872         * database.c (Fdatabasep):
8873         * device-x.c (Fx_get_resource):
8874         * device.c (Fdfw_device):
8875         * dired.c:
8876         * dired.c (Ffile_name_completion):
8877         * dired.c (Ffile_name_all_completions):
8878         * dired.c (Fuser_name_completion):
8879         * dired.c (Fuser_name_completion_1):
8880         * dired.c (Fuser_name_all_completions):
8881         * doc.c (Fdocumentation):
8882         * doc.c (Fdocumentation_property):
8883         * doc.c (Fsubstitute_command_keys):
8884         * editfns.c:
8885         * editfns.c (Fchar_to_string):
8886         * editfns.c (Fstring_to_char):
8887         * editfns.c (Ftemp_directory):
8888         * editfns.c (Finsert_char):
8889         * editfns.c (Fbuffer_substring_no_properties):
8890         * editfns.c (Fnarrow_to_region):
8891         * editfns.c (Fchar_equal):
8892         * editfns.c (Fchar_Equal):
8893         * editfns.c (Ftranspose_regions):
8894         * emacs.c (Fdump_emacs):
8895         * eval.c (Fthrow):
8896         * eval.c (Fcommand_execute):
8897         * eval.c (Fautoload):
8898         * eval.c (Fbacktrace):
8899         * eval.c (Fbacktrace_frame):
8900         * events.c:
8901         * events.c (Fcopy_event):
8902         * events.c (Fcharacter_to_event):
8903         * events.c (Fevent_button):
8904         * events.c (Fevent_process):
8905         * extents.c:
8906         * extents.c (Fnext_extent_change):
8907         * extents.c (Fextent_property):
8908         * faces.c (Ffacep):
8909         * faces.c (Fmake_face):
8910         * file-coding.c:
8911         * file-coding.c (Fencode_shift_jis_char):
8912         * file-coding.c (Fencode_big5_char):
8913         * fileio.c (Ffile_name_directory):
8914         * fileio.c (Ffile_name_nondirectory):
8915         * fileio.c (Ffile_name_as_directory):
8916         * fileio.c (Fdirectory_file_name):
8917         * fileio.c (Ffile_truename):
8918         * fileio.c (Fsubstitute_in_file_name):
8919         * fileio.c (Ffile_modes):
8920         * fileio.c (Fset_file_modes):
8921         * fileio.c (Fset_default_file_modes):
8922         * fileio.c (Fverify_visited_file_modtime):
8923         * floatfns.c (Facos):
8924         * floatfns.c (Fasin):
8925         * floatfns.c (Fatan):
8926         * floatfns.c (Fcos):
8927         * floatfns.c (Fsin):
8928         * floatfns.c (Ftan):
8929         * floatfns.c (Fbessel_j0):
8930         * floatfns.c (Fbessel_j1):
8931         * floatfns.c (Fbessel_jn):
8932         * floatfns.c (Fbessel_y0):
8933         * floatfns.c (Fbessel_y1):
8934         * floatfns.c (Fbessel_yn):
8935         * floatfns.c (Ferf):
8936         * floatfns.c (Ferfc):
8937         * floatfns.c (Flog_gamma):
8938         * floatfns.c (Fexp):
8939         * floatfns.c (Fexpt):
8940         * floatfns.c (Flog):
8941         * floatfns.c (Flog10):
8942         * floatfns.c (Fsqrt):
8943         * floatfns.c (Fcube_root):
8944         * floatfns.c (Facosh):
8945         * floatfns.c (Fasinh):
8946         * floatfns.c (Fatanh):
8947         * floatfns.c (Fcosh):
8948         * floatfns.c (Fsinh):
8949         * floatfns.c (Ftanh):
8950         * floatfns.c (Fabs):
8951         * floatfns.c (Ffloat):
8952         * floatfns.c (Flogb):
8953         * floatfns.c (Fceiling):
8954         * floatfns.c (Ffloor):
8955         * floatfns.c (Fround):
8956         * floatfns.c (Ftruncate):
8957         * floatfns.c (Ffceiling):
8958         * floatfns.c (Fffloor):
8959         * floatfns.c (Ffround):
8960         * floatfns.c (Fftruncate):
8961         * fns.c (Fstring_equal):
8962         * fns.c (Fstring_lessp):
8963         * fns.c (concat2):
8964         * fns.c (concat3):
8965         * fns.c (vconcat2):
8966         * fns.c (vconcat3):
8967         * fns.c (Fsubstring):
8968         * fns.c (Fassoc):
8969         * fns.c (Fold_assoc):
8970         * fns.c (assoc_no_quit):
8971         * fns.c (Fassq):
8972         * fns.c (Fold_assq):
8973         * fns.c (assq_no_quit):
8974         * fns.c (Frassoc):
8975         * fns.c (Fold_rassoc):
8976         * fns.c (Frassq):
8977         * fns.c (Fold_rassq):
8978         * fns.c (rassq_no_quit):
8979         * fns.c (Fremassoc):
8980         * fns.c (remassoc_no_quit):
8981         * fns.c (Fremassq):
8982         * fns.c (remassq_no_quit):
8983         * fns.c (Fremrassoc):
8984         * fns.c (Fremrassq):
8985         * fns.c (remrassq_no_quit):
8986         * fns.c (Fsort):
8987         * fns.c (Fplist_get):
8988         * fns.c (Fplist_put):
8989         * fns.c (Fplist_remprop):
8990         * fns.c (Fplist_member):
8991         * fns.c (Flax_plist_get):
8992         * fns.c (Flax_plist_put):
8993         * fns.c (Flax_plist_remprop):
8994         * fns.c (Flax_plist_member):
8995         * fns.c (Fequal):
8996         * fns.c (Fold_equal):
8997         * fns.c (Frequire):
8998         * fns.c (Fbase64_encode_region):
8999         * fns.c (Fbase64_encode_string):
9000         * fns.c (Fbase64_decode_region):
9001         * frame.c:
9002         * frame.c (frame_matches_frame_spec):
9003         * frame.c (device_matches_device_spec):
9004         * frame.c (next_frame):
9005         * frame.c (previous_frame):
9006         * frame.c (Fnext_frame):
9007         * frame.c (Fprevious_frame):
9008         * frame.c (Fframe_property):
9009         * frame.c (Fset_frame_height):
9010         * frame.c (Fset_frame_size):
9011         * frame.h:
9012         * glyphs.c:
9013         * glyphs.c (if):
9014         * glyphs.c (decode_error_behavior_flag):
9015         * glyphs.c (Fmake_image_instance):
9016         * indent.c (Findent_to):
9017         * intl.c (Fignore_defer_gettext):
9018         * keymap.c (Fkeymapp):
9019         * keymap.c (Flookup_key):
9020         * lread.c:
9021         * lread.c (Fload_internal):
9022         * lread.c (Feval_buffer):
9023         * lread.c (Feval_region):
9024         * macros.c (Fexecute_kbd_macro):
9025         * marker.c (set_marker_internal):
9026         * marker.c (Fset_marker):
9027         * marker.c (set_marker_restricted):
9028         * marker.c (Fcopy_marker):
9029         * marker.c (noseeum_copy_marker):
9030         * menubar.c:
9031         * menubar.c (Fpopup_menu):
9032         * minibuf.c:
9033         * mule-charset.c (Fcharset_name):
9034         * mule-charset.c (Fchar_charset):
9035         * mule-charset.c (Fchar_octet):
9036         * mule-charset.c (Fsplit_char):
9037         * mule-wnnfns.c (Fwnn_open):
9038         * mule-wnnfns.c (Fwnn_dict_comment):
9039         * mule-wnnfns.c (Fwnn_quit_henkan):
9040         * mule-wnnfns.c (Fwnn_word_toroku):
9041         * mule-wnnfns.c (Fwnn_word_sakujo):
9042         * mule-wnnfns.c (Fwnn_word_use):
9043         * mule-wnnfns.c (Fwnn_hindo_set):
9044         * objects.c:
9045         * objects.c (Fmake_color_instance):
9046         * objects.c (Fmake_font_instance):
9047         * print.c (Fwrite_char):
9048         * process.c:
9049         * process.c (mark_process):
9050         * process.c (print_process):
9051         * process.c (get_process_from_usid):
9052         * process.c (Fprocessp):
9053         * process.c (Fprocess_live_p):
9054         * process.c (Fget_process):
9055         * process.c (Fget_buffer_process):
9056         * process.c (get_process):
9057         * process.c (Fprocess_id):
9058         * process.c (Fprocess_name):
9059         * process.c (Fprocess_command):
9060         * process.c (init_process_io_handles):
9061         * process.c (start_process_unwind):
9062         * process.c (Fstart_process_internal):
9063         * process.c (Fopen_multicast_group_internal):
9064         * process.c (Fset_process_window_size):
9065         * process.c (read_process_output):
9066         * process.c (send_process):
9067         * process.c (Fprocess_tty_name):
9068         * process.c (Fset_process_buffer):
9069         * process.c (Fprocess_buffer):
9070         * process.c (Fprocess_mark):
9071         * process.c (set_process_filter):
9072         * process.c (Fset_process_filter):
9073         * process.c (Fprocess_filter):
9074         * process.c (Fprocess_send_region):
9075         * process.c (Fprocess_send_string):
9076         * process.c (exec_sentinel):
9077         * process.c (Fset_process_sentinel):
9078         * process.c (Fprocess_sentinel):
9079         * process.c (status_notify):
9080         * process.c (Fprocess_status):
9081         * process.c (Fprocess_exit_status):
9082         * process.c (process_send_signal):
9083         * process.c (Fprocess_send_eof):
9084         * process.c (deactivate_process):
9085         * process.c (remove_process):
9086         * process.c (Fdelete_process):
9087         * process.c (kill_buffer_processes):
9088         * process.c (Fprocess_kill_without_query):
9089         * process.c (Fprocess_kill_without_query_p):
9090         * rangetab.c:
9091         * rangetab.c (Fget_range_table):
9092         * rangetab.c (Fput_range_table):
9093         * rangetab.c (Fremove_range_table):
9094         * rangetab.c (Fclear_range_table):
9095         * search.c:
9096         * search.c (Fskip_chars_forward):
9097         * search.c (Fskip_chars_backward):
9098         * search.c (Fskip_syntax_forward):
9099         * search.c (Fskip_syntax_backward):
9100         * search.c (search_command):
9101         * search.c (Freplace_match):
9102         * search.c (Fregexp_quote):
9103         * select.c (Fown_selection_internal):
9104         * select.c (Fselection_owner_p):
9105         * select.c (Fselection_exists_p):
9106         * select.c (Fget_selection_internal):
9107         * specifier.c:
9108         * symbols.c:
9109         * symbols.c (Fintern):
9110         * symbols.c (Fintern_soft):
9111         * symbols.c (Funintern):
9112         * symbols.c (Fapropos_internal):
9113         * symbols.c (Fset_default):
9114         * syntax.c:
9115         * syntax.c (Fsyntax_table_p):
9116         * syntax.c (Fcopy_syntax_table):
9117         * syntax.c (Fset_syntax_table):
9118         * syntax.c (Fchar_syntax):
9119         * syntax.c (syntax_match):
9120         * syntax.c (Fmatching_paren):
9121         * syntax.c (Fforward_word):
9122         * syntax.c (scan_lists):
9123         * syntax.c (Fscan_lists):
9124         * syntax.c (Fscan_sexps):
9125         * syntax.c (Fparse_partial_sexp):
9126         * toolbar.c (Fcheck_toolbar_button_syntax):
9127         * tooltalk.doc:
9128         * window.c:
9129         * window.c (Fwindowp):
9130         * window.c (Fwindow_live_p):
9131         * window.c (Fwindow_point):
9132         * window.c (Fdelete_window):
9133         * window.c (Fnext_window):
9134         * window.c (Fprevious_window):
9135         * window.c (Fother_window):
9136         * window.c (window_loop):
9137         * window.c (Fget_lru_window):
9138         * window.c (Fsplit_window):
9139         * window.c (Fenlarge_window):
9140         * window.c (Fenlarge_window_pixels):
9141         * window.c (Fshrink_window):
9142         * window.c (Fshrink_window_pixels):
9143         * window.c (change_window_height):
9144         * window.c (Fwindow_configuration_p):
9145         * window.c (Fcurrent_window_configuration):
9146         * window.h:
9147         * casefiddle.c (casify_object):
9148         * casefiddle.c (Fupcase):
9149         * casefiddle.c (Fdowncase):
9150         * casefiddle.c (Fcapitalize):
9151         * casefiddle.c (Fupcase_initials):
9152         * casefiddle.c (casify_region_internal):
9153         * casefiddle.c (casify_region):
9154         * casefiddle.c (Fupcase_region):
9155         * casefiddle.c (Fdowncase_region):
9156         * casefiddle.c (Fcapitalize_region):
9157         * casefiddle.c (Fupcase_initials_region):
9158         * casefiddle.c (Fupcase_word):
9159         * casefiddle.c (Fdowncase_word):
9160         * casefiddle.c (Fcapitalize_word):
9161         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
9162         Replace 0 with '\0' when working with bytes.
9163         Replace initial "(" with "\(" in docstrings.
9164
9165 2000-11-01  Martin Buchholz  <martin@xemacs.org>
9166
9167         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
9168
9169         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
9170
9171 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9172
9173         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
9174
9175 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9176
9177         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
9178         correctly.
9179
9180 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9181
9182         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
9183         (inhibit_auto_save_session): New variable.
9184         (vars_of_fileio): Declare and initialize them.
9185         * fileio.c (Fdo_auto_save): Don't create session file if
9186         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
9187
9188 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9189
9190         * sgiplay.c (play_internal): C++ compilability.
9191         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
9192         * callproc.c (Fold_call_process_internal):
9193         Remove unused vars `env', `first'.
9194         * scrollbar.c (update_scrollbar_instance):
9195         #### unused var `current_window'.
9196         * redisplay-tty.c: Put currently unused vars insert_mode_on,
9197         etc. within #ifdef NOT_YET.
9198         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
9199         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
9200         * specifier.c (specifier_instance):
9201         #### unused var `tag'.
9202         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
9203
9204 2000-10-27  Martin Buchholz  <martin@xemacs.org>
9205
9206         * fns.c (Fbutlast):
9207         * fns.c (list_sort):
9208         * fns.c (Ffillarray):
9209         * fns.c (bytecode_nconc2):
9210         * fns.c (Fnconc):
9211         * fns.c (mapcar1):
9212         * fns.c (Fmapconcat):
9213         Be pedantically 64-bit correct.  For the time when someone will
9214         want to have a list with length > 2**32.
9215
9216         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9217         Work around MIPSpro compiler bug.
9218
9219         * process-unix.c (unix_kill_child_process): Add snarky comment.
9220         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
9221
9222         * config.h.in: Oops, _getpt ==> _getpty
9223
9224 2000-10-26  Martin Buchholz  <martin@xemacs.org>
9225
9226         * config.h.in:
9227         * regex.c:
9228         Use void*, not char*, as return type of alloca().
9229
9230         * alloc.c (free_marker): Side effect inside assert expression!
9231
9232 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9233
9234         * mule-charset.c (Fset_charset_ccl_program): To check
9235         if the given ccl program is valid, use setup_ccl_program()
9236         instead of CHECK_VECTOR().
9237         (Fmake_charset): Likewise.
9238
9239 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9240
9241         * faces.c (get_extent_fragment_face_cache_index):
9242         Fix cachel.merged_faces memory leak.
9243
9244 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9245
9246         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9247         Reset MSB of octets obtained by DECODE_SJIS
9248         because of the incompatibility with Emacs.
9249         (ccl_driver)<CCL_ENCODE_SJIS>:
9250         Set MSB of octets before passing them to
9251         ENCODE_SJIS because of the incompatibility
9252         with Emacs.
9253
9254 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9255
9256         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9257         (DECLARE_LRECORD): Undo the last change.
9258         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9259
9260 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9261
9262         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9263         the implementation to lrecord_implementations_table.
9264
9265 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9266
9267         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9268         initial value of `lrecord_type_##c_name' and
9269         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9270         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9271         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9272         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9273         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9274
9275 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9276
9277         * miscplay.c (sndcnv8S_2mono):
9278         (sndcnv2monounsigned):
9279         (sndcnvULaw_2linear):
9280         (sndcnv16swap):
9281         Remove implementation-defined behavior.
9282
9283 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9284
9285         * input-method-xlib.c: Warning suppression.
9286
9287 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9288
9289         * mule-ccl.c: Sync up with Emacs 21.0.90.
9290         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9291         Do nothing.
9292         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9293         Likewise.
9294         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9295         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9296         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9297         leading char belongs to official 2-dimensional charset.
9298         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9299         write the given character as is.  Otherwise,
9300         if it is a multibyte char, convert it by
9301         non_ascii_set_charptr_emchar, then write it.
9302         (CCL_WRITE_STRING): Likewise.
9303         (ccl_get_compiled_code): New function.
9304         (setup_ccl_program): When ccl_prog is invalid,
9305         return -1.
9306         (Fregister_code_conversion_map): New function.
9307         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9308
9309         * mule-ccl.h: Sync up with Emacs 21.0.90.
9310         (Fregister_ccl_program): export it.
9311
9312         * redisplay-msw.c (separate_textual_runs):
9313         If ccl program is not valid, don't do ccl conversion.
9314
9315         * redisplay-x.c (separate_textual_runs): Ditto.
9316
9317         * file-coding.c (Fmake_coding_system):
9318         When type is ccl and value is vector, register it
9319         with a proper symbol.  And checks whether the
9320         given ccl program is valid.
9321         (mule_decode): When calling ccl_driver, if src indicates
9322         NULL pointer, set an empty string instead.
9323         (mule_encode): Likewise.
9324
9325 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9326
9327         The following large batch of changes gets us back to a state of
9328         C++ compilability.  Extbyte is now a char, which means that
9329         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9330
9331         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9332
9333         * sound.c (Fplay_sound): Type correctness.
9334
9335         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9336         (x_get_window_property): Type correctness.
9337         (receive_incremental_selection): unsigned char ==> Extbyte
9338         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9339         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9340         (Fx_store_cutbuffer_internal): Type correctness.
9341
9342         * process-unix.c (try_to_initialize_subtty): Type correctness.
9343
9344         * objects-x.c (x_print_color_instance): Type correctness.
9345         (x_print_font_instance): Type correctness.
9346         (x_list_fonts): SExtbyte ==> Extbyte.
9347         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9348         (x_find_charset_font): SExtbyte ==> Extbyte.
9349         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9350         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9351         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9352         Use bufbyte_strcmp.
9353
9354         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9355         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9356         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9357         (BYTE_C0_P): Use bit ops for char-signedness safety.
9358         (BYTE_C1_P): Use bit ops for char-signedness safety.
9359         (CHARSET_BY_LEADING_BYTE):
9360         (CHARSET_BY_ATTRIBUTES):
9361         Always use inline function.
9362         Use type_checking_assert.
9363         Hide chlook.
9364
9365         * mule-charset.c (non_ascii_charptr_copy_char):
9366         Modify to work with both ASCII and non-ASCII characters.
9367         Improve docs and variable names.
9368         Replace over-clever fall-through switch with a simple loop.
9369         (Lstream_get_emchar_1):
9370         Replace over-clever fall-through switch with a simple loop.
9371
9372         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9373         Warning suppression.
9374
9375         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9376         the return value of Lstream_getc, which could be EOF as well.
9377
9378         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9379
9380         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9381         APIs can be used on Extbytes without casts.  Risky!
9382         (SExtbyte): Remove.
9383         (UExtbyte): Remove.
9384
9385         * input-method-xlib.c (XIM_init_device):
9386         Use Xlib.h instead of IntrinsicP.h.
9387         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9388         which will break in X11R7.
9389         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9390         to call XRegisterIMInstantiateCallback with correct types.
9391
9392         * gui-x.c (button_item_to_widget_value): Type correctness.
9393
9394         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9395
9396         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9397         (xbm_instantiate_1): Type correctness.
9398         (BUILD_GLYPH_INST):  Type correctness.
9399
9400         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9401
9402         * file-coding.c:
9403         (decode_coding_sjis):
9404         (decode_coding_big5):
9405         (decode_coding_ucs4):
9406         (decode_coding_utf8):
9407         (decode_coding_iso2022):
9408         (decode_coding_no_conversion):
9409         Make all decoding functions take an Extbyte * arg.
9410         (encode_coding_sjis):
9411         (encode_coding_big5):
9412         (encode_coding_ucs4):
9413         (encode_coding_utf8):
9414         (encode_coding_iso2022):
9415         (encode_coding_no_conversion):
9416         Make all encoding functions take a Bufbyte * arg.
9417         Use size_t instead of unsigned int for memory sizes.
9418         Only cast to unsigned char whenever dereferencing Extbyte *.
9419
9420         * doc.c (unparesseuxify_doc_string): Type correctness.
9421
9422         * console-x.c (split_up_display_spec):
9423         Rewrite without using details of internal string representation.
9424         (x_semi_canonicalize_device_connection): Type correctness.
9425
9426         * config.h.in:
9427         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9428         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9429         (HAVE_XFREE386): Removed.
9430
9431         * buffer.h (DEC_CHARPTR): `const' correctness.
9432         (bufbyte_strcmp): New.
9433         (bufbyte_memcmp): New.
9434
9435         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9436
9437         * buffer.h (XCHAR_OR_CHAR_INT):
9438         Always use inline function.
9439         Remove redundant type checking assert() - XINT will abort quite nicely.
9440
9441 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9442
9443         * search.c (Freplace_match): Set newtext to an empty string.
9444
9445 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9446
9447         * s/decosf1-3.h: Remove #include of stropts.h
9448         * s/ptx.h: Remove #include of stropts.h
9449         * s/usg5-4.h: Remove #include of stropts.h
9450         * sysproc.h:
9451         * config.h.in:
9452         Use stropts.h, not sys/stropts.h.
9453         Use strtio.h, not sys/strtio.h.
9454
9455 2000-10-04  Martin Buchholz <martin@xemacs.org>
9456
9457         * XEmacs 21.2.36 is released.
9458
9459 2000-09-21  Andy Piper  <andy@xemacs.org>
9460
9461         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9462         changes still involve copying the widget tree.
9463         (update_widget_face): make sure a change is register in the widget
9464         tree. Call update_tab_widget_face appropriately.
9465         (update_tab_widget_face): ditto.
9466         (x_tab_control_redisplay): make sure non-structural changes still
9467         involve copying the widget tree.
9468
9469 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9470
9471         * lread.c (locate_file): Check the path element is non-nil.
9472
9473 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9474
9475         * lisp.h: Warning suppression for SCO compilers.
9476
9477         * redisplay-tty.c (reset_tty_modes): Fix crash.
9478         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9479
9480 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9481
9482         Big signal/process handling overhaul.  Bugs fixed:
9483         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9484         M-x comint-kill-subjob should work for both values nil and t of
9485         process-connection-type. It was broken on most platforms.
9486         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9487         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9488         * process-unix.c: Signal/Process handling overhaul.
9489         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9490         (allocate_pty): Use all available modern methods of allocating
9491         ptys, falling back to old style BSD allocation as a last resort.
9492         Use allegedly more secure Unix98 pty allocation by default.
9493         (allocate_pty_the_old_fashioned_way): New. the last resort.
9494         (unix_create_process): Push ptem, ldterm, ttcompat where
9495         available.  Autoconfiscate.
9496         (try_to_initialize_subtty): New.
9497         (unix_kill_child_process): Proper signal handling for ptys on most
9498         platforms, using special knowledge of AIX, BSD, etc...
9499         (unix_create_process): Always disconnect_controlling_terminal() for
9500         subprocesses, whether using ptys or not.
9501         * process.h: Remove old getpt-dependent PTY code.
9502         * process.c (Fprocess_send_signal): New, obvious generic function.
9503         (decode_signal): New.
9504         (Finterrupt_process):
9505         (Fkill_process):
9506         (Fquit_process):
9507         (Fstop_process):
9508         (Fcontinue_process):
9509         (Fsignal_process): Use decode_signal.
9510         (process_send_signal):
9511         Many docstring corrections.
9512         Allow any signal to be sent to a process object.
9513         * config.h.in: Add symbols for big signal/process overhaul.
9514         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9515         * sysproc.h: Include process-related headers, where available:
9516         sys/stropts.h sys/strtio.h pty.h libutil.h
9517         * s/irix4-0.h:
9518         * s/irix5-0.h:
9519         * s/cygwin32.h:
9520         * s/gnu.h:
9521         * s/linux.h:
9522         * s/hpux.h:
9523         * s/aix3-1.h:
9524         Remove old S&M pty stuff.
9525         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9526         * systty.h: Simplify cpp hackery, improve comments.
9527         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9528
9529         * editfns.c (Fformat_time_string):
9530         Be a little more paranoid with the return value of ctime.
9531
9532         * fileio.c (check_executable):
9533         (check_writable):
9534         Use symbolic constants X_OK, W_OK.
9535
9536         * console-x.c (split_up_display_spec): Fix a warning.
9537
9538 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9539
9540         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9541         * ntproc.c (sys_spawnve): make_string ==> build_string
9542         Small clarity improvements.
9543
9544 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9545
9546         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9547
9548         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9549
9550         * config.h.in (HAVE_STRCASECMP): Remove.
9551
9552 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9553
9554         * redisplay-output.c (redisplay_output_pixmap):
9555         Cleaner and possibly more 64-bit correct code.
9556
9557 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9558
9559         * dumper.c (pdump_load_finish): move restoration of
9560         `noninteractive1' to emacs.c (main_1).
9561         * emacs.c (main_1): protect LISP-visible command-line flags
9562         from pdump_load().
9563
9564 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9565
9566         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9567         DUMP_TARGET instead of literal program names.
9568
9569 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9570
9571         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9572
9573 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9574
9575         * *: Spelling mega-patch
9576
9577 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9578
9579         * fns.c (bad_bad_turtle):
9580         Delete "Eek!" comment, since we fixed the bug to which it refers.
9581
9582 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9583
9584         * alloca.c: Replace REGISTER with register.
9585
9586 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9587
9588         * file-coding.c (ucs_to_char): Use countof.
9589
9590 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9591
9592         * file-coding.c: (ucs_to_char):
9593         (complex_vars_of_file_coding):
9594         Use countof instead of sizeof.
9595         Use CHECK_NATNUM instead of CHECK_INT.
9596
9597         * sysdep.c (strcasecmp): Remove.
9598         * device-x.c (ascii_strcasecmp): New.
9599         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9600         Avoid using non-standard non-portable strcasecmp.
9601
9602 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9603
9604         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9605         * font-lock.c: remove reference to emacsfns.h.
9606         * search.c: small doc improvement.
9607         * event-Xt.c: correct file names in comments.
9608         * console-x.h Correct file names in comments.
9609         * frame.c: Correct file names in comments.
9610         * event-stream.c: remove Energize from comments.
9611
9612 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9613
9614         * symeval.h (DEFERROR_STANDARD):
9615         (DEFERROR):
9616         (DEFSYMBOL):
9617         (DEFSYMBOL_NO_DUMP):
9618         (DEFSYMBOL_MULTIWORD_PREDICATE):
9619         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9620         (DEFKEYWORD):
9621         The construct &##name is not sensible C.
9622         Fixes compilation errors with Unixware native compiler.
9623
9624 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9625
9626         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9627         (next_frame_internal): Removed.  We now just have next_frame.
9628         (next_frame):
9629         Write a simpler and cleaner one-pass algorithm.
9630         Remove called_from_delete_device arg and #ifdefed-out code.
9631         (previous_frame):
9632         Renamed from prev_frame.  Update callers.
9633         Cleaned up to have an analogous implementation to next_frame.
9634         (other_visible_frames_internal): Remove the
9635         called_from_delete_device bogus arg, and hence, remove this
9636         function.  Just use other_visible_frames().
9637
9638         * window.c (Fnext_window):
9639         Prettify docstring.
9640         Since next_frame() is guaranteed to return a frame, remove check
9641         for nil inserted in previous patch.
9642         (Fprevious_window):
9643         Prettify docstring.
9644         Make code look more like Fnext_window.
9645         (window_loop):
9646         Respect the `console' arg when iterating through windows.
9647         Fixes bug: (get-buffer-window buffer t device) not respecting
9648         the `device' arg.
9649         This function needs more work, as others have pointed out.
9650
9651         * frame.h: Rename prev_frame to previous_frame.
9652         device_matches_console_spec no longer takes a `frame' arg.
9653
9654         * s/gnu.h:
9655         * s/linux.h:
9656         * s/hpux.h:
9657         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9658         From "Golubev I. N." <gin@mo.msk.ru>.
9659
9660         * make-src-depend: Fix typo.
9661
9662 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9663
9664         * window.c (Fnext_window):
9665         next_frame() might return nil, not a frame.
9666         Fixes this crash:
9667         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9668
9669         * frame.c (next_frame_internal):
9670         We've passed a frame if we've passed its device.
9671         Fixes this crash:
9672         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9673 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9674
9675 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9676
9677         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9678         Allow option to suppress accelerators in menu/dialog items.
9679         (populate_or_checksum_helper): Pass dialog title through above.
9680
9681 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9682
9683         * event-msw.c (mswindows_key_to_emacs_keysym):
9684         Add "pause" key, fix "menu" key.
9685
9686 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9687
9688         * eval.c (reinit_vars_of_eval):
9689         Increase max_lisp_eval_depth to 1000,
9690         required for thai-xtis.el to byte-compile under some circumstances.
9691
9692 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9693
9694         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9695         From Kenichi Handa.
9696
9697 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9698
9699         * make-src-depend: Make the generated Makefiles smaller.
9700
9701         * s/hpux.h (SETUP_SLAVE_PTY):
9702         Provide a %d in the format string for the errno argument.
9703
9704         * editfns.c (Ftemp_directory):
9705         Warning fix.
9706         Avoid buffer overrun on very long file name.
9707
9708         * input-method-xlib.c (XIM_init_device):
9709         6th parameter of XRegisterIMInstantiateCallback has different
9710         pointer types on different OSes, so simply cast to (void *).
9711
9712         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9713
9714         * sysdll.c (dll_open):
9715         shl_load will hang hard if passed a NULL filename.
9716         Simply return NULL for compatibility with dlopen.
9717         * sysdll.c: Conform to XEmacs coding standards.
9718
9719         * sysdep.c (get_pty_max_bytes):
9720         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9721
9722 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9723
9724         * tooltalk.c: Add #include <syssignal.h>
9725
9726 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9727
9728         * s/hpux.h: Don't use undefined function sigunblock().
9729
9730 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9731
9732         * config.h.in: Add HAVE_BALLOON_HELP.
9733         * emacs.c: Use HAVE_BALLOON_HELP.
9734         * Makefile.in.in (x_objs):
9735         Make Balloon Help conditional on finding shape.h.
9736
9737 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9738
9739         * syntax.c (regex_emacs_buffer_p): New variable.
9740         * syntax.h (regex_emacs_buffer_p): extern.
9741         * search.c (looking_at_1):
9742         (string_match_1):
9743         (fast_string_match):
9744         (search_buffer): Set regex_emacs_buffer_p.
9745         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9746         when before_dot, at_dot, after_dot.
9747
9748 2000-08-23  Andy Piper  <andy@xemacs.org>
9749
9750         * gui-x.c (popup_selection_callback): Only set action_occurred
9751         when we really have an image instance.
9752         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9753
9754 2000-08-23  Andy Piper  <andy@xemacs.org>
9755
9756         * gui-msw.c (mswindows_handle_gui_wm_command): set
9757         action_occurred.
9758         * gui-x.c (popup_selection_callback): ditto.
9759
9760         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9761         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9762         (struct Lisp_Image_Instance): add action_occurred flag.
9763
9764         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9765         (image_instance_changed): ditto.
9766         (reset_frame_subwindow_instance_cache): only unmap windows - do
9767         not remove them from the cache also.
9768
9769         * glyphs-widget.c (tab_control_update): better debug.
9770         (progress_gauge_update): ditto.
9771         (layout_update): ditto.
9772         (layout_instantiate): ditto.
9773         (tab_control_order_only_changed): cope with null pending items.
9774
9775         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9776         debug. Force selection of an item when an action occurred. Cope
9777         with null pending_items.
9778         (mswindows_progress_gauge_redisplay): better debug.
9779         * glyphs-x.c (x_tab_control_redisplay): ditto.
9780
9781         * redisplay.c (redisplay_frame): reset the frame cache if the
9782         frame is garbaged.
9783
9784         * window.c (Fset_window_configuration): potentially re-enable
9785         frame cache reset.
9786         (window_unmap_subwindows): need to finalize instances here since
9787         it is only used in mark_window_as_deleted.
9788
9789 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9790
9791         * nas.c (SndOpenDataForReading):
9792         nas.c (WaveOpenDataForReading):
9793         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9794         Somehow escaped from the 2000-08-14 patch.
9795
9796 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9797
9798         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9799         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9800
9801 2000-08-21  Andy Piper  <andy@xemacs.org>
9802
9803         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9804         window if it is not already displayed.
9805
9806         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9807         it is not already displayed.
9808
9809         * window.c (Fset_window_configuration): don't reset the frame
9810         cache.
9811
9812         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9813         instances from the frame cache if we are actually finalizing them.
9814         (reset_frame_subwindow_instance_cache): reset frame cache only
9815         after unmapping everything.
9816         (map_subwindow): set displayed flag after mapping.
9817
9818 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9819
9820         * data.c (indirect_function):
9821         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9822
9823         * eval.c (function_argcount):
9824         Use original function when signaling errors.
9825
9826 2000-08-18  Andy Piper  <andy@xemacs.org>
9827
9828         * frame.c (delete_frame_internal): use new
9829         free_frame_subwindow_instances name.
9830
9831         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9832         (add_tab_item): make return type correct.
9833         (mswindows_tab_control_instantiate): assert index of tab.
9834         (mswindows_tab_control_redisplay): Re-code to use
9835         gui_item_equal_sans_selected and gui_item_list_find_selected.
9836
9837         * glyphs-widget.c (tab_control_update): Correct comment.
9838
9839         * window.c (window_unmap_subwindows): use new
9840         unmap_subwindow_instance_cache_mapper.
9841         (window_unmap_subwindows_cache_mapper): deleted.
9842         (Fset_window_configuration): comparisons should now be with
9843         EQ. Preserve the subwindow instance cache across configuration
9844         changes.
9845         (allocate_window): ditto.
9846         (make_dummy_parent): ditto.
9847
9848         * glyphs.c (free_frame_subwindow_instances): rename from
9849         free_frame_subwindow_instance_cache. finalize all instances rather
9850         than just those in the display cache.
9851         (finalize_all_subwindow_instances): walk windows unmapping and
9852         finalizing subwindows.
9853         (unmap_subwindow_instance_cache_mapper): moved from
9854         window.c. Allow finalization as well as unmapping.
9855
9856         * gui.c (gui_item_list_find_selected): new function.
9857
9858         * gui.h (gui_item_list_find_selected): declare.
9859
9860         * glyphs-x.c (x_tab_control_redisplay): pick tab
9861         explicitly. Re-code to use gui_item_equal_sans_selected and
9862         gui_item_list_find_selected.
9863
9864         * glyphs-x.h: add lwlib-utils.h
9865
9866         * buffer.c (Frecord_buffer): undo previous change.
9867
9868 2000-08-09  Vin Shelton  <acs@xemacs.org>
9869
9870         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9871         possible.  Create temporary files more securely.  The patch was
9872         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9873         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9874         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9875         for details.
9876
9877 2000-08-07  Ben Wing  <ben@xemacs.org>
9878
9879         * getloadavg.c: remove duplicate (and windows-breaking)
9880         includes of fcntl.h and sys/file.h.
9881
9882         * nt.c: remove duplicate getloadavg() definition.
9883
9884         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9885         encodings.
9886
9887 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9888
9889         * eval.c (function_argcount): If function needs to be autoloaded
9890         actually use the loaded definition.
9891         GCPRO function.
9892
9893 2000-08-05  Ben Wing  <ben@xemacs.org>
9894
9895         * getloadavg.c: add prototype for getloadavg().  remove
9896         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9897         of the code).  remove duplicate header includes.
9898
9899         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9900
9901         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9902         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9903         useful load average.
9904
9905         * alloc.c (reinit_alloc_once_early): removed references to
9906         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9907         the lisp vars are the only things referencing the malloc_sbrk_*
9908         vars, and they were already if 0'd out.  these vars only exist
9909         in the older malloc.c, which is basically unused, and they're
9910         only for informational purposes.
9911
9912         * m\*.h: removed useless VIRT_ADDR_VARIES.
9913
9914         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9915
9916 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9917
9918         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9919         color if the image is a mono pixmap.
9920
9921 2000-07-30  Ben Wing  <ben@xemacs.org>
9922
9923         * Makefile.in.in (release):
9924         Remove stray @.
9925
9926         * buffer.c (directory_is_current_directory):
9927         * dired-msw.c (mswindows_get_files):
9928         * dired.c:
9929         * dired.c (Fdirectory_files):
9930         * dired.c (file_name_completion_stat):
9931         * dired.c (Ffile_attributes):
9932         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9933         preprocessor tricks, to avoid problems on some machines
9934         (e.g. SCO).
9935
9936         * callproc.c (egetenv): GC docs.
9937
9938         * console-msw.h:
9939         * console-msw.h (struct mswindows_dialog_id):
9940         * lrecord.h (lrecord_type):
9941         New object for use with MSW dialogs.
9942
9943         * console.h (struct console_methods):
9944         New enable/disable frame methods, for proper modal dialogs.
9945
9946         * device-msw.c (msprinter_default_printer): Fix to follow
9947         proper Mule conventions.
9948
9949         * device-msw.c:
9950         * device-msw.c (signal_open_printer_error):
9951         * device-msw.c (msprinter_init_device):
9952         * device-msw.c (ensure_not_printing):
9953         * device-msw.c (plist_get_margin):
9954         * device-msw.c (Fmsprinter_select_settings):
9955         * device-msw.c (finalize_devmode):
9956         * device-msw.c (Fmsprinter_settings_despecialize):
9957         * device-msw.c (signal_enum_priner_error):
9958         * extents.c (decode_extent):
9959         * extents.c (decode_map_extents_flags):
9960         * extents.c (decode_extent_at_flag):
9961         * extents.c (Fextent_at):
9962         * extents.c (Fextents_at):
9963         * extents.c (symbol_to_glyph_layout):
9964         [[[[2]]]] Use structured errors.
9965
9966         * dialog-msw.c:
9967         * dialog-msw.c (mswindows_is_dialog_msg):
9968         * dialog-msw.c (mark_mswindows_dialog_id):
9969         * dialog-msw.c (dialog_proc):
9970         * dialog-msw.c (handle_question_dialog_box):
9971         * dialog-msw.c (syms_of_dialog_mswindows):
9972         Define new object to clean up marking; use it as a dialog identifier.
9973         Call new delete-dialog-box-hook.
9974
9975         * dialog-x.c (dbox_selection_callback):
9976         * dialog-x.c (dbox_descriptor_to_widget_value):
9977         * dialog-x.c (x_make_dialog_box_internal):
9978         Call new delete-dialog-box-hook.
9979         Return an id.
9980
9981         * dialog.c:
9982         * dialog.c (syms_of_dialog):
9983         * dialog.c (vars_of_dialog):
9984         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9985
9986         * eval.c:
9987         * eval.c (signal_call_debugger):
9988         when noninteractive, output stack traces on the console instead
9989         of in a (never-seen) buffer.
9990
9991         * eval.c (signal_type_error):
9992         * eval.c (invalid_argument_2):
9993         * lisp.h:
9994         new funs for use w/structured errors.
9995
9996         * event-Xt.c:
9997         * event-Xt.c (x_to_emacs_keysym):
9998         * event-Xt.c (describe_event):
9999         * event-Xt.c (emacs_Xt_event_handler):
10000         * event-Xt.c (vars_of_event_Xt):
10001         * event-msw.c:
10002         * event-msw.c (mswindows_wnd_proc):
10003         * event-msw.c (vars_of_event_mswindows):
10004         rename {x,mswindows}-debug-events to debug-{}-events for
10005         consistency with other debug-foo variables.
10006
10007         * event-stream.c:
10008         document next-event more clearly.
10009
10010         * fileio.c (Ffile_name_directory):
10011         * fileio.c (Ffile_name_nondirectory):
10012         * fileio.c (Funhandled_file_name_directory):
10013         * fileio.c (file_name_as_directory):
10014         * fileio.c (Ffile_name_as_directory):
10015         * fileio.c (directory_file_name):
10016         * fileio.c (Fdirectory_file_name):
10017         * fileio.c (Fmake_temp_name):
10018         * fileio.c (Ffile_truename):
10019         * fileio.c (Fsubstitute_in_file_name):
10020         * fileio.c (expand_and_dir_to_file):
10021         * fileio.c (barf_or_query_if_file_exists):
10022         * fileio.c (check_executable):
10023         * fileio.c (Ffile_exists_p):
10024         * fileio.c (Ffile_writable_p):
10025         * fileio.c (Ffile_directory_p):
10026         * fileio.c (Ffile_regular_p):
10027         * fileio.c (Ffile_modes):
10028         * fileio.c (Ffile_newer_than_file_p):
10029         * fileio.c (Fverify_visited_file_modtime):
10030         * fileio.c (Fset_visited_file_modtime):
10031         * fileio.c (auto_save_1):
10032         (1). (2).
10033         fix up gcpro's.
10034
10035         * frame-msw.c:
10036         * frame-msw.c (mswindows_init_frame_1):
10037         * frame-msw.c (mswindows_enable_frame):
10038         * frame-msw.c (error_frame_unsizable):
10039         * frame-msw.c (msprinter_init_frame_1):
10040         * frame-msw.c (msprinter_init_frame_3):
10041         * frame-msw.c (console_type_create_frame_mswindows):
10042         (2).
10043         implement new enable/disable frame methods.
10044
10045         * frame-x.c:
10046         * frame-x.c (x_enable_frame):
10047         * frame-x.c (console_type_create_frame_x):
10048         implement new enable/disable frame methods.
10049
10050         * frame.c:
10051         * frame.c (Fdisable_frame):
10052         * frame.c (syms_of_frame):
10053         * frame.h (struct frame):
10054         implement new enable/disable frame methods/functions.
10055
10056         * general-slots.h:
10057         add initial-focus.
10058
10059         * glyphs-msw.c (mswindows_widget_instantiate):
10060         comment that initial-focus should be implemented.
10061
10062         * glyphs-widget.c:
10063         * glyphs-widget.c (check_valid_instantiator):
10064         * glyphs-widget.c (check_valid_orientation):
10065         * glyphs-widget.c (check_valid_tab_orientation):
10066         * glyphs-widget.c (check_valid_justification):
10067         * glyphs-widget.c (check_valid_border):
10068         * glyphs-widget.c (check_valid_callback):
10069         * glyphs-widget.c (check_valid_int_or_function):
10070         * glyphs-widget.c (check_valid_string_or_vector):
10071         * glyphs-widget.c (check_valid_item_list_1):
10072         * glyphs-widget.c (widget_validate):
10073         * glyphs-widget.c (combo_box_validate):
10074         * glyphs-widget.c (widget_instantiate):
10075         * glyphs-widget.c (syms_of_glyphs_widget):
10076         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
10077         * glyphs-widget.c (image_instantiator_combo_box):
10078         * glyphs-widget.c (image_instantiator_scrollbar):
10079         * glyphs-widget.c (image_instantiator_tab_control):
10080         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
10081         (2).
10082         support (unimplemented) keyword initial-focus.
10083         reindent long macros.
10084
10085         * glyphs-x.c (x_redisplay_widget):
10086         * glyphs-x.c (x_button_instantiate):
10087         * glyphs-x.c (x_button_redisplay):
10088         * glyphs-x.c (x_progress_gauge_instantiate):
10089         * glyphs-x.c (x_edit_field_instantiate):
10090         * glyphs-x.c (x_combo_box_instantiate):
10091         * glyphs-x.c (x_tab_control_instantiate):
10092         * glyphs-x.c (x_label_instantiate):
10093         * gui-x.c:
10094         * gui-x.c (button_item_to_widget_value):
10095         * gui-x.c (gui_items_to_widget_values_1):
10096         * gui-x.c (gui_item_children_to_widget_values):
10097         * gui-x.c (gui_items_to_widget_values):
10098         * gui-x.h:
10099         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10100         add new flag to gui-parsing routines to indicate whether
10101         accelerator specs should be supported.
10102
10103         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
10104
10105         * glyphs.h (struct Lisp_Image_Instance):
10106         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
10107         add initial-focus flag.
10108
10109         * gui.c:
10110         * gui.c (syms_of_gui):
10111         * gui.c (vars_of_gui):
10112         clean up menu-no-selection-hook.
10113
10114         * gui.h:
10115         support delete-dialog-box-hook.
10116
10117         * lread.c (Fload_internal):
10118         * lread.c (locate_file_in_directory_mapper):
10119         (1).
10120
10121         * lrecord.h:
10122         * lrecord.h (struct toolbar_button):
10123         * lrecord.h (syms_of_toolbar):
10124         document how to create a new object.
10125
10126         * menubar-msw.c (mswindows_char_is_accelerator):
10127         may be called on frames w/o menus.
10128
10129         * menubar.c (vars_of_menubar):
10130         clean up :filter docs.
10131
10132         * nt.c (readdir):
10133         * ntproc.c:
10134         (1).
10135
10136         * process-nt.c:
10137         * process-nt.c (validate_signal_number):
10138         * process-nt.c (signal_cannot_launch):
10139         * process-nt.c (nt_create_process):
10140         * process-nt.c (nt_send_process):
10141         * process-nt.c (nt_kill_child_process):
10142         * process-nt.c (nt_open_network_stream):
10143         * process-nt.c (syms_of_process_nt):
10144         (2).
10145         delete quote-handling.  call new lisp code that does it better.
10146
10147         * process-unix.c (connect_to_file_descriptor):
10148         * process-unix.c (allocate_pty):
10149         * process-unix.c (unix_send_process):
10150         * process-unix.c (unix_kill_child_process):
10151         * process-unix.c (unix_open_network_stream):
10152         * process-unix.c (unix_open_multicast_group):
10153         (1). (2).
10154
10155         * process.c:
10156         * process.c (Fstart_process_internal):
10157         (2).  need to canonicalize process path even if absolute.
10158
10159         * select-msw.c (symbol_to_ms_cf):
10160         * select-msw.c (ms_cf_to_symbol):
10161         * select-msw.c (cf_is_autofreed):
10162         * select-msw.c (mswindows_destroy_selection):
10163         * select.c:
10164         * select.c (syms_of_select):
10165         * select.h:
10166         support dibv5, fix bugs. (from Mike Alexander)
10167
10168         * select.c (Fget_selection_internal):
10169         * select.c (select_convert_out):
10170
10171         * sysdep.c:
10172         * sysdep.c (xemacs_stat):
10173         renamed.
10174
10175         * sysdep.c (mkdir):
10176         * sysdep.c (rmdir):
10177         but keep original stat() here because we provide encapsulation
10178         around these funs.
10179
10180         * sysfile.h:
10181         * sysfile.h (fstat):
10182         remove stat garbage.
10183
10184         * syswindows.h:
10185         fix X/MSW conflict.
10186         don't include tchar.h.  it's inappropriate because it makes
10187         compile-time distinctions when we want runtime distinctions.
10188         (we provide our own tchar replacements)
10189
10190         * toolbar.c:
10191         use default object printer for toolbar-button.
10192
10193         * unexcw.c:
10194         make sure we don't encapsulate.
10195
10196         * window.c (vars_of_window):
10197         emphasize that temp-buffer-show-hook is obsolete.
10198
10199 2000-08-05  Martin Buchholz  <martin@xemacs.org>
10200
10201         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
10202         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
10203
10204         * events.c (Fevent_timestamp_lessp):
10205         Not 64-bit clean.  Use EMACS_INT, not int.
10206
10207 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
10208
10209         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
10210         unsigned int and changed the last enum to
10211         lrecord_type_last_built_in_type.
10212         (lrecord_implementations_table): changed prototype to know how
10213         long the array is supposed to be.
10214         (lrecord_type_count): new unsigned int to keep track of the
10215         current number of lisp lrecord types.
10216         (DEFINE_EXTERNAL_LRECORD):
10217         (DECLARE_EXTERNAL_LRECORD): Added these two for external
10218         dynamic-modules to declare new lisp types. They are the same
10219         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
10220         int for each new type, and increment lrecord_type_count by 1.
10221
10222         * alloc.c (lrecord_implementations_table): Changed to reference
10223         lrecord_type_last_built_in_type for the size of the array.
10224         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
10225
10226 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10227
10228         * glyphs.h (check_valid_item_list): Renamed from
10229         check_valid_item_list_1.
10230
10231 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10232
10233         * select.c (Qselect_coerce): New.
10234         * select.c (Vselection_coercion_alist): New.
10235         * select.c (syms_of_select): Declare.
10236         * select.c (get-selection-internal): Use it.
10237         Use the new select-coerce functionality.
10238
10239         * select.c (select_coerce): New.
10240         * select.h (select_coerce): Declare.
10241         New function to coerce one type of data into another.
10242
10243 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10244
10245         * callproc.c (Fcall_process_internal):
10246         (Fcall_process_internal):
10247         * process-unix.c (unix_create_process):
10248         Save and restore the value of errno, so that error messages are accurate.
10249
10250 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10251
10252         * elhash.c (print_hash_table):
10253         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10254         Prettify docstrings and indentation.
10255
10256 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10257
10258         * window.c (Fwindow_pixel_edges): Subtract frame border and
10259         gutter size.
10260
10261 2000-07-31  Andy Piper  <andy@xemacs.org>
10262
10263         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10264         will acknowledge the change.
10265
10266         * glyphs.h: declare tab_control_order_only_changed.
10267
10268         * glyphs-x.c (x_tab_control_redisplay): use
10269         tab_control_order_only_changed.
10270
10271         * glyphs-widget.c (tab_control_order_only_changed): new function.
10272
10273         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10274         tab_control_order_only_changed.
10275
10276         * gui.c (gui_item_equal_sans_selected): new function.
10277         (gui_item_equal): use it.
10278
10279         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10280         :properties in favor of :items..
10281
10282         * glyphs-widget.c (check_valid_item_list): rename from
10283         check_valid_item_list_1.
10284         (check_valid_item_list_1): renamed.
10285         (combo_box_validate): deprecate :properties in favor of :items.
10286         (widget_instantiate): ditto.
10287         (tab_control_update): ditto.
10288         (image_instantiator_combo_box): ditto.
10289         (image_instantiator_tree_view): ditto.
10290         (image_instantiator_tab_control): ditto.
10291         (layout_post_instantiate): remove dead code.
10292
10293         * print.c (debug_print_no_newline): only write to debugger if in
10294         WIN32_NATIVE.
10295
10296         * elhash.c (Fmake_hash_table): update doc string.
10297
10298         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10299         messages whilst in GC. This at least stops XEmacs crashing but has
10300         the potential for wierd behaviour.
10301
10302 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10303
10304         * config.h.in:
10305         Make existence of s&m files optional.
10306
10307         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10308         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10309         * s/gnu.h: Remove HAVE_GETLOADAVG.
10310         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10311         * s/sol2.h: Remove HAVE_GETLOADAVG.
10312         * lisp.h: Remove getloadavg() declaration.
10313         * fns.c:
10314         Include <sys/loadavg.h> if available.
10315         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10316         * config.h.in:  Group together getloadavg()-related macros.
10317         Use only configure-time tests to detect getloadavg().
10318
10319 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10320
10321         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10322
10323 2000-07-25  Andy Piper  <andy@xemacs.org>
10324
10325         * syswindows.h: add tchar.h for native builds.
10326
10327         * frame.c (syms_of_frame): remove set-glyph-image.
10328
10329         * general-slots.h: add Qset_glyph_image.
10330
10331         * glyphs-widget.c (layout_update): add domain arg to
10332         set-glyph-image.
10333         (syms_of_glyphs_widget): remove set-glyph-image.
10334
10335 2000-07-23  Ben Wing  <ben@xemacs.org>
10336
10337         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10338         Vpopup_frame_list.
10339
10340 2000-07-22  Andy Piper  <andy@xemacs.org>
10341
10342         * symsinit.h: add syms_of_win32().
10343
10344         * gui-msw.c (syms_of_gui_mswindows): remove
10345         Fmswindows_shell_execute.
10346         (Fmswindows_shell_execute): moved to win32.c.
10347
10348         * emacs.c (main_1): add syms_of_win32 ().
10349
10350         * win32.c (init_potentially_nonexistent_functions): rewrite in
10351         compiler-friendly terms.
10352         (Fmswindows_shell_execute): move here from gui-msw.c.
10353         (syms_of_win32): new.
10354
10355         * device-msw.c (Fmswindows_printer_list): clean up args to
10356         EnumPrinters.
10357         Don't include tchar under cygwin or mingw.
10358         (msprinter_default_printer): make cygwin-friendly.
10359
10360 2000-07-21  Andy Piper  <andy@xemacs.org>
10361
10362         * glyphs-widget.c (image_instantiator_tree_view): use tab
10363         control's update function.
10364         (layout_property): new function. Retrieve items.
10365
10366         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10367         function. Re-populate the tree view from the pending items.
10368
10369         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10370         is designated the parent if the domain is an image instance. This
10371         is needed so that dirtiness can be cascade up the hierarchy and
10372         thus for layout children to be redisplayed correctly.
10373         (allocate_image_instance): rename glyph -> parent.
10374
10375         * redisplay.h: change redisplay_output_layout signature.
10376
10377         * redisplay-msw.c (mswindows_output_display_block): use domain
10378         arg.
10379
10380         * redisplay-x.c (x_output_display_block): use domain arg.
10381
10382 2000-07-10  Andy Piper  <andy@xemacs.org>
10383
10384         * window.c (Fset_window_configuration): add comment.
10385
10386         * redisplay-output.c (compare_runes):
10387         (redisplay_output_subwindow): redisplay rather than update subwindow.
10388         (redisplay_output_layout): ditto.
10389
10390         * redisplay-msw.c (mswindows_frame_output_end):
10391         (mswindows_frame_output_end): make defer window pos optional.
10392
10393         * lisp.h: add Flast.
10394
10395         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10396         normalize method. Change update method to be for changed
10397         instantiators. Add redisplay method. Change signature of layout
10398         method.
10399         (struct Lisp_Image_Instance): add instantiator.
10400         (IMAGE_INSTANCE_INSTANTIATOR): new.
10401         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10402         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10403         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10404
10405         * glyphs.c:
10406         (find_instantiator_differences): new function.
10407         (Fset_instantiator_property): new convenience function.
10408         (check_image_instance_structure): strictly check for vector
10409         instantiators.
10410         (normalize_image_instantiator): make non-static.
10411         (instantiate_image_instantiator): pass on dest_mask and use new
10412         signatures for image_instance_layout and friends.
10413         (mark_image_instance): mark the instantiator. Mark the subwindow
10414         face not the widget face.
10415         (image_instance_equal): add instantiator.
10416         (image_instance_hash): ditto.
10417         (allocate_image_instance): ditto.
10418         (Fset_image_instance_property): removed.
10419         (Fimage_instance_file_name): ditto.
10420         (Fcolorize_image_instance): ditto.
10421         (image_instance_layout): add offsets to be set.
10422         (update_image_instance): new function. update an image instance
10423         from its changed instantiator.
10424         (inherit_normalize): add dest_mask.
10425         (xbm_normalize): ditto.
10426         (xface_normalize): ditto.
10427         (xpm_normalize): ditto.
10428         (text_update): set_property -> update.
10429         (image_instantiate): use the glyph identity as a hash key, not the
10430         instantiator.
10431         (glyph_width): use new image_instance_layout signature.
10432         (glyph_ascent): ditto.
10433         (glyph_descent): ditto.
10434         (glyph_height): ditto.
10435         (glyph_query_geometry): ressurrect.
10436         (glyph_layout): ditto.
10437         (redisplay_subwindow): update -> redisplay.
10438         (syms_of_glyphs): add Fset_instantiator_property.
10439         (image_instantiator_format_create): set_property -> update.
10440
10441         * glyphs-x.c:
10442         (autodetect_normalize): add dest_maks to signature.
10443         (x_redisplay_subwindow): update -> redisplay.
10444         (x_redisplay_widget): ditto.
10445         (x_button_redisplay): ditto.
10446         (x_progress_gauge_redisplay): ditto.
10447         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10448         stacking order.
10449         (console_type_create_glyphs_x): update -> redisplay.
10450         (image_instantiator_format_create_glyphs_x): ditto.
10451
10452         * glyphs-widget.c:
10453         (check_valid_instantiator): disallow glyphs in the instantiator,
10454         they must now be vectors.
10455         (check_valid_instantiator_list): ditto.
10456         (glyph_instantiator_to_glyph): use internal symbol rather than
10457         intern.
10458         (widget_update): renamed from widget_set_property. Call cascaded
10459         update methods.
10460         (redisplay_widget): renamed from update_widget.
10461         (widget_layout): image_instance_layout now takes position as well
10462         as size.
10463         (widget_normalize): ditto.
10464         (widget_instantiate): ditto.
10465         (tab_control_query_geometry) ditto.:
10466         (tab_control_update): renamed from tab_control_set_property.
10467         (progress_gauge_update): set_property -> update.
10468         (layout_normalize): rewrite so that child instantiators are
10469         normalized also.
10470         (layout_update): new function. Create glyphs from the normalized
10471         children and cope with any other layout keywords. We do not
10472         instantiate children here that will be take care of by
10473         redisplay_output_layout.
10474         (layout_instantiate): call layout_update and not much else.
10475         (layout_post_instantiate): not sure whether this is needed
10476         anymore.
10477         (layout_query_geometry): query glyph geometry rather than
10478         image_instance geometry.
10479         (layout_layout): set offsets from pass in parameters. Use glyph
10480         geometry and layout functions rather than image instance ones.
10481         (native_layout_layout): ditto.
10482         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10483         (image_instantiator_widget): set_property -> update.
10484         (image_instantiator_buttons): ditto.
10485         (image_instantiator_progress_guage): ditto.
10486         (image_instantiator_tab_control): ditto.
10487         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10488         (image_instantiator_layout): add update method.
10489
10490         * glyphs-msw.c (bmp_normalize):
10491         (mswindows_resource_normalize): add dest_mask so that it can be
10492         proprogated by layout_normalize.
10493         (begin_defer_window_pos): make optional because it may not be the
10494         right thing to do and it introduces differences with X.
10495         (mswindows_unmap_subwindow): ditto.
10496         (mswindows_map_subwindow): ditto.
10497         (mswindows_redisplay_subwindow): renamed from
10498         mswindows_update_subwindow.
10499         (mswindows_redisplay_widget): ditto.
10500         (mswindows_button_redisplay): renamed from
10501         mswindows_button_update. Update is now what the instantiation
10502         function does for a changed instantiator.
10503         (mswindows_progress_gauge_instantiate): set the progress value
10504         here if appropriate.
10505         (mswindows_tab_control_redisplay): cope with re-ordering of the
10506         members of the tab widget by simply selecting the new top
10507         widget. This makes things appear ok if you click on a tab.
10508         (mswindows_combo_box_instantiate): image_instance_layout now takes
10509         position as well as size.
10510         (mswindows_progress_gauge_redisplay): renamed from
10511         mswindows_progress_gauge_update.
10512         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10513         (image_instantiator_format_create_glyphs_mswindows): ditto.
10514
10515         * glyphs-eimage.c (jpeg_normalize):
10516         (gif_normalize):
10517         (png_normalize):
10518         (tiff_normalize): add dest_mask so that it can be proprogated by
10519         layout_normalize.
10520
10521         * elhash.c:
10522         (print_hash_table):
10523         (hash_table_weakness_validate):
10524         (decode_hash_table_weakness):
10525         (Fhash_table_weakness):
10526         (Fhash_table_type):
10527         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10528
10529         * console.h (struct console_methods): move update_* to
10530         redisplay_*.
10531
10532 2000-07-20  Ben Wing  <ben@xemacs.org>
10533
10534         * *.[ch] (XSETOBJ): remove unused middle argument.
10535         lisp-disunion.h: correct wrap_object() to one argument.
10536
10537 2000-07-15  Ben Wing  <ben@xemacs.org>
10538
10539         * s/cygwin32.h:
10540         * s/cygwin32.h (CYGWIN_CONV_PATH):
10541         Add missing logb prototype for v1.1.
10542         Use post-b20 names and alias to pre-b20 names when pre-b20.
10543
10544         * s/windowsnt.h: [5].
10545
10546 2000-07-15  Ben Wing  <ben@xemacs.org>
10547
10548         * Makefile.in.in (x_objs):
10549         * Makefile.in.in (sheap_objs):
10550         * Makefile.in.in (objs):
10551         added win32.o, cosmetic cleanups.
10552
10553         * alloc.c (Fmake_byte_code):
10554         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10555         etc. macros which declare their own args now.
10556
10557         * alloc.c (syms_of_alloc):
10558         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10559
10560         * buffer.c:
10561         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10562
10563         * buffer.c (Fget_file_buffer):
10564         Fixed GCPRO problem.
10565
10566         * buffer.c (get_truename_buffer):
10567         Fixed comment about GC checking.
10568
10569         * buffer.c (syms_of_buffer):
10570         Undeclared those dedicated frame funs.
10571         [2].
10572
10573         * buffer.h:
10574         Define convenience macros for internal/external conversions.
10575         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10576         and Qenvironment_variable_encoding for cleaner code.
10577
10578         * bufslots.h:
10579         Remove dedicated-frame; in lisp.
10580
10581         * bytecode.c (funcall_compiled_function):
10582         [1].
10583
10584         * bytecode.c (syms_of_bytecode):
10585         [2].
10586
10587         * console-msw.c:
10588         * console-msw.c (mswindows_show_console): Rewrote.
10589
10590         * console-msw.c (Fmswindows_debugging_output): New.
10591         Sends to OutputDebugString (special MSWin debugger interface).
10592
10593         * console-msw.c (Fmswindows_message_box):
10594         Fixed stupid bugs so it works when called from kill-emacs.
10595
10596         * console-msw.c (syms_of_console_mswindows):
10597         Declare Fmswindows_debugging_output.
10598
10599         * console-msw.h:
10600         New MSWin prototypes.
10601
10602         * console-msw.h (struct mswindows_frame):
10603         New entry last-click-mods for improved button-modifier support.
10604
10605         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10606         New struct entry `popup' with corresponding accessor.
10607
10608         * console-x.c:
10609         * console-x.c (split_up_display_spec):
10610         * console-x.c (get_display_arg_connection):
10611         * console-x.c (x_semi_canonicalize_console_connection):
10612         * console-x.c (x_canonicalize_device_connection):
10613         [[[6]]]: Change char to more specific type.
10614         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10615
10616         * console-x.c (x_semi_canonicalize_console_connection):
10617         * console-x.c (x_canonicalize_device_connection):
10618         [[[9]]]: Fix up error signalling to use new structured error system.
10619
10620         * console-x.h:
10621         [[[4]]]: Define codesys aliases:
10622         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10623         Qx_color_name_encoding, Qx_display_name_encoding.
10624
10625         * console.h (struct console_methods):
10626         New method make_dialog_box_internal supersedes older
10627         popup_dialog_box method.
10628
10629         * data.c:
10630         Define many new errors, part of new structured errors.
10631
10632         * data.c (init_errors_once_early):
10633         * data.c (syms_of_data):
10634         [2].
10635
10636         * device-msw.c (mswindows_init_device):
10637         [[[5]]]: Cleanup to support NT 3.51.
10638
10639         * device-msw.c (decode_devmode): Cleanup.
10640
10641         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10642         * device-msw.c (mswindows_handle_print_dialog_box):
10643         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10644         * device-msw.c (syms_of_device_mswindows):
10645         Delete the dialog box primitives recently introduced by Kirill and
10646         instead interface to general dialog box interface.
10647
10648         * device-x.c:
10649         * device-x.c (compute_x_app_name):
10650         * device-x.c (x_init_device):
10651         * device-x.c (Fx_valid_keysym_name_p):
10652         * device-x.c (Fx_set_font_path):
10653         [6].
10654         [7].
10655
10656         * device.h (wrap_device): New.
10657         First of its kind; meant to replace XSETDEVICE.
10658
10659         * dialog-msw.c: Many file-dialog symbols.
10660
10661         * dialog-msw.c (mswindows_register_popup_frame): New.
10662         * dialog-msw.c (mswindows_is_dialog_msg): New.
10663         For supporting kbd traversal in dialog boxes.
10664
10665         * dialog-msw.c (dialog_proc):
10666         Support hitting ESC in dialogs.
10667
10668         * dialog-msw.c (struct):
10669         Common dialog box errors.
10670
10671         * dialog-msw.c (handle_file_dialog_box): New.
10672         Add file dialog code.
10673
10674         * dialog-msw.c (handle_question_dialog_box):
10675         Redo existing code to support new question dialog syntax.
10676
10677         * dialog-msw.c (console_type_create_dialog_mswindows):
10678         We support new dialog console method.
10679
10680         * dialog-msw.c (syms_of_dialog_mswindows):
10681         * dialog-msw.c (vars_of_dialog_mswindows):
10682         New file dialog symbols, vars.
10683
10684         * dialog-x.c:
10685         * dialog-x.c (maybe_run_dbox_text_callback):
10686         * dialog-x.c (dbox_descriptor_to_widget_value):
10687         * dialog-x.c (x_make_dialog_box_internal):
10688         * dialog-x.c (console_type_create_dialog_x):
10689         Mule-ize entire file.
10690         Redo to support question dialog syntax.
10691         [6].
10692
10693         * dialog.c:
10694         * dialog.c (Fmake_dialog_box_internal):
10695         * dialog.c (syms_of_dialog):
10696         Kill old popup-dialog-box, replace with new primitive.
10697         Just call device method or signal error.
10698
10699         * eldap.c (Fldap_open):
10700         * eldap.c (Fldap_search_basic):
10701         * eldap.c (Fldap_add):
10702         * eldap.c (Fldap_modify):
10703         [1].
10704         [7].
10705
10706         * emacs.c:
10707         * emacs.c (make_arg_list_1):
10708         * emacs.c (make_arg_list):
10709         Mule-ize call to dll_init().
10710         [6].
10711         [8].
10712
10713         * emacs.c (make_argc_argv):
10714         * emacs.c (free_argc_argv):
10715         * emacs.c (init_cmdargs):
10716         * emacs.c (main_1):
10717         * emacs.c (Fkill_emacs):
10718         * emacs.c (Fdump_emacs):
10719         Update comments about what can be used in syms_* etc.
10720         Call init_win32() when necessary.
10721         Fix up MS Win dialog box in kill-buffer to actually work right.
10722         [7].
10723
10724         * eval.c:
10725         * eval.c (For):
10726         * eval.c (Fand):
10727         * eval.c (Fprogn):
10728         * eval.c (Fprog1):
10729         * eval.c (Fprog2):
10730         * eval.c (FletX):
10731         * eval.c (Flet):
10732         * eval.c (condition_case_3):
10733         * eval.c (Feval):
10734         * eval.c (function_argcount):
10735         * eval.c (funcall_lambda):
10736         [1].
10737
10738         * eval.c (type_error): New.
10739         * eval.c (maybe_type_error): New.
10740         * eval.c (continuable_type_error): New.
10741         * eval.c (maybe_continuable_type_error): New.
10742         * eval.c (type_error_with_frob): New.
10743         * eval.c (maybe_type_error_with_frob): New.
10744         * eval.c (continuable_type_error_with_frob): New.
10745         * eval.c (maybe_continuable_type_error_with_frob): New.
10746         New functions for use with structured errors.
10747
10748         * event-Xt.c:
10749         * event-Xt.c (x_event_to_emacs_event):
10750         Buttons are now modifiers too.
10751
10752         * event-Xt.c (emacs_Xt_current_event_timestamp):
10753         Implement new event method.
10754         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10755
10756         * event-msw.c:
10757         * event-msw.c (ntpipe_shove_writer): [5].
10758         * event-msw.c (mswindows_enqueue_mouse_button_event):
10759         * event-msw.c (mswindows_drain_windows_queue):
10760         * event-msw.c (mswindows_wnd_proc): [7].
10761         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10762         * event-msw.c (mswindows_modifier_state):
10763         Throughout: support new button modifiers.
10764
10765         * event-msw.c (emacs_mswindows_current_event_timestamp):
10766         Implement new event method.
10767         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10768
10769         * event-stream.c:
10770         * event-stream.c (event_stream_current_event_timestamp): New.
10771         * event-stream.c (maybe_kbd_translate): New functionality.
10772         * event-stream.c (vars_of_event_stream):
10773         Document new kbd-translate-table functionality.
10774
10775         * event-stream.c (Fcurrent_event_timestamp): New.
10776         New primitive for use in fabricated events.
10777         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10778
10779         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10780
10781         * events.c:
10782         * events.c (Fmake_event):
10783         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10784         [1].
10785         [9].
10786
10787         * events.c (format_event_object): fix gcc warnings.
10788
10789         * events.c (Fevent_timestamp): Document new primitives.
10790
10791         * events.c (TIMESTAMP_HALFSPACE): New.
10792
10793         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10794         comparing timestamps correctly (half-space algorithm).
10795
10796         * events.c (Fevent_modifier_bits): Doc fix.
10797
10798         * events.c (Fevent_modifiers): Major doc addition.
10799         * events.c (event_x_y_pixel_internal): Typo fix.
10800         * events.c (syms_of_events): Declare new primitives.
10801
10802         * events.h:
10803         Update long comment for button modifiers, timestamps.
10804
10805         * events.h (struct event_stream):
10806         New current_event_timestamp method.
10807
10808         * extents.c:
10809         * extents.c (extent_in_region_p):
10810         * extents.c (decode_extent):
10811         * extents.c (Fset_extent_parent):
10812         * extents.c (decode_map_extents_flags):
10813         Fix gcc warnings.
10814         [9].
10815
10816         * extents.c (struct extent_at_arg):
10817         * extents.c (decode_extent_at_flag):
10818         * extents.c (extent_at_mapper):
10819         * extents.c (extent_at_bytind):
10820         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10821         * extents.c (Fextents_at): New primitive. [9].
10822         * extents.c (symbol_to_glyph_layout): [9].
10823         Support new primitive `extents-at'.
10824
10825
10826         * extents.c (get_text_property_bytind):
10827         extent_at_bytind has another arg.
10828         [9].
10829
10830         * extents.c (syms_of_extents): New primitive.
10831
10832         * file-coding.c (Fmake_coding_system): [1].
10833         * file-coding.c (subsidiary_coding_system): fix gcc warning
10834         * file-coding.c (syms_of_file_coding): [2].
10835
10836         * fileio.c (Fexpand_file_name):
10837         * fileio.c (Fsysnetunam):
10838         * fileio.c (Ffile_exists_p):
10839         * fileio.c (Ffile_executable_p):
10840         * fileio.c (Fverify_visited_file_modtime):
10841         Clean up GCPROing.
10842
10843         * fileio.c (syms_of_fileio): [2].
10844
10845         * filelock.c (lock_file_1):
10846         * filelock.c (current_lock_owner):
10847         * filelock.c (lock_if_free):
10848         * filelock.c (lock_file):
10849         * filelock.c (unlock_file):
10850         Clean up GCPROing.
10851
10852         * fns.c (concat): Fix gcc warning.
10853
10854         * fns.c (Fmember):
10855         * fns.c (Fold_member):
10856         * fns.c (Fmemq):
10857         * fns.c (Fold_memq):
10858         * fns.c (memq_no_quit):
10859         * fns.c (Fassoc):
10860         * fns.c (Fold_assoc):
10861         * fns.c (Fassq):
10862         * fns.c (Fold_assq):
10863         * fns.c (assq_no_quit):
10864         * fns.c (Frassoc):
10865         * fns.c (Fold_rassoc):
10866         * fns.c (Frassq):
10867         * fns.c (Fold_rassq):
10868         * fns.c (rassq_no_quit):
10869         * fns.c (Fdelete):
10870         * fns.c (Fold_delete):
10871         * fns.c (Fdelq):
10872         * fns.c (Fold_delq):
10873         * fns.c (delq_no_quit):
10874         * fns.c (Fremassoc):
10875         * fns.c (Fremassq):
10876         * fns.c (remassq_no_quit):
10877         * fns.c (Fremrassoc):
10878         * fns.c (Fremrassq):
10879         * fns.c (remrassq_no_quit):
10880         * fns.c (Freverse):
10881         * fns.c (mapcar1):
10882         [1].
10883
10884         * frame-msw.c (mswindows_init_frame_1):
10885         * frame-msw.c (mswindows_delete_frame):
10886         Register popups with dialog code so keyboard traversing works.
10887
10888         * frame-tty.c (tty_raise_frame_no_select): [1].
10889
10890         * frame-x.c:
10891         * frame-x.c (x_set_frame_text_value):
10892         * frame-x.c (x_set_frame_properties):
10893         * frame-x.c (x_create_widgets):
10894         [7].
10895
10896         * frame.c:
10897         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10898
10899         * frame.h (wrap_frame): New.
10900         Macro like wrap_device.
10901
10902         * general.c:
10903         * general.c (SYMBOL):
10904         * general.c (syms_of_general):
10905         Major reorg.  This is now just a wrapper and symbols themselves
10906         are listed in general-slots.h.
10907
10908         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10909         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10910
10911         * glyphs-msw.c (mswindows_native_layout_instantiate):
10912         Add DS_CONTROL so keyboard traversal will work.
10913
10914         * glyphs-widget.c:
10915         * glyphs-widget.c (syms_of_glyphs_widget):
10916         Move some symbols to general-slots.h.
10917
10918         * glyphs-x.c:
10919         * glyphs-x.c (xbm_instantiate_1):
10920         * glyphs-x.c (x_xbm_instantiate):
10921         * glyphs-x.c (x_xface_instantiate):
10922         * glyphs-x.c (autodetect_instantiate):
10923         * glyphs-x.c (cursor_font_instantiate):
10924         * glyphs-x.c (x_update_widget):
10925         * glyphs-x.c (x_widget_instantiate):
10926         * glyphs.c (bitmap_to_lisp_data):
10927         * glyphs.c (pixmap_to_lisp_data):
10928         [7].
10929
10930         * glyphs.c (syms_of_glyphs):
10931         [2].
10932
10933         * gui-x.c:
10934         * gui-x.c (print_widget_value):
10935         * gui-x.c (menu_separator_style_and_to_external):
10936         * gui-x.c (add_accel_and_to_external):
10937         * gui-x.c (button_item_to_widget_value):
10938         * gui-x.c (gui_items_to_widget_values_1):
10939         * gui-x.c (gui_items_to_widget_values):
10940         * gui-x.c (syms_of_gui_x):
10941         * gui-x.c (vars_of_gui_x):
10942         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10943         [9].
10944
10945         * gui-x.h:
10946         Muleize, prototype changes matching gui-x.c.
10947
10948         * gui.c:
10949         * gui.c (separator_string_p):
10950         * gui.c (gui_item_add_keyval_pair):
10951         * gui.c (make_gui_item_from_keywords_internal):
10952         * gui.c (signal_too_long_error):
10953         * gui.c (parse_gui_item_tree_item):
10954         * gui.c (syms_of_gui):
10955         * gui.c (vars_of_gui):
10956         * gui.h:
10957         menu-no-selection-hook moved here (used by MSWin).
10958         Move some symbols to general-slots.h.
10959         [6].
10960         [9].
10961
10962         * insdel.c (get_buffer_pos_char):
10963         * insdel.c (get_buffer_range_char):
10964         Add GC comments.
10965
10966         * keymap.c (keymap_lookup_directly):
10967         * keymap.c (keymap_store):
10968         * keymap.c (ensure_meta_prefix_char_keymapp):
10969         * keymap.c (describe_map):
10970         * keymap.h:
10971         Support new button modifiers.
10972
10973         * lisp-disunion.h (wrap_object):
10974         * lisp-disunion.h (XSETOBJ):
10975         Rename make_obj to wrap_object.
10976
10977         * lisp-union.h:
10978         * lisp-union.h (make_int):
10979         * lisp-union.h (make_char):
10980         Support wrap_object.
10981
10982         * lisp.h:
10983         * lisp.h (LIST_LOOP):
10984         * lisp.h (EXTERNAL_LIST_LOOP):
10985         * lisp.h (LIST_LOOP_2):
10986         * lisp.h (EXTERNAL_LIST_LOOP_1):
10987         * lisp.h (EXTERNAL_LIST_LOOP_2):
10988         * lisp.h (EXTERNAL_LIST_LOOP_3):
10989         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10990         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10991         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10992         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10993         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10994         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10995         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10996         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10997         * lisp.h (struct Lisp_Symbol):
10998         * lisp.h (maybe_continuable_error_with_frob):
10999         Fix up section comments.
11000         Add new types for char to indicate usage.
11001         Delete symbols auto-generated from general-slots.h.
11002         Add prototypes for structured error functions.
11003         Add long comments describing looping macros and change interface
11004         so that lvalues are automatically declared.
11005         Add NO_DECLARE macro in case callers want to declare lvalues
11006         themselves.
11007
11008         * lread.c (read_syntax_error):
11009         * lread.c (continuable_read_syntax_error):
11010         * lread.c (read_structure):
11011         * lread.c (sequence_reader):
11012         * lread.c (read_list_conser):
11013         * lread.c (read_compiled_function):
11014         Rename syntax_error and continuable_syntax_error to avoid clash
11015         with same-named structured error functions.
11016
11017         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11018         * menubar-msw.c (populate_menu_add_item):
11019         * menubar-msw.c (populate_or_checksum_helper):
11020         [5].
11021         [9].
11022
11023         * menubar-x.c:
11024         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11025         Mule-ize whole file.
11026
11027         * menubar.c (Fnormalize_menu_item_name): Add optimization.
11028
11029         * mule-charset.c (Fmake_charset):
11030         * mule-wnnfns.c (Fwnn_set_param):
11031         [1].
11032
11033         * ntproc.c (create_child):
11034         * ntproc.c (Fwin32_set_current_locale):
11035         Add comments portending doom.
11036
11037         * objects-msw.c:
11038         * objects-msw.c (old_font_enum_callback_2):
11039         * objects-msw.c (font_enum_callback_1):
11040         * objects-msw.c (mswindows_enumerate_fonts):
11041         [5].
11042
11043         * objects-x.c:
11044         * objects-x.c (allocate_nearest_color):
11045         * objects-x.c (x_parse_nearest_color):
11046         * objects-x.c (x_initialize_color_instance):
11047         * objects-x.c (x_print_color_instance):
11048         * objects-x.c (x_finalize_color_instance):
11049         * objects-x.c (x_valid_color_name_p):
11050         * objects-x.c (x_initialize_font_instance):
11051         * objects-x.c (x_print_font_instance):
11052         * objects-x.c (valid_x_font_name_p):
11053         * objects-x.c (truename_via_FONT_prop):
11054         * objects-x.c (truename_via_random_props):
11055         * objects-x.c (truename_via_XListFonts):
11056         * objects-x.c (x_font_truename):
11057         * objects-x.c (x_font_instance_truename):
11058         * objects-x.c (x_font_instance_properties):
11059         * objects-x.c (x_list_fonts):
11060         * objects-x.c (x_find_charset_font):
11061         Mule-ize entire file.
11062         [7].
11063
11064         * objects-x.h:
11065         Mule-verify.
11066
11067         * print.c:
11068         * print.c (std_handle_out_external):
11069         * print.c (debug_print_no_newline):
11070         * print.c (syms_of_print):
11071         Output to all debugger kinds in debug-print.
11072         Fix console-output code under MSWin to actually work.
11073
11074         * process-nt.c (send_signal):
11075         * process-nt.c (nt_create_process):
11076         Use newer Unicode macros.
11077
11078         * process-unix.c (unix_create_process):
11079         * process-unix.c (unix_canonicalize_host_name):
11080         * process-unix.c (unix_open_network_stream):
11081         [7].
11082
11083         * scrollbar-x.c:
11084         Mule-verify.
11085
11086         * search.c (syms_of_search):
11087         [2].
11088
11089         * select-msw.c (mswindows_destroy_selection):
11090         Use LIST_LOOP_2.
11091
11092         * select-x.c (symbol_to_x_atom):
11093         [7].
11094
11095         * select.c (syms_of_select):
11096         [2].
11097
11098         * sound.c (Fplay_sound_file):
11099         [7].
11100
11101         * specifier.c:
11102         * specifier.c (decode_specifier_type):
11103         * specifier.c (Fvalid_specifier_locale_type_p):
11104         * specifier.c (check_valid_locale_or_locale_type):
11105         * specifier.c (decode_locale):
11106         * specifier.c (decode_locale_type):
11107         * specifier.c (decode_locale_list):
11108         * specifier.c (check_valid_domain):
11109         * specifier.c (decode_specifier_tag_set):
11110         * specifier.c (Fcanonicalize_tag_set):
11111         * specifier.c (Fdefine_specifier_tag):
11112         * specifier.c (Fspecifier_tag_predicate):
11113         * specifier.c (check_valid_inst_list):
11114         * specifier.c (check_valid_spec_list):
11115         * specifier.c (decode_how_to_add_specification):
11116         * specifier.c (check_modifiable_specifier):
11117         * specifier.c (specifier_add_spec):
11118         * specifier.c (boolean_validate):
11119         * specifier.c (display_table_validate):
11120         [9].
11121
11122         * specifier.c (syms_of_specifier):
11123         Move some symbols to general-slots.h.
11124         [2].
11125
11126         * symbols.c:
11127         * symbols.c (Fmapatoms):
11128         * symbols.c (Fapropos_internal):
11129         Add GCPROs.
11130
11131         * symbols.c (set_default_buffer_slot_variable):
11132         * symbols.c (set_default_console_slot_variable):
11133         [1].
11134
11135         * symbols.c (defsymbol_massage_name_1):
11136         * symbols.c (defkeyword_massage_name):
11137         * symbols.c (deferror_1):
11138         * symbols.c (deferror):
11139         * symbols.c (deferror_massage_name_and_message):
11140         * symeval.h:
11141         * symeval.h (DEFSYMBOL):
11142         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
11143
11144         * symbols.c (syms_of_symbols):
11145         [2].
11146
11147         * symsinit.h:
11148         * symsinit.h (init_win32): New.
11149         Also new is syms_of_dialog_mswindows.
11150
11151         * syswindows.h:
11152         Add new Unicode macros, missing Cygwin wide-char functions,
11153         convenience conversion macros for Qmswindows_tstr, macros for
11154         encapsulating required MSWin <-> Cygwin filename conversions,
11155         prototype for dynamically-extracted (not in NT 3.51) functions.
11156
11157         * toolbar-x.c:
11158         Mule-verify.
11159
11160         * tooltalk.c (Fadd_tooltalk_message_arg):
11161         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11162         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11163         [7].
11164
11165         * tooltalk.c (syms_of_tooltalk):
11166         [2].
11167
11168         * unexnt.c:
11169         * unexnt.c (unexec):
11170         Fix up headers, declaration of unexec() to be more standard.
11171
11172 2000-07-20  Martin Buchholz  <martin@xemacs.org>
11173
11174         * offix.h: Revert change to guard macros - they're used in offix.c!
11175
11176 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11177
11178         * lisp.h: Defsubred Fdelete.
11179
11180         * console-msw.h:  (msprinter_default_printer): Added.
11181
11182         * console-msw.c (msprinter_canonicalize_console_connection):
11183         (msprinter_canonicalize_device_connection): Added.
11184
11185         * device-msw.c (msprinter_default_printer):
11186         (Fmswingows_get_default_printer):
11187         (signal_enum_priner_error):
11188         (Fmswingows_printer_list): Added.
11189
11190 2000-07-19  Martin Buchholz <martin@xemacs.org>
11191
11192         * XEmacs 21.2.35 is released.
11193
11194 2000-07-19  Martin Buchholz  <martin@xemacs.org>
11195
11196         * select-x.c (x_handle_selection_request):
11197         Text selected in xemacs and pasted into xterm failed to appear.
11198         Spelling fixes and cosmetic changes.
11199
11200 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11201
11202         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
11203         XEmacs frame (fix for doubling chars in dialog boxes).
11204
11205 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11206
11207         * select.c (select_convert_in, select_convert_out):
11208         Don't call intern() every time.
11209
11210         * select.c (Qselect_convert_in, Qselect_convert_out): New.
11211         * select.c (vars_of_select): Initialise them.
11212
11213 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11214
11215         * select.c (selection-coercible-types): New.
11216
11217         * select.c (own-selection-internal):
11218         * select.c (get-selection-internal):
11219         MULE bug fix - these should default to COMPOUND_TEXT and not
11220         STRING for MULE. I think.
11221
11222         * select.c (select_convert_out): Use selection-coercible-types
11223         to find types that we can attempt to perform coercions on.
11224
11225 2000-07-18  Martin Buchholz  <martin@xemacs.org>
11226
11227         * mule-wnnfns.c:
11228         * mule-canna.c:
11229         Add coding: cookie to identify encoding.
11230
11231         * mule-canna.c (CANNA_mode_keys): make static.
11232         Use proper prototypes, even for functions of no arguments.
11233         Remove external prototype for Fding().
11234
11235         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11236
11237         * select.c (syms_of_select): Add missing DEFSUBR.
11238
11239 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11240
11241         * select.c (get_selection_internal, own_selection_internal):
11242         Make the type default to STRING, rather than placing a nil type
11243         into Vselection_alist.
11244
11245 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11246
11247         * gpmevent.c (tty_selection_exists_p):
11248         * gpmevent.c (tty_own_selection):
11249         Updated parameter lists.
11250
11251 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11252
11253         * select.h (selection-alist): Removed declaration.
11254
11255         * select.h (get_local_selection):
11256         * select.c (get_local_selection):
11257         Made static.
11258
11259         * select.h (convert_selection): Removed declaration.
11260         * select.c (convert_selection): Removed.
11261         This function belongs in Lisp.
11262
11263         * select.h (select_convert_in): Declare.
11264         * select.h (select_convert_out): Declare.
11265         * select.c (select_convert_in): New.
11266         * select.c (select_convert_out): New.
11267         New conversion functions for other files to call.
11268
11269         * select.h (select_notify_buffer_kill): Declare.
11270         * select.c (select_notify_buffer_kill): New.
11271         New functions that get called from kill-buffer.
11272
11273         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11274         X-specific lisp code.
11275
11276         * select.h: Declare some of the lisp-visible functions for
11277         external use.
11278
11279         * select.c (clean_local_selection_data): Removed. This was
11280         a disgusting function, and previously should have been in
11281         select-x.c in any case. The functionality is now provided
11282         in select-convert-from-integer (select.el).
11283
11284         * select.c (available-selection-types): Fixed stupidity where
11285         INTEGER and ATOM got added twice. Also add STRING when we see an
11286         extent.
11287
11288         * select.c (get-selection-internal): Removed symbol stripping. No
11289         longer causes conversion when data comes from the internal cache.
11290
11291         * select.c (syms_of_select): Added new functions.
11292
11293         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11294         error checking - previously this called abort!
11295
11296         * select-x.c (x_own_selection): Changed comment.
11297
11298         * select-x.c (x_handle_selection_request): Use select_convert_out.
11299         Don't mess with selection-alist; it's an internal variable of select.c.
11300
11301         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11302
11303         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11304         rather than messing with selection-alist.
11305
11306         * select-msw.c (mswindows_get_foreign_selection):
11307         Use TO_INTERNAL_FORMAT rather than hacking.
11308
11309 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11310
11311         * process-unix.c (unix_open_multicast_group):
11312         (unix_open_multicast_group): Remove useless casts.
11313
11314 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11315
11316         * sound.c (Fplay_sound): Fix `unused variable' warning.
11317
11318         * emacs.c (main): Use correct type for _environ on SCO5.
11319
11320 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11321
11322         * console.h (own_selection_method):
11323         * console.h (selection_exists_p_method):
11324         * console.h (available_selection_types_method): New.
11325         * console.h (register_selection_data_type_method): New.
11326         * console.h (selection_data_type_name): New.
11327
11328         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11329         function & alist to track GlobalAlloc()'d handles that need
11330         releasing when the clipboard data gets replaced or emptied.
11331
11332         * event-msw.c (mswindows_wnd_proc): Call it.
11333
11334         * lisp.h, general.c (Qappend): New symbol representing a
11335         `how-to-add' mode.
11336
11337         * select.c (own-selection-internal):
11338         * select.c (selection-exists-p):
11339         * select.c (available-selection-types): New.
11340         * select.c (register-selection-data-type): New.
11341         * select.c (selection-data-type-name): New.  New functions to deal
11342         with device-specific selection data formats.
11343         * select.c (selection-converter-out-alist): Renamed.
11344         * select.c (selection-converter-in-alist): New.
11345         * select.c (selection-appender-alist): New.  Added new alists.
11346         * select.c (syms_of_select, vars_of_select): Added new symbols &
11347         variables.
11348         * select.c (get_local_selection): Split.
11349         * select.c: Removed spurious type checking - selections may now be
11350         of any type, not just strings.
11351         * select.c (own-selection-internal):
11352
11353         * select.h, select.c (convert_selection): New. Created
11354         convert_selection() function based on get_local_selection().
11355         * select.h, select.c (QCF_*): New symbols representing mswindows
11356         clipboard formats.
11357         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11358         symbols representing `how-to-add' modes.
11359
11360         * select-msw.c (x_sym_p): New.
11361         * select-msw.c (symbol_to_ms_cf): New.
11362         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11363         symbols & clipboard formats. Can also handle string names.
11364         * select-msw.c (mswindows_own_selection):
11365         * select-msw.c (mswindows_selection_exists_p):
11366         Added `data-type' parameter. Use it.
11367         * select-msw.c (mswindows_available_selection_types): New.
11368         * select-msw.c (mswindows_register_selection_data_type): New.
11369         * select-msw.c (mswindows_selection_data_type_name): New.
11370         * select-msw.c (mswindows_own_selection):
11371         * select-msw.c (mswindows_get_foreign_selection):
11372         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11373         * select-msw.c (console_create_select_mswindows): Added new methods.
11374         * select-msw.c (mswindows_destroy_selection): New.
11375         * select-msw.c (Vhandle_alist): New list.
11376         * select-msw.c (mswindows_own_selection):
11377
11378         * select-x.c (x_own_selection):
11379         * select-x.c (x_selection_exists_p):
11380         * select-x.c: Added some comments about maybe using new
11381         functionality.
11382         * select-x.c (x_own_selection):
11383
11384         * specifier.c: Remove definition of Qappend (now in general.c)
11385         * specifier.c (syms_of_specifier): Remove Qappend.
11386
11387 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11388
11389         * config.h.in: Add socklen_t.
11390
11391         * s/decosf4-0.h: No special compiler flags needed or desired.
11392         In particular, undefine _BSD for DEC OSF 4.0.
11393
11394 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11395
11396         * redisplay-msw.c (msprinter_frame_output_end): Added.
11397         (console_type_create_redisplay_mswindows): Referred the above.
11398
11399         * frame.c (setup_frame_without_minibuffer): Do not create a
11400         default minibuffer frame on a printer device.
11401
11402         * frame-msw.c (apply_dc_geometry): Added.
11403         (msprinter_start_page):
11404         (msprinter_init_frame_3):
11405         (msprinter_eject_page): Use it.
11406
11407         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11408         and removed residual duplex and orientation properties.
11409
11410 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11411
11412         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11413
11414         * unexalpha.c: Remove system prototypes from C sources!
11415
11416 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11417
11418         * eval.c: Remove references to M-x edit-options in DEFUNs for
11419         `defvar' and `defconst'.
11420
11421 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11422
11423         * config.h.in: Remove SMART_INCLUDE hackery.
11424
11425         PostgreSQL hacking:
11426         * config.h.in: Don't use SMART_INCLUDE.
11427
11428         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11429         * inline.c: Simply #include "postgresql.h"
11430         * postgresql.c:
11431         - Don't use SMART_INCLUDE
11432         - Use simply "const".
11433         - Use standard doc string conventions.
11434         - Use correct type for result of PQstatus.
11435
11436 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11437
11438         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11439
11440         C++ compilation changes.
11441         * config.h.in (EXTERN_C): Define.
11442         * config.h.in (not): This is also a C++ keyword.
11443         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11444         * cm.c: Use EXTERN_C.
11445         * redisplay-tty.c: Use EXTERN_C.
11446         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11447
11448 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11449
11450         * general.c: Remove duplicate definition for Qfunction.
11451
11452 2000-07-08  Ben Wing  <ben@xemacs.org>
11453
11454         * device-msw.c (msprinter_init_device):
11455         * device-msw.c (sync_printer_with_devmode):
11456         * device-msw.c (handle_devmode_changes):
11457         * device-msw.c (print_dialog_worker):
11458         * device-msw.c (Fmsprinter_apply_settings):
11459         * device-msw.c (hash_devmode):
11460         * device-msw.c (Fmsprinter_settings_despecialize):
11461         use Qmswindows_tstr, not Qctext.
11462
11463         * vm-limit.c (check_memory_limits):
11464         avoid infinite loop printing warning messages.
11465
11466 2000-07-05  Craig Lanning  <lanning@scra.org>
11467
11468         * Makefile.in.in: Add support for including the Windows resources
11469         when building with the cygwin and mingw targets.
11470
11471         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11472         not set or not correct.
11473         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11474         (init_initial_directory): Don't try to use $PWD on the
11475         WIN32_NATIVE target.
11476
11477         * s\cygwin32.h:
11478         [[Add -mwindows to eliminate console window.]] not required --ben
11479         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11480         (MAIL_USE_POP): removed; now handled by configure.
11481
11482         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11483         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11484         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11485         (MAIL_USE_POP): removed; now handled by configure.
11486         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11487         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11488         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11489         constant string.
11490         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11491         up from <winsock.h> via systime.h.
11492         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11493         (getpagesize): from Dan Holmsand, added.
11494         Added #endif which was left dangling by Ben's mega patch; added
11495         comment to help prevent this in the future.
11496
11497         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11498
11499 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11500
11501         * console-msw.h (struct mswindows_device): Removed unnecessary
11502         cached device geometry values.
11503         Added update_tick and an accessor macro.
11504         (Lisp_Devmode): Added lrecord declaration.
11505         (struct msprinter_device): Contain devmode as a Lisp object.
11506         Added mswindows_get_selected_frame_hwnd();
11507
11508         * console.h (struct console_methods): Indentation nitpicking.
11509
11510         * device-msw.c (mswindows_init_device): Do not initialize geometry
11511         cache. Initialize update tick.
11512         (mswindows_device_system_metrics): Ask the device for its geometry.
11513         (global_free_2_maybe):
11514         (devmode_to_hglobal):
11515         (handle_printer_changes):
11516         (ensure_not_printing):
11517         (print_dialog_worker):
11518         (Fmsprinter_print_setup_dialog):
11519         (Fmsprinter_print_dialog):
11520         (plist_get_margin):
11521         (plist_set_margin):
11522         (Fmsprinter_page_setup_dialog): Added functions.
11523         (sync_printer_with_devmode):
11524         (handle_devmode_changes):
11525         (Fmsprinter_get_settings):
11526         (Fmsprinter_select_settings):
11527         (Fmsprinter_apply_settings):
11528         (allocate_devmode):
11529         (Fmsprinter_settings_copy):
11530         (Fmsprinter_settings_despecialize):
11531         (print_devmode):
11532         (finalize_devmode):
11533         (equal_devmode):
11534         (hash_devmode): Added functions
11535         (syms_of_device_mswindows): Init devmode lrecord class.
11536
11537         * device.h: Added an exfun for find-device.
11538
11539         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11540         geometry; although, recreate the device compatible DC.
11541
11542         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11543         (msprinter_init_frame_3):
11544         (msprinter_frame_property):
11545         (msprinter_internal_frame_property_p):
11546         (msprinter_frame_properties):
11547         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11548         print job properties (will move to device settings).
11549
11550         * lisp.h: Added symbols.
11551
11552         * general.c (syms_of_general): Declared them.
11553
11554         * hash.c (string_hash): Added.
11555
11556         * lrecord.h (lrecord_type): Added devmode lrecord type.
11557
11558 2000-07-02  Mike Sperber <mike@xemacs.org>
11559
11560         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11561         FreeBSD 4.0.
11562
11563 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11564
11565         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11566         integer.
11567
11568 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11569
11570         * data.c (Fstring_to_number): Don't recognize floating point if
11571         base is not 10.
11572
11573 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11574
11575         * glyphs-widget.c (tab_control_query_geometry):
11576         (widget_query_geometry):
11577         (button_query_geometry):
11578         * glyphs.c (text_query_geometry):
11579         Enforce type correctness.
11580
11581 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11582
11583         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11584         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11585
11586 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11587
11588         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11589         conflicts with gcc's fixincluded version of FOO.h.
11590
11591         * glyphs.h (image_instance_geometry): Remove trailing `,'
11592
11593 2000-06-08  Mike Alexander  <mta@arbortext.com>
11594
11595         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11596         (shove_thread): Don't write the same output twice
11597         (make_ntpipe_output_stream): Increase priority of shove thread
11598         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11599         chance to run
11600         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11601         it.
11602
11603 2000-06-12  Ben Wing  <ben@xemacs.org>
11604
11605         * s\mingw32.h (sigset):
11606         * s\windowsnt.h (sigset):
11607         rename msw_ to mswindows_ for consistency with general convention.
11608
11609 2000-06-12  Ben Wing  <ben@xemacs.org>
11610
11611         * console-msw.c:
11612         * console-msw.c (mswindows_get_console_hwnd):
11613         * console-msw.c (mswindows_ensure_console_allocated):
11614         * console-msw.c (mswindows_hide_console):
11615         * console-msw.c (mswindows_show_console):
11616         * console-msw.c (mswindows_ensure_console_buffered):
11617         * console-msw.c (mswindows_output_console_string):
11618         * console-msw.c (mswindows_windows9x_p):
11619         * console-msw.h:
11620         * device-msw.c (mswindows_get_workspace_coords):
11621         * device-msw.c (mswindows_device_system_metrics):
11622         * dialog-msw.c (mswindows_popup_dialog_box):
11623         * event-msw.c (mswindows_wnd_proc):
11624         * frame-msw.c (mswindows_size_frame_internal):
11625         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11626         * menubar-msw.c (displayable_menu_item):
11627         * menubar-msw.c (mswindows_char_is_accelerator):
11628         * nt.c:
11629         * nt.c (mswindows_sigset):
11630         * nt.c (mswindows_sigrelse):
11631         * nt.c (mswindows_sigpause):
11632         * nt.c (mswindows_raise):
11633         * nt.c (timer_proc):
11634         * ntproc.c:
11635         * ntproc.c (find_child_console):
11636         * ntproc.c (sys_kill):
11637         * print.c:
11638         * print.c (std_handle_out_external):
11639         * process-nt.c (find_child_console):
11640         * process-nt.c (send_signal_the_95_way):
11641         * process-nt.c (ensure_console_window_exists):
11642         * process-nt.c (nt_create_process):
11643         * syssignal.h:
11644         rename msw_ to mswindows_ for consistency with general convention.
11645
11646         * emacs.c:
11647         * dumper.c:
11648         include nt.h, not syswindows.h.
11649
11650         * nt.c (mswindows_fstat):
11651         * nt.c (mswindows_stat):
11652         prefix mswindows_ instead of attempting to directly override the
11653         library functions.  fix declarations.
11654
11655         * nt.h:
11656         include syswindows.h.  move some sysdep.h stuff here.
11657
11658         * ntheap.h:
11659         include syswindows.h, not <windows.h>.
11660
11661         * ntplay.c:
11662         clean up headers.
11663
11664         * sysdep.c:
11665         clean up headers.
11666
11667         * sysdep.c (sys_fstat):
11668         * sysdep.c (sys_stat):
11669         call mswindows versions when appropriate.
11670
11671         * sysdep.h:
11672         move mswin decls to nt.h.
11673
11674         * syswindows.h:
11675         add long comment describing appropriate use of the various windows
11676         headers.
11677
11678 2000-06-11  Ben Wing  <ben@xemacs.org>
11679
11680         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11681
11682 2000-06-10  Ben Wing  <ben@xemacs.org>
11683
11684         * Makefile.in.in (release):
11685         Correction to make sure xemacs.exe always dumped when correct.
11686
11687         * alloca.c:
11688         * balloon_help.c:
11689         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11690
11691         * buffer.c (set_buffer_internal):
11692         [[[[2]]]]: Remove HAVE_FEP code.
11693
11694         * buffer.c (init_initial_directory):
11695         [3].
11696
11697         * bytecode.c:
11698         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11699         individual files.
11700
11701         * callproc.c:
11702         * callproc.c (call_process_cleanup):
11703         * callproc.c (Fold_call_process_internal):
11704         * callproc.c (child_setup):
11705         * callproc.c (getenv_internal):
11706         * callproc.c (init_callproc):
11707         * callproc.c (vars_of_callproc):
11708         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11709         __CYGWIN32__ -> CYGWIN.
11710         DOS_NT -> WIN32_NATIVE.
11711         Remove MSDOS support/references, converting to WIN32_NATIVE
11712           where correct.
11713         __MINGW32__ -> MINGW.
11714         Fix windows.h includes.
11715         Remove bogus HAVE_NTGUI.
11716
11717         * config.h.in:
11718         [2].
11719
11720         * console-msw.c:
11721         mswindows_message_outputted added for use in allowing startup
11722         errors on the console to be seen.
11723
11724         * console-msw.c (msw_ensure_console_allocated):
11725         * console-msw.c (msw_output_console_string):
11726         * console-msw.c (DHEADER):
11727         * console-msw.c (DOPAQUE_DATA):
11728         * console-msw.c (DEVENT):
11729         * console-msw.c (DCONS):
11730         * console-msw.c (DCONSCDR):
11731         * console-msw.c (DSTRING):
11732         * console-msw.c (DVECTOR):
11733         * console-msw.c (DSYMBOL):
11734         * console-msw.c (DSYMNAME):
11735         Fix warnings.
11736
11737         * console-stream.c (stream_init_console):
11738         Fix text/binary problems.
11739
11740         * device-msw.c:
11741         * device-msw.c (mswindows_finish_init_device):
11742         * device-msw.c (mswindows_delete_device):
11743         [1].
11744
11745         * device.c (handle_asynch_device_change):
11746         [3].
11747
11748         * dgif_lib.c:
11749         * dgif_lib.c (DGifOpenFileName):
11750         * dgif_lib.c (DGifOpenFileHandle):
11751         * dgif_lib.c (DGifGetLine):
11752         * dgif_lib.c (DGifGetPixel):
11753         Added config.h/lisp.h, fix up includes.
11754         [1].
11755
11756         * dired-msw.c:
11757         [4].
11758
11759         * dired.c:
11760         * dired.c (file_name_completion):
11761         * dired.c (Ffile_attributes):
11762         * dired.c (syms_of_dired):
11763         [1].
11764
11765         * dumper.c:
11766         * dumper.c (pdump_file_unmap):
11767         * dumper.c (pdump_load):
11768         [1].
11769
11770         * editfns.c:
11771         * editfns.c (Ftemp_directory):
11772         * editfns.c (user_login_name):
11773         * editfns.c (Fuser_real_login_name):
11774         * editfns.c (get_home_directory):
11775         [1].
11776
11777         * elhash.c (finish_marking_weak_hash_tables):
11778         [[[[5]]]]: Fix GCC warnings.
11779
11780         * emacs.c:
11781         * emacs.c (mswindows_handle_hardware_exceptions):
11782         * emacs.c (make_arg_list_1):
11783         * emacs.c (main_1):
11784         * emacs.c (Fkill_emacs):
11785         * emacs.c (Fdump_emacs):
11786         [1].
11787         Fix problems with nested crashes, add long comment.
11788
11789         * event-Xt.c (init_event_Xt_late):
11790         [1].
11791
11792         * event-msw.c:
11793         * event-msw.c (mswindows_dde_callback):
11794         * event-msw.c (mswindows_handle_sticky_modifiers):
11795         * event-msw.c (mswindows_wnd_proc):
11796         [1].
11797         [5].
11798
11799         * events.c (character_to_event):
11800         [1].
11801
11802         * fileio.c:
11803         * fileio.c (Ffile_name_directory):
11804         * fileio.c (Ffile_name_nondirectory):
11805         * fileio.c (directory_file_name):
11806         * fileio.c (Fexpand_file_name):
11807         * fileio.c (Fsubstitute_in_file_name):
11808         * fileio.c (Ffile_name_absolute_p):
11809         * fileio.c (check_executable):
11810         * fileio.c (Ffile_readable_p):
11811         * fileio.c (Ffile_accessible_directory_p):
11812         * fileio.c (Ffile_modes):
11813         * fileio.c (Funix_sync):
11814         * fileio.c (vars_of_fileio):
11815         [1]. [4].
11816
11817         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11818
11819         Expand getdefdir defn.
11820         Fix bogus rename() comment.
11821
11822         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11823         to use standard XEmacs include files, e.g. sysfile.h, rather
11824         than system-specific includes.
11825
11826         * fns.c:
11827         * fns.c (Fsubseq):
11828         [5]. [6].
11829
11830         * frame.c (vars_of_frame):
11831         [1].
11832
11833         * getloadavg.c:
11834         * getloadavg.c (getloadavg):
11835         [1]. [6].
11836         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11837         (We don't use it elsewhere in the code; just add a comment.)
11838
11839         * gif_io.c:
11840         [6].
11841         Add config.h.
11842
11843         * glyphs-msw.c:
11844         * glyphs-msw.c (mswindows_resource_instantiate):
11845         [1].
11846
11847         * glyphs-x.c (x_native_layout_instantiate):
11848         [5].
11849
11850         * gui-msw.c (Fmswindows_shell_execute):
11851         [1].
11852
11853         * insdel.c:
11854         [4].
11855
11856         * lisp.h:
11857         [4]. [5].
11858
11859         * lread.c (locate_file_in_directory_mapper):
11860         [1].
11861
11862         * lstream.c:
11863         [4].
11864
11865         * mem-limits.h:
11866         * mem-limits.h (get_lim_data):
11867         [1].
11868
11869         * menubar-msw.c:
11870         [4].
11871
11872         * ndir.h:
11873         [1].
11874
11875         * nt.c:
11876         * nt.c (getwd):
11877         * nt.c (closedir):
11878         * nt.c (rva_to_section):
11879         * nt.c (mswindows_executable_type):
11880         [1]. [6].
11881         Fix closedir() defn.
11882
11883         * nt.h:
11884         [[[[8]]]]: *_OK defs moved to sysfile.h.
11885
11886         * ntproc.c:
11887         [6]. [7].
11888
11889         * objects-x.c:
11890         [4].
11891
11892         * print.c:
11893         * print.c (std_handle_out_external):
11894         [1]. [4].
11895
11896         * process-nt.c:
11897         * process-nt.c (nt_create_process):
11898         [6].
11899         try to fix process quoting somewhat.
11900
11901         * process-unix.c (unix_create_process):
11902         [1].
11903
11904         * process.c:
11905         * process.c (vars_of_process):
11906         Add Vnull_device.
11907
11908         * process.h:
11909         [1].
11910
11911         * realpath.c:
11912         * realpath.c (xrealpath):
11913         [1].
11914
11915         * redisplay-tty.c (init_tty_for_redisplay):
11916         [3].
11917
11918         * redisplay.c:
11919         [4]. [6].
11920
11921         * scrollbar-msw.c:
11922         [4].
11923
11924         * sheap.c:
11925         * sheap.c (more_static_core):
11926         * sheap.c (report_sheap_usage):
11927         [5]. [6].
11928
11929         * signal.c:
11930         * signal.c (alarm_signal):
11931         [1]. [6].
11932
11933         * sound.c:
11934         [6].
11935
11936         * strftime.c:
11937         * strftime.c (zone_name):
11938         [1]. [5].
11939
11940         * symsinit.h (init_sunpro):
11941         [1].
11942
11943         * syscommctrl.h:
11944         commctrl.h not in Cygwin b20.1.
11945
11946         * sysdep.c:
11947         * sysdep.c (endif):
11948         * sysdep.c (sys_subshell):
11949         * sysdep.c (init_baud_rate):
11950         * sysdep.c (emacs_get_tty):
11951         * sysdep.c (emacs_set_tty):
11952         * sysdep.c (tty_init_sys_modes_on_device):
11953         * sysdep.c (init_system_name):
11954         * sysdep.c (sys_open):
11955         * sysdep.c (interruptible_open):
11956         * sysdep.c (sys_fopen):
11957         * sysdep.c (sys_mkdir):
11958         * sysdep.c (sys_rename):
11959         * sysdep.c (get_process_times_1):
11960         [1]. [6].
11961
11962         * sysdep.h:
11963         [1].
11964
11965         * sysdir.h:
11966         * sysdir.h (DIRENTRY_NONEMPTY):
11967         [1]. [6].
11968
11969         * sysdll.c (dll_init):
11970         * sysdll.h:
11971         [1].
11972
11973         * sysfile.h:
11974         [1]. [6]. [8].
11975         added text/binary defs.
11976
11977         * sysfloat.h:
11978         [1].
11979
11980         * sysproc.h:
11981         * sysproc.h (EDESTADDRREQ):
11982         * sysproc.h (poll_fds_for_input):
11983         [1]. [6].
11984
11985         * syspwd.h:
11986         [6].
11987
11988         * syssignal.h:
11989         [1].
11990
11991         * systime.h:
11992         [1]. [6].
11993
11994         * systty.h:
11995         [1].
11996
11997         * syswindows.h:
11998         [1].
11999         Always define WIN32_LEAN_AND_MEAN.
12000
12001         * unexcw.c (unexec):
12002         [5].
12003
12004         * unexec.c:
12005         * unexec.c (copy_text_and_data):
12006         * unexec.c (adjust_lnnoptrs):
12007         [1].
12008
12009         * unexnt.c:
12010         * unexnt.c (_start):
12011         [1].
12012
12013 2000-06-07  Ben Wing  <ben@xemacs.org>
12014
12015         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
12016         was used only as a model.  We've long since extracted any useful
12017         logic or code out of this. (I just did an exhaustive search.)
12018
12019         * s\msdos.h: Removed.
12020
12021         * s\windows95.h: Removed.
12022
12023 2000-06-10  Ben Wing  <ben@xemacs.org>
12024
12025         * s\cygwin32.h:
12026         [1]. [5].
12027         Don't use extern with fun defs.
12028
12029         * s\mingw32.h:
12030         [1]. [7].
12031         Remove nt\inc include.
12032         Remove getdisk, getdefdir. (The former is unused, the latter
12033         expanded in fileio.h.)
12034
12035         * s\windowsnt.h:
12036         * s\windowsnt.h (WIN32_NATIVE):
12037         * s\windowsnt.h (HAVE_STRCASECMP):
12038         [1]. [7].
12039         Add long comment about preprocessor changes.
12040         Remove getdisk, getdefdir. (The former is unused, the latter
12041         expanded in fileio.h.)
12042
12043 2000-06-10  Ben Wing  <ben@xemacs.org>
12044
12045         * m\arm.h:
12046         * m\delta.h:
12047         * m\intel386.h:
12048         * m\sequent.h:
12049         * m\template.h:
12050         * m\windowsnt.h:
12051         [1].
12052         Remove bogus/unused NO_SOCK_SIGIO.
12053
12054 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
12055
12056         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
12057         not an Emchar.
12058
12059 2000-06-04  Mike Sperber <mike@xemacs.org>
12060
12061         * casetab.c (set_case_table): For `set-standard-case-table',
12062         actually deposit the new case tables where the rest of XEmacs can
12063         see them.
12064
12065 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
12066
12067         * data.c (Faset): Don't cast XCHAR() to unsigned char.
12068
12069 2000-06-05  Ben Wing  <ben@xemacs.org>
12070
12071         * callproc.c (child_setup): Don't do close_load_descs() under
12072         MS Windows.  Put in a comment explaining why.
12073
12074 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
12075
12076         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
12077         Toolkit shell" which breaks `kill-compilation' on Windows NT
12078         native, retaining STDERR handling improvements.
12079
12080 2000-06-01  Andreas Jaeger  <aj@suse.de>
12081
12082         * s/s390.h: Support for S390, based on a patch by Martin
12083         Schwidefsky <schwidefsky@de.ibm.com>.
12084
12085 2000-05-30  Andy Piper  <andy@xemacs.org>
12086
12087         * window.c (allocate_window):
12088         (make_dummy_parent):
12089         (Fset_window_configuration): use new hashtable type.
12090
12091         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
12092         (struct image_instantiator_methods):
12093         (struct Lisp_Image_Instance): make instance geometry signed.
12094
12095         * glyphs.c (instantiate_image_instantiator):
12096         (image_instance_query_geometry):
12097         (image_instance_layout):
12098         (image_instance_layout):
12099         (query_string_geometry):
12100         (text_query_geometry):
12101         (image_instantiate):
12102         (image_instantiate):
12103         (cache_subwindow_instance_in_frame_maybe):
12104         (subwindow_query_geometry): make instance geometry signed.
12105
12106         * glyphs-widget.c (widget_query_geometry):
12107         (widget_layout):
12108         (button_query_geometry):
12109         (tree_view_query_geometry):
12110         (tab_control_query_geometry):
12111         (layout_query_geometry):
12112         (layout_layout):
12113         (native_layout_layout): make instance geometry signed.
12114
12115 2000-05-29  Olivier Galibert  <galibert@pobox.com>
12116
12117         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
12118         constant.
12119
12120         * general.c (syms_of_general): Add Qfull_assoc symbol.
12121
12122         * data.c (finish_marking_weak_lists): Mark full-assoc lists
12123         correctly.
12124         (decode_weak_list_type): Decode full-assoc type.
12125         (encode_weak_list_type): Encode full-assoc type.
12126         (Fmake_weak_list): Update doc string.
12127
12128 2000-05-30  Andy Piper  <andy@xemacs.org>
12129
12130         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
12131
12132         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
12133         (decode_hash_table_weakness): ditto.
12134         (Fhash_table_weakness): ditto.
12135         (Fhash_table_type): ditto.
12136         (finish_marking_weak_hash_tables): ditto.
12137         (hash_table_weakness_validate): ditto.
12138         (syms_of_elhash): ditto.
12139
12140 2000-05-28  Martin Buchholz <martin@xemacs.org>
12141
12142         * XEmacs 21.2.34 is released.
12143
12144 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12145
12146         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
12147         start cache.
12148         (updating_line_start_cache): Gone.
12149         (regenerate_window): Replace resetting of VERTICAL_CLIP by
12150         generic code to force a minimum of 1 line laid out in the
12151         CMOTION_DISP case.
12152
12153 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12154
12155         * glyphs.c (instantiate_image_instantiator): Check for initialized
12156         height & width no longer special cases IMAGE_NOTHING.
12157         (nothing_instantiate): Set height and width of instance.
12158
12159 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12160
12161         * unexelf.c (unexec): Search for ".data" section.
12162         Initialize new_data2_offset from old_data_index.
12163         Remove redundant check for ElfW.
12164
12165 2000-05-23  Andy Piper  <andy@xemacs.org>
12166
12167         * glyphs.c (get_image_instantiator_governing_domain): allow more
12168         specific domains as the governing domain rather than expecting an
12169         exact match. This fixes problems with layouts.
12170
12171 2000-05-22  Andy Piper  <andy@xemacs.org>
12172
12173         * redisplay-output.c (compare_runes): check for non-images
12174
12175         * glyphs.c (set_glyph_dirty_p): ditto.
12176         (update_glyph_cachel_data): ditto.
12177
12178         * glyphs-widget.c (layout_post_instantiate): ditto.
12179         (layout_post_instantiate): ditto.
12180
12181         * event-msw.c (mswindows_wnd_proc): warning removal.
12182
12183 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
12184
12185         * s\mingw32.h: Added #undef for CLASH_DETECTION.
12186
12187         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
12188
12189         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
12190
12191         * nt.c (rva_to_section): mingw32 needs rva_to_section.
12192         (mswindows_executable_type): mingw32 now has enough headers for
12193         this to work.
12194
12195 2000-05-20  Andy Piper  <andy@xemacs.org>
12196
12197         * console-msw.c (mswindows_output_last_error): ; -> ,
12198
12199 2000-05-12  Andy Piper  <andy@xemacs.org>
12200
12201         * console-msw.c (FROB): compare ints with ints.
12202
12203 2000-05-11  Andy Piper  <andy@xemacs.org>
12204
12205         * glyphs-x.c (x_finalize_image_instance): make minimal build
12206         happy.
12207
12208 2000-05-20  Ben Wing  <ben@xemacs.org>
12209
12210         * event-Xt.c:
12211         * event-Xt.c (vars_of_event_Xt):
12212         move modifier-keys-are-sticky to event-stream.c.
12213
12214         * event-msw.c:
12215         * event-msw.c (mswindows_enqueue_mouse_button_event):
12216         * event-msw.c (key_needs_default_processing_p):
12217         * event-msw.c (XEMSW_LCONTROL):
12218         * event-msw.c (mswindows_handle_sticky_modifiers):
12219         * event-msw.c (FROB):
12220         * event-msw.c (clear_sticky_modifiers):
12221         * event-msw.c (output_modifier_keyboard_state):
12222         * event-msw.c (output_alt_keyboard_state):
12223         * event-msw.c (mswindows_wnd_proc):
12224         * event-msw.c (mswindows_modifier_state):
12225         * event-msw.c (emacs_mswindows_handle_magic_event):
12226         implement sticky modifiers.
12227
12228         * event-stream.c:
12229         * event-stream.c (vars_of_event_stream):
12230         move modifier-keys-are-sticky here.
12231
12232         * lisp.h:
12233         add CHECK_FUNCTION.
12234
12235         * rangetab.c:
12236         implement map-range-table.
12237
12238
12239 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12240
12241         * redisplay-tty.c (reset_tty_modes):
12242         (tty_redisplay_shutdown): Adjust argument type to
12243         tty_frame_output_end.
12244
12245 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12246
12247         * eval.c (Fbacktrace): Don't output a line with only right
12248         parenthesis.
12249
12250 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12251
12252         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12253         (Fpq_reset_poll): Ditto.
12254
12255 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12256
12257         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12258
12259 2000-05-16  Ben Wing  <ben@xemacs.org>
12260
12261         * buffer.c:
12262         * buffer.c (dfc_convert_to/from_internal_format):
12263         * buffer.c (reinit_vars_of_buffer):
12264         Fix conversion functions to allow reentrancy.
12265
12266         * console-msw.c:
12267         * console-msw.c (mswindows_output_last_error):
12268         New fun, generally useful -- output a human-readable
12269         version of GetLastError() on the console.
12270
12271         * console-msw.h:
12272         * console-msw.h (struct mswindows_frame):
12273         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12274
12275         * console-stream.c (stream_output_begin):
12276         * console-stream.c (stream_output_end):
12277         * console-stream.c (stream_output_vertical_divider):
12278         * console-stream.c (stream_clear_region):
12279         * console-stream.c (stream_flash):
12280         * console-stream.c (console_type_create_stream):
12281         Delete blank stream methods, not needed.
12282
12283         * console.h (struct console_methods):
12284         Split begin/end methods into window and frame.
12285
12286         * event-msw.c:
12287         * event-msw.c (mswindows_handle_paint):
12288         * event-msw.c (output_alt_keyboard_state):
12289         * event-msw.c (mswindows_wnd_proc):
12290         * event-msw.c (vars_of_event_mswindows):
12291         Comment about problems with ignored-expose.
12292         Define mswindows-debug-events; not really implemented.
12293
12294         * frame-msw.c (mswindows_init_frame_1):
12295         random cleanups.
12296
12297         * glyphs-msw.c:
12298         * glyphs-msw.c (begin_defer_window_pos):
12299         * glyphs-msw.c (mswindows_unmap_subwindow):
12300         * glyphs-msw.c (mswindows_map_subwindow):
12301         * glyphs-msw.c (mswindows_resize_subwindow):
12302         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12303
12304         * glyphs.c (make_image_instance_1):
12305         Fix crash.
12306
12307         * gutter.c (Fredisplay_gutter_area):
12308         Use new begin/end methods.
12309
12310         * lisp.h (Dynarr_new2):
12311         New creation fun.
12312
12313         * redisplay-msw.c:
12314         * redisplay-msw.c (mswindows_frame_output_begin):
12315         * redisplay-msw.c (mswindows_frame_output_end):
12316         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12317         New begin/end methods -- handle DeferWindowPos.
12318
12319         * redisplay-output.c (redisplay_move_cursor):
12320         * redisplay-output.c (redraw_cursor_in_window):
12321         * redisplay-output.c (redisplay_update_line):
12322         * redisplay-output.c (redisplay_output_window):
12323         New begin/end methods.
12324
12325         * redisplay-tty.c:
12326         * redisplay-tty.c (tty_frame_output_begin):
12327         * redisplay-tty.c (tty_frame_output_end):
12328         * redisplay-tty.c (console_type_create_redisplay_tty):
12329         New begin/end methods.
12330
12331         * redisplay-x.c:
12332         * redisplay-x.c (x_window_output_begin):
12333         * redisplay-x.c (x_window_output_end):
12334         * redisplay-x.c (console_type_create_redisplay_x):
12335         New begin/end methods.
12336
12337         * redisplay.c (redisplay_frame):
12338         * redisplay.c (Fredisplay_echo_area):
12339         New begin/end methods.
12340         use MAYBE_DEVMETH for clear_frame; it may not exist.
12341
12342         * window.h (WINDOW_XFRAME):
12343         WINDOW_XFOO macros -- get locale and decode struct pointer.
12344
12345
12346 2000-05-12  Ben Wing  <ben@xemacs.org>
12347
12348         * emacs.c:
12349         * emacs.c (ensure_no_quitting_from_now_on):
12350         * emacs.c (fatal_error_signal):
12351         * emacs.c (mswindows_handle_hardware_exceptions):
12352         * emacs.c (main):
12353         * emacs.c (Fkill_emacs):
12354         * emacs.c (shut_down_emacs):
12355         * emacs.c (assert_failed):
12356         various improvements in fatal error handling.
12357
12358         * eval.c:
12359         move preparing_for_armageddon to emacs.c.
12360
12361         * lisp.h:
12362         declare fatal_error_in_progress.
12363
12364         * print.c:
12365         * print.c (std_handle_out_external):
12366         * print.c (std_handle_out_va):
12367         * print.c (stderr_out):
12368         * print.c (stdout_out):
12369         use console under mswin when no standard output.
12370         don't do code conversion during fatal error.
12371
12372         * scrollbar.c (Fscrollbar_page_up):
12373         * scrollbar.c (Fscrollbar_page_down):
12374         fix missing else.  reindent.
12375
12376 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12377
12378         Emergency fix.
12379
12380         * glyphs.h (GLYPH_CACHEL_DESCENT):
12381         (GLYPH_CACHEL_DESCENT):
12382         (GLYPH_CACHEL_DESCENT):
12383         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12384         used in case these are inline functions.
12385         Use more absurd values to error check.
12386
12387         include window.h for error check functions.
12388
12389 2000-05-11  Ben Wing  <ben@xemacs.org>
12390
12391         * cmdloop.c (Freally_early_error_handler):
12392         Display message box under windows; otherwise, message will disappear
12393         before it can be viewed.
12394
12395         * console-msw.c:
12396         * console-msw.c (Fmswindows_message_box):
12397         * console-msw.c (FROB):
12398         * console-msw.c (syms_of_console_mswindows):
12399         Define new fun `mswindows-message-box'.
12400         #### I will merge this into `popup-dialog-box'; just give me
12401         a bit of time.
12402
12403         * general.c:
12404         * general.c (syms_of_general):
12405         Some new symbols used in `mswindows-message-box'.
12406
12407         * glyphs.c:
12408         * glyphs.c (Fset_image_instance_property):
12409         put warning in this fun.
12410
12411         * glyphs.h:
12412         * glyphs.h (GLYPH_CACHEL_WIDTH):
12413         * glyphs.h (GLYPH_CACHEL_ASCENT):
12414         * glyphs.h (GLYPH_CACHEL):
12415         * glyphs.h (GLYPH_CACHEL_GLYPH):
12416         define error-checking versions to try to catch a bug i've seen --
12417         redisplay gets in an infinite loop because the glyph width of the
12418         continuation glyph is 65535.
12419
12420         * lisp.h:
12421         Extern message-box stuff.
12422
12423         * window.c (allocate_window):
12424         * window.c (make_dummy_parent):
12425         * window.c (Fset_window_configuration):
12426         Use EQUAL not EQ for subwindow caches to make them work a bit
12427         better. (Something is still very broken.)
12428
12429
12430 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12431
12432         * glyphs.c (image_instantiate): Suppress gcc warnings.
12433         (Fmake_image_instance): Fix doc string.
12434         * specifier.c (Fmake_specifier): Ditto.
12435
12436 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12437
12438         * paths.h.in (PATH_LOCK): Removed.
12439         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12440         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12441
12442 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12443
12444         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12445         Document (featurep '(and xemacs 21.02)).
12446
12447 2000-05-09  Ben Wing  <ben@xemacs.org>
12448
12449         * buffer.c (complex_vars_of_buffer):
12450         update modeline-format doc.
12451
12452         * device.h:
12453         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12454
12455         * emacs.c:
12456         timeline of all released versions of Emacs, for use in creating
12457         authorship comments and in synching up.
12458
12459         * glyphs-widget.c (image_instantiator_buttons):
12460         * glyphs-widget.c (image_instantiator_edit_fields):
12461         * glyphs-widget.c (image_instantiator_combo_box):
12462         * glyphs-widget.c (image_instantiator_scrollbar):
12463         * glyphs-widget.c (image_instantiator_progress_guage):
12464         * glyphs-widget.c (image_instantiator_tree_view):
12465         * glyphs-widget.c (image_instantiator_tab_control):
12466         * glyphs-widget.c (image_instantiator_labels):
12467         * glyphs-widget.c (image_instantiator_layout):
12468         * glyphs-widget.c (image_instantiator_native_layout):
12469         rename decode_domain method to governing_domain.
12470
12471         * glyphs.c:
12472         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12473         * glyphs.c (add_entry_to_device_ii_format_list):
12474         make sure we don't put an entry more than once into the list.
12475         * glyphs.c (check_instance_cache_mapper):
12476         *************************************************************
12477         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12478         HAVE BEEN GETTING.
12479         *************************************************************
12480         * glyphs.c (get_image_instantiator_governing_domain):
12481         clean up, expand on new concept of governing domain.
12482         * glyphs.c (instantiate_image_instantiator):
12483         * glyphs.c (allocate_image_instance):
12484         use governing_domain instead of cache_domain in naming.
12485         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12486         * glyphs.c (make_image_instance_1):
12487         * glyphs.c (Fmake_image_instance):
12488         allow for any domain (not just device), and process the
12489         governing domain correctly.  very big doc fix.
12490         * glyphs.c (Fimage_instance_domain):
12491         new primitive, to retrieve the governing domain of an image instance.
12492         * glyphs.c (image_instantiate):
12493         use new governing_domain stuff.  this fixes a crash you could get
12494         by instantiating certain widget glyphs in frame locales. (should
12495         signal an error instead of crashing.)
12496         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12497         * glyphs.c (Fglyphp): clean up doc.
12498         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12499         * glyphs.c (syms_of_glyphs):
12500         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12501         * glyphs.c (image_instantiator_format_create): add some comments about
12502         bogus code.
12503         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12504         for current-display-table. (Apparently Hrjove implemented in 1998 a
12505         design I wrote up in 1996, but didn't update the doc string.)
12506
12507         * glyphs.h: clean up a doc string.
12508         * glyphs.h (governing_domain):
12509         * glyphs.h (struct image_instantiator_methods):
12510         changes for governing_domain stuff.
12511
12512         * gutter.c:
12513         * gutter.c (Fgutter_specifier_p):
12514         * gutter.c (Fgutter_size_specifier_p):
12515         * gutter.c (Fgutter_visible_specifier_p):
12516         * objects.c:
12517         * objects.c (Fcolor_specifier_p):
12518         * objects.c (Ffont_specifier_p):
12519         * objects.c (Fface_boolean_specifier_p):
12520         doc strings moved to make-*-specifier.
12521
12522         * redisplay.c (add_disp_table_entry_runes_1):
12523         * redisplay.c (generate_fstring_runes):
12524         * redisplay.c (screen):
12525         add random comments and doc strings.
12526
12527         * specifier.c:
12528         * specifier.c (Fmake_specifier):
12529         major overhaul of this doc string.
12530
12531         * specifier.c (Fvalid_specifier_domain_p):
12532         comment about the bogosity of image instances being domains.
12533         * specifier.c (decode_domain):
12534         now non-static, used in glyphs.c.
12535         * specifier.c (specifier_instance):
12536         comment about the bogosity of image instances being domains.
12537         * specifier.c (Fgeneric_specifier_p):
12538         move doc string to make-generic-specifier.
12539         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12540         rebackslashify.
12541
12542         * specifier.h:
12543         * specifier.h (DOMAIN_FRAME):
12544         * specifier.h (DOMAIN_LIVE_P):
12545         * specifier.h (DOMAIN_XDEVICE):
12546         rebackslashify.
12547         add comments about problems with these macros.
12548         prototype for decode_domain.
12549
12550         * toolbar.c:
12551         * toolbar.c (Ftoolbar_specifier_p):
12552         move doc string to `make-toolbar-specifier'.
12553
12554         * window.c (window_unmap_subwindows_cache_mapper):
12555         *************************************************************
12556         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12557         HAVE BEEN GETTING.
12558         *************************************************************
12559
12560 2000-05-09  Andy Piper  <andy@xemacs.org>
12561
12562         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12563
12564         * window.c (Fset_window_configuration): reset the frame subwindow
12565         cache and re-initialize the window subwindow caches.
12566
12567         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12568
12569 2000-05-09  Ben Wing  <ben@xemacs.org>
12570
12571         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12572         DWORD.
12573
12574 2000-04-26  Mike Woolley  <mike@bulsara.com>
12575
12576         * ntheap.c: Changed recreate_heap to limit the amount reserved
12577         for the heap to that which is actually available. Also now
12578         displays a message box (with some dignostics) in the event that
12579         it still can't start.
12580
12581 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12582
12583         * callproc.c (Fold_call_process_internal): GCPRO path
12584
12585 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12586
12587         Patch by Bill Perry.
12588
12589         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12590         back data instead of #ifdef.
12591         (Fscrollbar_page_down): ditto.
12592
12593 2000-05-07  Ben Wing  <ben@xemacs.org>
12594
12595         * buffer.h:
12596         Kludge for defining Qmswindows_tstr.
12597
12598         * nt.c:
12599         * nt.c (open_input_file):
12600         * nt.c (open_output_file):
12601         * nt.c (rva_to_section):
12602         * nt.c (mswindows_executable_type):
12603         Move all memory-mapped-file routines here (some were in unexnt.c,
12604         which is bad because they are used by process-nt.c, and unexnt
12605         won't be around when portable dumping).  Synched the above routines
12606         with FSF 20.6.
12607
12608         * nt.h:
12609         Removed ifdef'd out bogus code.
12610         Fixed some prototypes.
12611
12612         * nt.h (file_data):
12613         * nt.h (OFFSET_TO_RVA):
12614         * nt.h (RVA_TO_OFFSET):
12615         * nt.h (RVA_TO_PTR):
12616         Moved the memory-mapped-file structures, macros and prototypes
12617         here, to parallel nt.c.  ntheap.h should really be removed
12618         entirely, and it's a non-portable-dumper specific file.
12619
12620         * ntheap.h (round_to_next):
12621         Moved the memory-mapped-file structures, macros and prototypes
12622         to nt.h.
12623
12624         * ntproc.c (compare_env):
12625         Moved rva_to_section and mswindows_executable_type to nt.c.
12626         Moved compare_env to process-nt.c.
12627         ntproc.c will die, one day.
12628
12629         * ntproc.c (sys_spawnve):
12630         Account for win32_ -> mswindows_.
12631
12632         * process-nt.c:
12633         * process-nt.c (struct nt_process_data):
12634         * process-nt.c (ensure_console_window_exists):
12635         * process-nt.c (compare_env):
12636         * process-nt.c (nt_create_process):
12637         * process-nt.c (nt_kill_process_by_pid):
12638         * process-nt.c (syms_of_process_nt):
12639         * process-nt.c (vars_of_process_nt):
12640         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12641         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12642         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12643         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12644         Move compare_env here from ntproc.c.
12645
12646         * process.c (Fprocess_send_region):
12647         Takes an optional fourth argument, BUFFER, which should fix some
12648         problems with call-process.
12649
12650         * syscommctrl.h:
12651         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12652
12653         * syswindows.h:
12654         Move ICC_BAR_CLASSES to syscommctrl.h.
12655         Add preliminary macros for MSWindows/Mule.  More to come.
12656
12657         * unexnt.c:
12658         * unexnt.c (unexec):
12659         open_output_file moved to nt.c.
12660
12661
12662 2000-05-05  Andy Piper  <andy@xemacs.org>
12663
12664         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12665         instance from the frame cache also since GC may catch up too late
12666         to make frame deletion sane.
12667
12668 2000-05-04  Andy Piper  <andy@xemacs.org>
12669
12670         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12671         (x_finalize_image_instance): ungcpro on deletion.
12672
12673         * glyphs.c (image_instantiator_format_create): give pointers a
12674         query geometry method so that the geometry is at least set.
12675
12676         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12677         initialize layouts if using widgets.
12678
12679 2000-05-03  Andy Piper  <andy@xemacs.org>
12680
12681         * nt.c: remove bogus reference to sysmmsystem.h
12682
12683         * gui-x.c (popup_selection_callback): fix no selection abort.
12684
12685 2000-05-02  Andy Piper  <andy@xemacs.org>
12686
12687         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12688         (mswindows_widget_instantiate): ditto.
12689
12690         * glyphs-widget.c (initialize_widget_image_instance): initialize
12691         children correctly.
12692         (widget_instantiate): cope with children and items in the same
12693         instance.
12694
12695         * glyphs.c (mark_image_instance): cope with children as a first
12696         class member.
12697         (image_instance_equal): ditto.
12698         (image_instance_hash): ditto.
12699         (image_instance_changed): ditto.
12700
12701 2000-04-30  Andy Piper  <andy@xemacs.org>
12702
12703         * glyphs.c (subwindow_query_geometry): new function. Return some
12704         defaults.
12705         (subwindow_instantiate): don't assign dimensions if none have been
12706         given.
12707         (image_instantiator_format_create): add subwindow_query_geometry.
12708         (print_image_instance): cope with layouts as widgets.
12709
12710 2000-04-29  Andy Piper  <andy@xemacs.org>
12711
12712         * frame.c (delete_frame_internal): call
12713         free_frame_subwindow_instance_cache so that all subwindows are
12714         finalized before their parent.
12715         (mark_frame): remove subwindow_cachels.
12716         (Fmake_frame): remove subwindow_cachel manipulation.
12717         (allocate_frame_core): subwindow_instance_cache is a weak list.
12718         (delete_frame_internal): set subwindow_instance_cache to nil.
12719
12720         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12721         finalization safe.
12722         (mswindows_finalize_image_instance): use the device
12723         not the domain as the domain may have died already.
12724
12725         * glyphs-x.c (x_finalize_image_instance): ditto.
12726         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12727         HEIGHT.
12728
12729         * redisplay-output.c (redisplay_unmap_subwindows): update for
12730         subwindow instance cache as a weak list.
12731         (redisplay_unmap_subwindows_maybe): ditto.
12732         (redisplay_unmap_subwindows_except_us): ditto.
12733
12734         * glyphs.c (unmap_subwindow): error checking will check the domain
12735         so don't deal with it here. Don't use cachels anymore.
12736         (map_subwindow): ditto.
12737         (update_subwindow_cachel_data): remove old accessor names.
12738         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12739         (Fresize_subwindow): don't update cachel.
12740         (mark_subwindow_cachels):
12741         (update_subwindow_cachel_data):
12742         (add_subwindow_cachel):
12743         (get_subwindow_cachel_index):
12744         (update_subwindow_cachel):
12745         (reset_subwindow_cachels):
12746         (mark_subwindow_cachels_as_not_updated): deleted.
12747         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12748         subwindow instance to the frame cache.
12749         (find_matching_subwindow): update for subwindow instance cache as
12750         a weak list.
12751         (update_widget_instances): ditto.
12752         (image_instance_type_to_mask):inlined.
12753         (free_frame_subwindow_instance_cache): new function. finalize all
12754         subwindows that are instantiated.
12755
12756         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12757         of cachel information.
12758         (IMAGE_INSTANCE_DISPLAY_X):
12759         (IMAGE_INSTANCE_DISPLAY_Y):
12760         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12761         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12762         (XIMAGE_INSTANCE_DISPLAY_X):
12763         (XIMAGE_INSTANCE_DISPLAY_Y):
12764         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12765         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12766         remove subwindow_cachel structure and function references.
12767         (image_instance_type_to_mask): inline from glyphs.c
12768
12769         * redisplay.c (redisplay_frame): remove subwindow_cachel
12770         references.
12771
12772         * frame.h (struct frame): remove subwindow_cachels.
12773         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12774
12775         * frameslots.h: add subwindow_instance_cache.
12776
12777         * window.c (replace_window): check subwindow cache of replacement.
12778         (window_unmap_subwindows_cache_mapper):
12779         (window_unmap_subwindows): new functions. Unmap all subwindows
12780         cached on this window.
12781         (mark_window_as_deleted): unmap all subwindows.
12782
12783 2000-04-27  Andy Piper  <andy@xemacs.org>
12784
12785         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12786
12787         * glyphs-widget.c (widget_layout): return something.
12788         (layout_layout): return something. Fail if not initialized.
12789         (layout_query_geometry): ditto.
12790         (image_instantiator_native_layout): new function. Initialized the
12791         native layout type.
12792         (widget_instantiate): don't do layout stuff here.
12793
12794         * glyphs.c (instantiate_image_instantiator): reorded calling or
12795         instantiate and post_instantiate with layout in between.
12796         (image_instance_layout): be more selective about deciding whether
12797         the layout has been done or not.
12798
12799         * glyphs.h (struct image_instantiator_methods): return a value
12800         from layout_method.
12801
12802 2000-04-26  Andy Piper  <andy@xemacs.org>
12803
12804         * glyphs.c (allocate_image_instance): make initial width and
12805         height unspecified. Set initialized to 0.
12806
12807         * syscommctrl.h new file. Encapsulates commctrl.h.
12808
12809         * syswindows.h new file. Encapsulates windows.h.
12810
12811         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12812         * nt.c: ditto.
12813         * console-msw.h: ditto.
12814
12815         * redisplay-tty.c (tty_output_display_block): remove layout references.
12816
12817         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12818         window handle rather than just the frame.
12819
12820         * glyphs.c (mark_image_instance): remove layout references.
12821         (print_image_instance): ditto.
12822         (image_instance_equal): ditto.
12823         (image_instance_hash): ditto.
12824         (decode_image_instance_type): ditto.
12825         (encode_image_instance_type): ditto.
12826         (image_instantiate): ditto.
12827         (allocate_glyph): ditto.
12828         (Fimage_instance_height): ditto.
12829         (Fimage_instance_width): ditto.
12830         (update_subwindow): ditto.
12831
12832         * redisplay-x.c (x_output_display_block): recode for layouts as
12833         widgets.
12834
12835         * redisplay-output.c (redisplay_output_layout): recode for layouts
12836         as widgets.
12837         (compare_runes): remove layout references.
12838
12839         * redisplay-msw.c (mswindows_output_display_block): recode for
12840         layouts as widgets.
12841
12842         * glyphs-widget.c (image_instantiator_layout): remove
12843         layout_possible_dest_types.
12844         (layout_possible_dest_types): deleted.
12845
12846         * glyphs.h (image_instance_type): remove layout references.
12847         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12848         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12849         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12850
12851 2000-04-25  Andy Piper  <andy@xemacs.org>
12852
12853         * glyphs-widget.c (image_instantiator_buttons):
12854         (image_instantiator_edit_fields):
12855         (image_instantiator_combo_box):
12856         (image_instantiator_scrollbar):
12857         (image_instantiator_progress_guage):
12858         (image_instantiator_tree_view):
12859         (image_instantiator_tab_control):
12860         (image_instantiator_labels):
12861         (image_instantiator_layout): call default post_instantiate method.
12862         (widget_post_instantiate): new function. Simply lays out the
12863         widgets.
12864
12865         * glyphs.h (struct image_instantiator_methods): add
12866         post_instantiate method.
12867
12868         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12869         method calls.
12870
12871 2000-04-23  Andy Piper  <andy@xemacs.org>
12872
12873         * glyphs.h (struct image_instantiator_methods): add
12874         decode_domain_method.
12875         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12876         derived from the domain.
12877         (IMAGE_INSTANCE_FRAME): new accessor.
12878         (XIMAGE_INSTANCE_FRAME): ditto.
12879
12880         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12881         instead of _SUBWINDOW_FRAME.
12882         (finalize_image_instance): ditto.
12883         (Fimage_instance_foreground): ditto.
12884         (Fimage_instance_background): ditto.
12885         (image_instantiate): ditto.
12886         (update_subwindow_cachel): ditto.
12887         (update_subwindow): ditto.
12888         (unmap_subwindow): ditto.
12889         (map_subwindow): ditto
12890         (subwindow_instantiate): ditto.
12891         * glyphs-msw.c (mswindows_update_widget): ditto.
12892         (mswindows_progress_gauge_instantiate): ditto.
12893         (mswindows_tab_control_update): ditto.
12894         * glyphs-x.c (x_update_widget): ditto.
12895         (x_widget_instantiate): ditto.
12896         (x_tab_control_instantiate): ditto.
12897         (x_tab_control_update): ditto.
12898         * event-msw.c (mswindows_wnd_proc): ditto
12899
12900         * glyphs-widget.c (image_instantiator_layout): use
12901         subwindow_decode_domain.
12902         (image_instantiator_buttons): ditto.
12903         (image_instantiator_edit_fields): ditto.
12904         (image_instantiator_combo_box): ditto.
12905         (image_instantiator_scrollbar): ditto.
12906         (image_instantiator_progress_guage): ditto.
12907         (image_instantiator_tree_view): ditto.
12908         (image_instantiator_tab_control): ditto.
12909         (image_instantiator_labels): ditto.
12910         (image_instantiator_layout): ditto.
12911
12912         * glyphs.c: add instance error checking to many functions.
12913         (instantiate_image_instantiator): decode device from cache_domain.
12914         (image_instantiate): partially rewrite by using
12915         decode_image_instantiator_domain to determine what domain the
12916         instance needs to be cached in.
12917         (decode_image_instantiator_domain): new function. Determine what
12918         domain the image needs to be cached in.
12919         (check_window_subwindow_cache): new error checking function.
12920         (check_instance_cache_mapper): ditto.
12921         (check_image_instance_structure): ditto.
12922         (subwindow_decode_domain): new function. Encodes a window as a
12923         subwindow's cache domain.
12924         (image_instantiator_format_create): use it for text and
12925         subwindows.
12926
12927 2000-04-21  Andy Piper  <andy@xemacs.org>
12928
12929         * glyphs.c (image_instance_device): new function.
12930         (image_instance_frame): new function.
12931         (image_instance_window): new function.
12932         (image_instance_live_p): new function.
12933
12934         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12935         cache to nil.
12936
12937         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12938         (IMAGE_INSTANCE_DOMAIN): new accessor.
12939         (XIMAGE_INSTANCE_DOMAIN): ditto.
12940
12941         * glyphs-x.c (x_finalize_image_instance): device->domain.
12942
12943         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12944         (mswindows_finalize_image_instance): ditto.
12945
12946         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12947         (gif_instantiate): ditto.
12948         (png_instantiate): ditto.
12949         (tiff_instantiate): ditto.
12950
12951         * glyphs.c (instantiate_image_instantiator): use domain rather
12952         than device.
12953         (mark_image_instance): device -> domain.
12954         (print_image_instance): ditto.
12955         (finalize_image_instance): ditto.
12956         (image_instance_equal): ditto.
12957         (allocate_image_instance): ditto.
12958         (Fcolorize_image_instance): ditto.
12959         (query_string_geometry): ditto.
12960         (image_instantiate): ditto
12961         (query_string_font): ditto.
12962         (image_instantiate): ditto.
12963         (update_subwindow): ditto.
12964         (unmap_subwindow): ditto.
12965         (map_subwindow): ditto.
12966         (subwindow_instantiate): ditto.
12967
12968         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12969         (DOMAIN_FRAME): ditto.
12970         (DOMAIN_WINDOW): ditto.
12971         (DOMAIN_LIVE_P): ditto.
12972         (XDOMAIN_DEVICE): ditto.
12973         (XDOMAIN_FRAME): ditto.
12974         (XDOMAIN_WINDOW): ditto.
12975
12976         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12977         a valid specifier domain.
12978
12979 2000-04-19  Andy Piper  <andy@xemacs.org>
12980
12981         * glyphs-widget.c (syms_of_glyphs_widget): remove
12982         widget-callback-current-channel.
12983         (vars_of_glyphs_widget): ditto.
12984         * glyphs.h: ditto
12985
12986         * gui.c (get_gui_callback): revert to previous behaviour.
12987
12988 2000-04-18  Andy Piper  <andy@xemacs.org>
12989
12990         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12991         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12992         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12993
12994         * glyphs.c (image_instance_equal): add margin_width.
12995         (image_instance_hash): ditto.
12996
12997         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12998         (layout_query_geometry): ditto.
12999         (layout_layout): ditto.
13000         (syms_of_glyphs_widget): add margin-width.
13001         (image_instantiator_layout): allow margin-width.
13002
13003         * glyphs.c (update_widget_instances): make a normal function.
13004         (syms_of_glyphs): remove Qupdate_widget_instances.
13005         * glyphs.h: ditto.
13006
13007         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
13008         so that we don't corrupt ideas about the last event or
13009         command. Remove widget-callback-current-channel fiddling.
13010         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
13011
13012 2000-05-01  Martin Buchholz <martin@xemacs.org>
13013
13014         * XEmacs 21.2.33 is released.
13015
13016 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
13017
13018         * make-src-depend: Allow dots in header file name.
13019
13020 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
13021
13022         * mule-charset.h (struct charset_lookup): Add
13023         next_allocated_1_byte_leading_byte and
13024         next_allocated_2_byte_leading_byte.
13025         * mule-charset.c: Move above two variables so that those values
13026         will be dumped.
13027
13028 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
13029
13030         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
13031         when string length is zero.
13032         (find_charsets_in_emchar_string): Ditto.
13033
13034 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
13035
13036         * lisp.h: extern Qdialog and Qmenubar.
13037
13038         * gui-x.c: added events.h.
13039                 also fixed typo which made the file uncompilable.
13040
13041         * general.c: Added Qmenubar and Qdialog
13042
13043 2000-04-28  Ben Wing  <ben@xemacs.org>
13044
13045         * frame-msw.c (mswindows_init_frame_1):
13046         * frame-msw.c (mswindows_mark_frame):
13047         * event-msw.c (mswindows_enqueue_dispatch_event):
13048         * console-msw.h:
13049         * console-msw.h (struct mswindows_frame):
13050         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
13051         there are now three hash tables for callbacks.
13052         mswindows_enqueue_dispatch_event is no longer static.
13053
13054         * dialog-x.c (maybe_run_dbox_text_callback):
13055         * dialog-x.c (dbox_descriptor_to_widget_value):
13056         switch to new cons3 form for callbacks.
13057
13058         * glyphs-msw.c (mswindows_register_gui_item):
13059         * glyphs-msw.c (mswindows_widget_instantiate):
13060         * glyphs-msw.c (add_tree_item):
13061         * glyphs-msw.c (add_tab_item):
13062         new image instance parameter, so it can be passed to callback-ex.
13063         respect :callback-ex as well as :callback.
13064
13065         * glyphs-widget.c (VALID_GUI_KEYWORDS):
13066         add :callback-ex.
13067
13068         * glyphs.c (print_image_instance):
13069         prettify, e.g. now prints widget type.
13070
13071         * gui-x.h:
13072         certain funs have new image instance parameter.
13073
13074         * gui.c:
13075         * gui.c (get_gui_callback):
13076         * gui.c (gui_item_add_keyval_pair):
13077         * gui.c (gui_item_init):
13078         * gui.c (gui_add_item_keywords_to_plist):
13079         * gui.c (mark_gui_item):
13080         * gui.c (gui_item_hash):
13081         * gui.c (gui_item_equal):
13082         * gui.c (copy_gui_item):
13083         * gui.c (syms_of_gui):
13084         recognize callback-ex in a number of places.
13085         also, fix the annoying "can't get out of yes-no dialog" bug.
13086
13087         * gui.h:
13088         * gui.h (struct Lisp_Gui_Item):
13089         recognize callback-ex in a number of places.
13090
13091         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13092         new parameter in button_item_to_widget_value.
13093
13094         * glyphs-x.c (x_update_widget):
13095         * glyphs-x.c (x_button_instantiate):
13096         * glyphs-x.c (x_button_update):
13097         * glyphs-x.c (x_progress_gauge_instantiate):
13098         * glyphs-x.c (x_edit_field_instantiate):
13099         * glyphs-x.c (x_combo_box_instantiate):
13100         * glyphs-x.c (x_tab_control_instantiate):
13101         * glyphs-x.c (x_label_instantiate):
13102         new image instance parameter in various places.
13103
13104         * event-Xt.c:
13105         * event-Xt.c (enqueue_Xt_dispatch_event):
13106         this fun gets exported.
13107
13108         * gui-msw.c:
13109         * gui-msw.c (mswindows_handle_gui_wm_command):
13110         handle both :callback and :callback-ex, and generate our own
13111         event because it's one of the callback-ex arguments.
13112
13113         * gui-x.c:
13114         * gui-x.c (popup_selection_callback):
13115         handle both :callback and :callback-ex, and generate our own
13116         event because it's one of the callback-ex arguments.
13117         * gui-x.c (button_item_to_widget_value):
13118         * gui-x.c (gui_items_to_widget_values_1):
13119         * gui-x.c (gui_item_children_to_widget_values):
13120         * gui-x.c (gui_items_to_widget_values):
13121         new image instance parameter in various places.
13122
13123         * fns.c (Freplace_list):
13124         fix small typo in doc string.
13125
13126         * lisp.h:
13127         declare enqueue_Xt_dispatch_event.
13128
13129 2000-04-28  Ben Wing  <ben@xemacs.org>
13130
13131         * buffer.c:
13132         * buffer.c (Frecord_buffer):
13133         * buffer.c (syms_of_buffer):
13134         delete record-buffer-hook.
13135
13136         * fns.c:
13137         * fns.c (Freplace_list):
13138         * fns.c (syms_of_fns):
13139         new primitive replace-list.
13140
13141         * frameslots.h:
13142         slot for old buffer-alist.
13143
13144         * lisp.h:
13145         exfun replace-list.
13146
13147         * redisplay.c:
13148         * redisplay.c (redisplay_frame):
13149         * redisplay.c (syms_of_redisplay):
13150         * redisplay.c (vars_of_redisplay):
13151         new hook buffer-list-changed-hook.
13152         call it.
13153
13154 2000-04-27  Ben Wing  <ben@xemacs.org>
13155
13156         * extents.h: extern in_modeline_generation.
13157
13158         * redisplay.c (generate_formatted_string_db): set
13159         in_modeline_generation.
13160
13161         * extents.c (extent_changed_for_redisplay): don't mark redisplay
13162         flags if in modeline generation.  otherwise frame-modified-tick
13163         is ticked far too often.
13164         Declare in_modeline_generation.
13165
13166 2000-04-26  Ben Wing  <ben@xemacs.org>
13167
13168         * emacs.c (vars_of_emacs): document quick-build "error-checking"
13169         option.
13170         (vars_of_emacs): add quick-build as an error-checking option.
13171         A bit kludgy, but there doesn't seem much point in creating
13172         a real var for this.
13173
13174         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
13175
13176 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13177
13178         * redisplay.h (struct display_line): Add a new variable,
13179         line_continuation.
13180
13181         * redisplay.c (create_text_block): Set dl->line_continuation if
13182         the line continues.
13183         (create_string_text_block): Ditto.
13184         (regenerate_window_incrementally): Use line_continuation instead
13185         of searching continuation glyph.
13186         (add_margin_runes): Call add_glyph_rune.
13187         (add_glyph_rune): Handle margin glyph.
13188
13189 2000-04-20  Martin Buchholz  <martin@xemacs.org>
13190
13191         * filelock.c (fill_in_lock_file_name):
13192         ANSIfy.
13193         Check for IS_ANY_SEP instead of '/'.
13194         (lock_file_1):
13195         Avoid generating gratuitous garbage.  Call user_login_name() directly.
13196         Never check errno without first seeing that system call failed.
13197         (unlock_file): Add GCPRO.
13198         (Flock_buffer): Fix docstring.
13199         (Ffile_locked_p): Fix docstring.  Add GCPRO.
13200
13201 2000-04-19  Martin Buchholz  <martin@xemacs.org>
13202
13203         * sysdep.c (get_pty_max_bytes):
13204         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
13205         strings longer than 252 bytes.
13206
13207         * md5.c: Unconditionally include ANSI header <limits.h>
13208
13209         * glyphs-x.c (convert_EImage_to_XImage):
13210         * lisp-union.h (union Lisp_Object):
13211         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
13212
13213 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
13214
13215         * filelock.c (current_lock_owner): Remove unused variable o, p.
13216
13217 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
13218
13219         * callint.c: Remove multiply defined symbol Qlet
13220         (syms_of_callint): ditto.
13221
13222 2000-04-14  Andy Piper  <andy@xemacs.org>
13223
13224         * general.c (syms_of_general): add last-command, this-command, let
13225         and funcall.
13226
13227         * lisp.h: declare various symbols.
13228
13229         * glyphs.h: declare Qwidget_callback_current_channel;
13230
13231         * glyphs-widget.c (syms_of_glyphs_widget): add
13232         Qgui_callback_current_channel.
13233         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13234
13235         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13236         widget-callback-current-channel when invoking the interactive
13237         arg. Also bind last-command and next-command when invoking the
13238         widget updates.
13239         * gui-x.c (popup_selection_callback): ditto.
13240
13241         * gui.c (get_gui_callback): massage args so that we are always
13242         calling eval. This allows us to add our own variable bindings
13243         outside.
13244
13245         * glyphs-x.c (x_button_instantiate): use
13246         gui_items_to_widget_values since this is GC safe.
13247         (x_progress_gauge_instantiate): ditto.
13248         (x_edit_field_instantiate): ditto.
13249         (x_label_instantiate): ditto.
13250
13251         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13252         (emacs_Xt_event_widget_focus_out): new function
13253         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13254         focus.
13255         (emacs_Xt_event_add_widget_actions): new function. add focus
13256         functions as actions.
13257         (init_event_Xt_late): use it.
13258
13259 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13260
13261         * event-stream.c (Fdispatch_event): Doc fix.
13262
13263 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13264
13265         * postgresql.c: Remove all references to PQsetenv*.
13266
13267         * postgresql.h: Remove references to PGsetenvHandler object.
13268         * lrecord.h (lrecord_type): Ditto.
13269
13270 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13271
13272         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13273         real_heigh and real_width members, and accessor macros for these.
13274
13275         * glyphs-msw.c (init_image_instance_geometry): New function.
13276         (init_image_instance_from_dibitmap): Use it.
13277         (mswindows_resource_instantiate): Use it.
13278         (init_image_instance_from_xbm_inline): Use it.
13279         (mswindows_initialize_image_instance_mask): Use real bitmap
13280         geometry.
13281         (mswindows_create_resized_bitmap): Ditto.
13282         (mswindows_create_resized_mask): Ditto.
13283
13284         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13285         and bitmap to their surface size.
13286
13287 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13288
13289         * process-unix.c (unix_send_process): Guard against process MIA
13290         after Faccept_process_output.
13291
13292 2000-04-11  Ben Wing  <ben@xemacs.org>
13293
13294         * eval.c (unbind_to_hairy): fix brokenness introduced by
13295         nanosecond speed improvements.
13296
13297 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13298
13299         * sunplay.c (init_device): To play sounds correctly, the device
13300         apparently needs to be initialized at least once by XEmacs.  Make
13301         it so.
13302
13303 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13304
13305         * redisplay.c (add_margin_runes): Add text image glyph
13306           handling.
13307
13308 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13309
13310         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13311         gcc is newer than 2.5.
13312
13313 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13314
13315         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13316
13317         * fns.c (size_bit_vector):
13318         * alloc.c (size_vector):
13319         (make_vector_internal):
13320         (make_bit_vector_internal):
13321         (sweep_bit_vectors_1):
13322         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13323
13324 2000-04-06  Andy Piper  <andy@xemacs.org>
13325
13326         * gmalloc.c (malloc): undo previous change.
13327         (malloc): ditto.
13328         (free): ditto.
13329         (realloc): ditto.
13330
13331 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13332
13333         * line-number.c (buffer_line_number): Revert to former version.
13334
13335 2000-04-06  Andy Piper  <andy@xemacs.org>
13336
13337         * gmalloc.c (malloc): add error checking.
13338         (malloc): ditto.
13339         (free): ditto.
13340         (realloc): ditto.
13341
13342         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13343         button_item_to_widget_value arg.
13344
13345         * glyphs-x.c (x_button_instantiate): add extra
13346         button_item_to_widget_value arg.
13347         (x_progress_gauge_instantiate): ditto.
13348         (x_edit_field_instantiate): ditto.
13349         (x_label_instantiate): ditto.
13350
13351         * gui-x.c (gui_items_to_widget_values_1): add extra
13352         button_item_to_widget_value arg.
13353         (button_item_to_widget_value): add extra menu_item_p arg.
13354
13355         * gui-x.h: change signature of button_item_to_widget_value.
13356
13357         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13358         button_item_to_widget_value arg.
13359
13360 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13361
13362         * buffer.h (struct buffer): auto_save_modified should be long.
13363
13364 2000-04-05  Andy Piper  <andy@xemacs.org>
13365
13366         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13367         type.
13368         (button_query_geometry): give a little more room so that athena
13369         buttons fit.
13370
13371 2000-04-05  Andy Piper  <andy@xemacs.org>
13372
13373         * faces.c (complex_vars_of_faces): The widget face should inherit
13374         the font of the gui-element face.
13375
13376 2000-04-04  Andy Piper  <andy@xemacs.org>
13377
13378         * glyphs-x.c (x_button_update): new function. unconditionally
13379         update a button's state when the instance is dirty.
13380         (image_instantiator_format_create_glyphs_x): add x_button_update.
13381         (x_widget_instantiate): remove old resize cruft.
13382
13383 2000-04-02  Andy Piper  <andy@xemacs.org>
13384
13385         * frame.c (change_frame_size_1): The introduction of gutters means
13386         that we need to allow 0 as a potential frame dimension.
13387
13388 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13389
13390         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13391         image glyph if allow_cursor.
13392         (add_hscroll_rune): Don't allow cursor to border glyph.
13393         (create_text_block): Ditto.
13394
13395         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13396         text not in buffer.
13397         (redisplay_output_layout): Call ensure_face_cachel_complete for
13398         text image glyph.
13399
13400
13401 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13402
13403         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13404
13405         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13406         not in buffer
13407
13408         * redisplay-tty.c (tty_output_display_block): Delete the routine
13409         for text image glyph
13410         * redisplay-x.c (x_output_display_block): ditto
13411         * redisplay-msw.c (mswindows_output_display_block): ditto
13412
13413 2000-02-02  Mike Alexander  <mta@arbortext.com>
13414
13415         Note: Some of these were committed by accident as part of other
13416         patches.
13417
13418         * regex.c (regex_compile): Avoid compiler warnings.
13419
13420         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13421
13422         * nt.h: Declare term_ntproc correctly.
13423
13424         * nt.c: Remove incorrect declaration of get_home_directory which
13425         is declared correctly in lisp.h.
13426
13427         * keymap.c (get_keyelt): Avoid compiler warnings.
13428         (raw_lookup_key_mapper): Avoid compiler warnings.
13429
13430         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13431
13432         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13433
13434         * filemode.c (mode_string): Avoid compiler warnings.
13435
13436         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13437         avoid warning.
13438
13439         * events-mod.h: Undef some things that winuser.h defines differently.
13440
13441         * data.c (Faset): Avoid compiler warnings.
13442
13443         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13444
13445 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13446
13447         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13448         Fall through to simple beep on error.
13449         Replace "extern" by real header file.
13450
13451         * linuxplay.c: Use nativesound.h
13452         (play_sound_data): Return error code. Be less verbose on error.
13453
13454         * sunplay.c: Use nativesound.h
13455         (play_sound_data): Return error code. Be less verbose on error.
13456
13457         * ntplay.c: Use nativesound.h
13458         (play_sound_data): Return fake error code
13459
13460         * sgiplay.c: Use nativesound.h
13461         (play_sound_data): Return error code
13462
13463         * hpplay.c: Use nativesound.h, partially implement
13464         new error code. Break compilation until finished.
13465         (play_sound_data): error code.
13466
13467         * nativesound.h (play_sound_file):
13468           (play_sound_data): Prototype in new header.
13469
13470 2000-03-31  Andy Piper  <andy@xemacs.org>
13471
13472         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13473         for toggle and radio buttons.
13474         (image_instantiator_buttons): use it.
13475
13476 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13477
13478         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13479         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13480         found. Scrollbar event probably belonged to some old config.
13481
13482 2000-03-31  Andy Piper  <andy@xemacs.org>
13483
13484         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13485         than 1.
13486         (initialize_widget_image_instance): default layout to
13487         LAYOUT_HORIZONTAL rather than 0.
13488         (widget_instantiate): reverse the item list at the end rather than
13489         every iteration.
13490         (layout_layout): re-code for the border text at the front of the
13491         item list rather than at the end.
13492         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13493         provided by the user.
13494         (widget_query_geometry): comment.
13495
13496 2000-03-30  Andy Piper  <andy@xemacs.org>
13497
13498         * glyphs-widget.c (image_instantiator_layout): allow standard
13499         widget keywords in layouts.
13500
13501         * gutter.c (output_gutter): cope with nil gutter contents.
13502
13503         * frame.c (Fset_frame_properties): add gutter docs.
13504
13505 2000-03-29  Andy Piper  <andy@xemacs.org>
13506
13507         * toolbar-msw.c (TBSTYLE_FLAT): add.
13508         (mswindows_output_toolbar): minor fiddling.
13509
13510 2000-03-29  Andy Piper  <andy@xemacs.org>
13511
13512         * gutter.c (output_gutter): force gutter size recalculation if
13513         what we are trying to display won't fit.
13514         (update_gutter_geometry): new function. A per-gutter version of
13515         update_frame_gutter_geometry.
13516         (update_frame_gutter_geometry): use it.
13517         (redraw_exposed_gutter): add extra debugging output.
13518
13519 2000-03-28  Mike Alexander  <mta@arbortext.com>
13520
13521         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13522         (pdump_file_unmap): Implement it on Windows
13523         (pdump_file_get): Save alocated handles for pdump_file_unmap
13524
13525 2000-03-28  Andy Piper  <andy@xemacs.org>
13526
13527         * gui.c (get_gui_callback): treat Quit specially.
13528
13529 2000-03-27  Andy Piper  <andy@xemacs.org>
13530
13531         * glyphs.c (image_instantiate): be careful to check in the same
13532         way we assigned.
13533
13534 2000-03-27  Didier Verna  <didier@xemacs.org>
13535
13536         * config.h.in: define the proper SMART_INCLUDE macro.
13537         handle renaming of `foo_h_path' to `foo_h_file'.
13538
13539         * database.c: ditto.
13540
13541         * emacs.c: ditto.
13542
13543         * linuxplay.c: ditto.
13544
13545         * terminfo.c: ditto.
13546
13547         * tooltalk.h: ditto.
13548
13549 2000-03-27  Andy Piper  <andy@xemacs.org>
13550
13551         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13552         gets updated whenever the face might have changed.
13553
13554 2000-03-26  Mike Alexander  <mta@arbortext.com>
13555
13556         * dumper.c (pdump_resource_free): Fix the comment.
13557
13558 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13559
13560         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13561
13562 2000-03-22  Mike Alexander  <mta@arbortext.com>
13563
13564         * dumper.c: Include Windows headers on Windows
13565         (pdump_resource_free): Add a body to the function
13566         (pdump_load): exe_name -> exe_path and add some comments.
13567
13568 2000-03-25  Mike Alexander  <mta@arbortext.com>
13569
13570         * gui.c (copy_gui_item_tree): Return a value in all cases
13571
13572 2000-03-21  Didier Verna  <didier@xemacs.org>
13573
13574         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13575         lwlib/config.h.in.
13576         (SMART_INCLUDE): new macro.
13577         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13578         the proper location.
13579
13580         * postgresql.c: use it.
13581
13582         * inline.c: ditto.
13583
13584 2000-03-24  Andy Piper  <andy@xemacs.org>
13585
13586         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13587         do this.
13588
13589 2000-03-24  Andy Piper  <andy@xemacs.org>
13590
13591         * redisplay-output.c (compare_runes): use image_instance_changed
13592         to detect changes. Do not depend on glyphs_changed, only depend on
13593         dirtiness.
13594          (redisplay_output_layout): add debug messages.
13595         (compare_runes): ditto.
13596
13597         * glyphs.h: declare new functions.
13598         (struct Lisp_Image_Instance): remove percent and associated
13599         accessors.
13600
13601         * gui.h: declare new copying functions.
13602
13603         * gui.c (copy_gui_item_tree): new function.
13604         (copy_gui_item): new function.
13605         (gui_item_id_hash): revert to standard hash.
13606         (gui_item_hash): ditto.
13607         (gui_item_hash_internal): deleted.
13608         (mark_gui_item): mark value.
13609         (gui_item_add_keyval_pair): add value.
13610         (gui_item_init): ditto.
13611         (gui_add_item_keywords_to_plist): ditto.
13612         (gui_item_equal): ditto.
13613         (syms_of_gui): add Q_value.
13614
13615         * glyphs-x.c (x_progress_gauge_update): use pending items and
13616         value for setting the state.
13617         (x_update_widget): don't set items from pending here.
13618
13619         * glyphs-widget.c (update_widget): update items here.
13620         (progress_gauge_set_property): use items for storing value. Put
13621         new value in pending items.
13622
13623         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13624         items for new value. Convert percent -> value.
13625         (mswindows_tab_control_update): don't update items here.
13626
13627         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13628         (update_subwindow): ditto.
13629         (image_instance_changed): new function. Compare hash values and
13630         past and present widget items.
13631         (image_instantiate): We more careful about where we instantiate
13632         things.
13633         (image_instantiate): add error checking.
13634
13635         * gutter.c (syms_of_gutter): use -hook.
13636
13637 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13638
13639         * console-tty.c (Fset_console_tty_input_coding_system): Use
13640         Qkeyboard.
13641         (Fset_console_tty_output_coding_system): Use Qterminal.
13642         (tty_init_console): Use Qkeyboard and Qterminal.
13643
13644 2000-03-21  Ben Wing  <ben@xemacs.org>
13645
13646         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13647         From Mike Alexander <mta@arbortext.com>.
13648
13649 2000-03-21  Ben Wing  <ben@xemacs.org>
13650
13651         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13652         process brokenness.  Proper implementation to come.
13653         * callproc.c:
13654         Rename call-process-internal to old-call-process-internal.
13655         New impl. in process.el.
13656
13657 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13658
13659         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13660
13661 2000-03-20  Andy Piper  <andy@xemacs.org>
13662
13663         * glyphs.c (full_list_hash): make hashes of the same elements in
13664         different orders return different values.
13665
13666 2000-03-20  Martin Buchholz <martin@xemacs.org>
13667
13668         * XEmacs 21.2.32 is released.
13669
13670 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13671
13672         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13673         (DFC_MALLOC_USE_CONVERTED_DATA):
13674         Add aliasing-safe casts to allow use with char* or unsigned char*
13675         lvalues.
13676
13677         * eldap.c (Fldap_open):
13678         (Fldap_search_basic):
13679         (Fldap_add):
13680         (Fldap_modify):
13681         Make C++-compilable.
13682         Make sure GCPRO'ed variables are initialized.
13683         Use temp variables to avoid repeated calls to Flength.
13684
13685 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13686
13687         * sysfile.h:
13688         Make sure PATH_MAX is always defined.
13689         Include limits.h for PATH_MAX.
13690         Deprecate use of MAXPATHLEN.
13691
13692 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13693
13694         * emacs.c: Add reinit_vars_of_fileio.
13695         * symsinit.h: Add reinit_vars_of_fileio.
13696         * fileio.c (reinit_vars_of_fileio): New.
13697         * fileio.c (Fmake_temp_name):
13698         Initialize temp_name random number from microseconds to make
13699         collisions even less likely.  Initialize always at process startup
13700         time.  (make-temp-name) used to return the same file name twice in
13701         a row when PDUMP.
13702         Random stylistic fiddling.
13703         Comment fixes.
13704
13705 2000-03-20  Andy Piper  <andy@xemacs.org>
13706
13707         * glyphs.c (image_instantiate): allow text glyphs to be
13708         instantiated in the minibuffer window.
13709
13710 2000-03-19  Andy Piper  <andy@xemacs.org>
13711
13712         * glyphs.c (image_instance_hash): be careful about which items we
13713         hash on.
13714
13715         * glyphs-widget.c (tab_control_set_property): record into pending
13716         items rather than the actual items.
13717
13718         * glyphs-x.c (x_update_widget): use pending items to update with.
13719
13720         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13721         to update with.
13722
13723         * glyphs.c (mark_image_instance): mark pending items.
13724
13725         * window.c (Fset_window_configuration): record the buffer.
13726         (Fselect_window): totally revert previous change which breaks many
13727         things.
13728
13729 2000-03-18  Andy Piper  <andy@xemacs.org>
13730
13731         * glyphs-msw.c (mswindows_tab_control_update): force selected
13732         item.
13733
13734         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13735         window domain cache, otherwise we get inconsistencies at
13736         startup. There is something fishy at startup which can lead to the
13737         minibuffer being the selected window when the gutter content is
13738         instantiated.
13739
13740         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13741         gcpros.
13742         (parse_gui_item_tree_children): ditto.
13743         (parse_gui_item_tree_item): ditto.
13744
13745         * glyphs.c (Fupdate_widget_instances): return something.
13746
13747 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13748
13749         * window.c (Fselect_window): Undo 2000-03-17 change.
13750
13751 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13752
13753         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13754         against v7.0 libraries.  Insta-coredump city until the postgres
13755         folks fix it.
13756
13757 2000-03-17  Andy Piper  <andy@xemacs.org>
13758
13759         * faces.c (complex_vars_of_faces): don't give the widget face an
13760         inherited background pixmap.
13761
13762         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13763         selected item.
13764
13765         * event-stream.c (Fdispatch_non_command_events): return something.
13766
13767         * gutter.c (output_gutter): use widget face.
13768         (clear_gutter): ditto.
13769
13770         * NEWS: adjust again.
13771
13772         * window.c (Fselect_window): make sure this runs to completion to
13773         avoid oddities with Fset_window_configuration.
13774         (Fcurrent_window_configuration): in general do not save the
13775         minibuffer as the selected window.
13776
13777         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13778
13779 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13780
13781         * emacs.c (Frunning_temacs_p): Revert previous patch.
13782         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13783
13784 2000-03-16  Andy Piper  <andy@xemacs.org>
13785
13786         * glyphs-x.c (x_tab_control_update): if no widget values then
13787         return.
13788
13789         * NEWS: update for new features.
13790
13791         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13792         synthetic event to the native system.
13793         (reinit_vars_of_event_Xt): set force_event_pending to
13794         emacs_Xt_force_event_pending.
13795
13796         * events.h (struct event_stream): add force_event_pending.
13797
13798         * specifier.c (recompute_one_cached_specifier_in_window): add
13799         comment.
13800
13801         * redisplay.c (redisplay_frame): don't call
13802         update_frame_subwindows. Reset subwindow cachels when
13803         subwindows_changed, removing this was an optimization too far.
13804
13805         * redisplay-output.c (compare_runes): reorganize so that we catch
13806         glyph changes when we want them. Set optimize_output when this
13807         would help layouts.
13808         (redisplay_output_layout): remove frame_really_changed, use
13809         optimize_output instead.
13810
13811         * redisplay-msw.c (mswindows_output_display_block): reset
13812         optimize_output after outputting a glyph.
13813         * redisplay-x.c (x_output_display_block): ditto.
13814         * redisplay-tty.c (tty_output_display_block): ditto.
13815
13816         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13817         functions.
13818         (gutter_specs_changed): do specific gutter positions.
13819         (top_gutter_specs_changed): new function. Only update the
13820         specified gutter specs.
13821         (bottom_gutter_specs_changed): ditto.
13822         (left_gutter_specs_changed): ditto.
13823         (right_gutter_specs_changed): ditto.
13824
13825         * gui.c (gui_item_hash_internal): new function, does a real hash.
13826         (gui_item_id_hash): use it.
13827         (gui_item_hash): hash the eval'ed gui_item.
13828
13829         * gui-x.c (popup_selection_callback): send an eval event to call
13830         Fupdate_widget_instances.
13831
13832         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13833         to call Fupdate_widget_instances.
13834
13835         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13836         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13837
13838         * glyphs.c: (update_frame_subwindows): deleted.
13839         (Fupdate_widget_instances): new function for updating the dirty
13840         state of widgets that might have changed.
13841         (syms_of_glyphs): add Qupdate_widget_instances.
13842         (full_list_hash): hash a list completely.
13843         (image_instance_hash): use it for items and properties.
13844
13845         * frame-msw.c (mswindows_size_frame_internal): remove unused
13846         variable.
13847
13848         * faces.h (struct face_cachel): fix comment.
13849
13850         * event-stream.c (Fdispatch_non_command_events): new
13851         function. Process non-command events, forcing an event cycle
13852         beforehand.
13853         (syms_of_event_stream): declare.
13854         (event_stream_force_event_pending): new function. Force an event
13855         on the native event queue so that an event cycle will occur next
13856         time we check.
13857
13858         * event-msw.c:
13859         (struct ntpipe_shove_stream):
13860         (mswindows_enqueue_dispatch_event):
13861         (mswindows_dequeue_dispatch_event):
13862         (mswindows_cancel_dispatch_event):
13863         (mswindows_pump_outstanding_events):
13864         (mswindows_drain_windows_queue):
13865         (mswindows_handle_paint):
13866         (mswindows_wnd_proc):
13867         (mswindows_key_to_emacs_keysym):
13868         (get_process_input_waitable):
13869         (emacs_mswindows_delete_stream_pair): re-indent file.
13870         (mswindows_need_event): do not process further fds if the windows
13871         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13872         fixes the 100% cpu problem.
13873         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13874
13875 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13876
13877         * alloc.h: New.
13878         * dumper.h: New.
13879         * dumper.c: New.
13880
13881         * emacs.c: Moved dump file searching to dumper.c.
13882         (Frunning_temacs_p): Fixed.
13883
13884         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13885         last_lrecord_type_index_assigned.
13886
13887 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13888
13889         * symsinit.h: Added reinit parameter to init_console_stream
13890         declaration.
13891
13892         * lisp.h: Added file parameter to pdump_load declaration.
13893
13894         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13895         support.  Added dump file searching.
13896
13897         * config.h.in: Added EMACS_PROGNAME.
13898
13899         * console-stream.c (init_console_stream): Fix reinitialisation
13900         when running from temacs.
13901
13902         * alloc.c (pdump): Add id support.
13903         (pdump_load): Add file parameter and signature/id support.
13904
13905         * Makefile.in.in: Add full pdump support.
13906
13907 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13908
13909         * postgresql.c: Update documentation to reflect latest code
13910         status.
13911         (print_result): Show tuple counts in printed representation when
13912         appropriate.
13913         (Fpq_put_nbytes): MULE-ize.
13914         (Fpq_get_line_async): Ditto.
13915
13916 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13917
13918         * postgresql.c (Fpq_lo_import): Fix return value.
13919         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13920
13921 2000-03-13  Ben Wing  <ben@xemacs.org>
13922
13923         * alloc.c (pdump_load):
13924         Fix compile warning under mswin.
13925
13926 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13927
13928         * postgresql.c: Mule-ization, bug fixes.
13929         Use PG_CODING to encapsulate coding system name changes.
13930         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13931         (pg-coding-system): Create.
13932
13933         (Fpq_conn_defaults): Mule-ize.
13934         (Fpq_connectdb): Mule-ize & bug fix.
13935         (Fpq_connect_start): Mule-ize.
13936         (Fpq_set_client_encoding): Mule-ize.
13937         (Fpq_finish): Document `DEAD' connection status.
13938         (Fpq_clear): Ditto.
13939         (Fpq_pgconn): Mule-ize.
13940         (Fpq_exec): Mule-ize & bug fix.
13941         (Fpq_send_query): Ditto.
13942         (Fpq_get_result): Ditto.
13943         (Fpq_res_status): Mule-ize.
13944         (Fpq_result_error_message): Mule-ize.
13945         (Fpq_ntuples): fix comments.
13946         (Fpq_fname): Mule-ize.
13947         (Fpq_fnumber): Mule-ize.
13948         (Fpq_ftype): fix comments.
13949         (Fpq_get_value): Mule-ize.
13950         (Fpq_cmd_status): Ditto.
13951         (Fpq_cmd_tuples): Ditto.
13952         (Fpq_oid_value): Ditto.
13953         (Fpq_notifies): Ditto.
13954         (Fpq_lo_import): Ditto.
13955         (Fpq_lo_export): Ditto.
13956         (Fpq_get_line): Ditto.
13957         (Fpq_put_line): Mule-ize and bug fix.
13958         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13959
13960 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13961
13962         * postgresql.c (vars_of_postgresql): Mule-ize.
13963         (Fpq_conn_defaults): Ditto.
13964
13965 2000-03-12  Ben Wing  <ben@xemacs.org>
13966
13967         * alloc.c (Fmake_byte_code):
13968         * alloc.c (debug_string_purity_print):
13969         * alloc.c (pdump_backtrace):
13970         * alloc.c (pdump_get_indirect_count):
13971         * alloc.c (pdump_register_sub):
13972         * alloc.c (pdump_register_object):
13973         * alloc.c (pdump_register_struct):
13974         * alloc.c (pdump_dump_data):
13975         * alloc.c (pdump_reloc_one):
13976         Minor cleanups.
13977
13978         * console-msw.c:
13979         * console-msw.c (GetConsoleHwnd):
13980         * console-msw.c (msw_hide_console):
13981         * console-msw.c (msw_show_console):
13982         * console-msw.c (msw_ensure_console_buffered):
13983         * console-msw.c (msw_output_console_string):
13984         * console-msw.c (console_type_create_mswindows):
13985
13986         a) Added functions to manipulate the console window for use with
13987         shell support.
13988
13989         b) Added support for writing text to the console, which is now
13990         used under Windows when xemacs is not being run non-interactively,
13991         to write text that would otherwise be destined for stdout because
13992         under these circumstances, text written to stdout tends to
13993         disappear and not be seen.
13994
13995         * console-msw.h:
13996         * event-Xt.c:
13997         * event-Xt.c (x_event_to_emacs_event):
13998         * event-Xt.c (describe_event_window):
13999         * events-mod.h (XEMACS_MOD_CONTROL):
14000         * events.c:
14001         * events.c (Fmake_event):
14002         * events.c (character_to_event):
14003         * events.c (event_to_character):
14004         * events.c (format_event_object):
14005         * events.c (Fevent_modifiers):
14006         * events.h:
14007         * events.h (struct key_data):
14008         * events.h (struct button_data):
14009         * events.h (struct misc_user_data):
14010         * frame-x.c (Fcde_start_drag_internal):
14011         * frame-x.c (Foffix_start_drag_internal):
14012         * gpmevent.c (Freceive_gpm_event):
14013         * keymap.c:
14014         * keymap.c (bucky_sym_to_bucky_bit):
14015         * keymap.c (control_meta_superify):
14016         * keymap.c (make_key_description):
14017         * keymap.c (keymap_lookup_directly):
14018         * keymap.c (create_bucky_submap):
14019         * keymap.c (keymap_store):
14020         * keymap.c (define_key_check_and_coerce_keysym):
14021         * keymap.c (define_key_parser):
14022         * keymap.c (define_key_alternate_name):
14023         * keymap.c (Fdefine_key):
14024         * keymap.c (raw_lookup_key_mapper):
14025         * keymap.c (struct map_keymap_unsorted_closure):
14026         * keymap.c (map_keymap_unsorted_mapper):
14027         * keymap.c (map_keymap_sort_predicate):
14028         * keymap.c (map_keymap_sorted):
14029         * keymap.c (accessible_keymaps_mapper_1):
14030         * keymap.c (where_is_recursive_mapper):
14031         * keymap.c (describe_map_mapper):
14032         * keymap.c (describe_map_sort_predicate):
14033         * keymap.c (describe_map):
14034         * keymap.c (complex_vars_of_keymap):
14035         And a number of other files, the key modifier preprocessor
14036         constants that xemacs uses have names that conflict with constants
14037         defined under MS Windows for other purposes, so they were renamed
14038         to begin with the prefix XEMACS_. The variables that hold such
14039         modifiers were changed to consistently be of type int to fix
14040         various compile warnings.
14041
14042         * console.c (complex_vars_of_console):
14043         * device.c:
14044         * device-msw.c:
14045         * device-msw.c (mswindows_finish_init_device):
14046         * device-msw.c (msw_get_workspace_coords):
14047         * device-msw.c (mswindows_device_system_metrics):
14048         and various other files, added support for a new
14049         device property called offset-workspace which returns the position
14050         of the upper left corner of the workspace area and goes along with
14051         the existing size-workspace property.
14052
14053         * dialog-msw.c:
14054         * dialog-msw.c (push_bufbyte_string_as_unicode):
14055         * dialog-msw.c (mswindows_popup_dialog_box):
14056         Added support for XEmacs-style accelerator specifications in
14057         button text.  Note: I didn't add support for this under X Windows,
14058         and somebody needs to do this.
14059
14060         * dialog.c:
14061         * dialog.c (Fpopup_dialog_box):
14062         Documented the support for accelerators that was just mentioned.
14063
14064         editfns.c (get_home_directory): Changed behavior under Windows
14065         when HOME not defined; former behavior was irretrievably broken.
14066
14067         * emacs.c:
14068         * emacs.c (main_1):
14069         * emacs.c (main):
14070         * minibuf.c (clear_echo_area_internal):
14071         * minibuf.c (echo_area_append):
14072         * print.c:
14073         * print.c (std_handle_out_external):
14074         * print.c (std_handle_out_va):
14075         * print.c (fatal):
14076         * print.c (write_string_to_stdio_stream):
14077         * print.c (output_string):
14078         * print.c (debug_print):
14079         * print.c (debug_backtrace):
14080         * print.c (debug_short_backtrace):
14081         Cleaned up the code that prints text to stdout so that this can be
14082         changed to output into a console window instead under MS Windows,
14083         as described above.
14084
14085         * eval.c:
14086         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
14087         * eval.c (internal_catch):
14088         * eval.c (unwind_to_catch):
14089         * eval.c (throw_or_bomb_out):
14090         * eval.c (condition_case_1):
14091         * eval.c (signal_1):
14092         * eval.c (check_error_state_sanity):
14093         * eval.c (call_with_suspended_errors_1):
14094         * eval.c (call_with_suspended_errors):
14095         * eval.c (reinit_vars_of_eval):
14096         Added code to catch throw loops and check for a pesky bug that may
14097         be gone now.
14098
14099         * event-msw.c:
14100         * event-msw.c (key_needs_default_processing_p):
14101         * event-msw.c (mswindows_wnd_proc):
14102         * event-msw.c (mswindows_modifier_state):
14103         * event-msw.c (emacs_mswindows_quit_p):
14104         * event-msw.c (vars_of_event_mswindows):
14105         a) Added support for using the alt key to select menu items as is
14106         standard under MS Windows.  This is controlled using the variable
14107         menu-accelerator-enabled, just like under X Windows.  There is an
14108         option on the options menu to turn this support on.  I really
14109         think that it should be on by default under Windows, but I'm not
14110         going to make this change yet.
14111
14112         b)  Added support for dynamic display size changes under Windows.
14113
14114         * event-stream.c:
14115         * event-stream.c (maybe_echo_keys):
14116         * event-stream.c (Fnext_event):
14117         * event-stream.c (command_builder_find_leaf):
14118         * event-stream.c (lookup_command_event):
14119         * event-stream.c (execute_command_event):
14120         * event-stream.c (pre_command_hook):
14121         * event-stream.c (post_command_hook):
14122         * event-stream.c (syms_of_event_stream):
14123         * event-stream.c (vars_of_event_stream):
14124         * event-stream.c (complex_vars_of_event_stream):
14125         * events.h (struct command_builder):
14126
14127         a) Tried to clean up a little bit the horribly written x-specific
14128         accelerator code that crept into this file.  I moved this code
14129         into menubar-x.c where it belongs. I also needed to move the
14130         command builder structure into the file events.h because it is
14131         accessed directly by this accelerator code.  What I didn't do, but
14132         which should be done at some point, is to properly abstract this
14133         code using device methods instead of the kludgy way that it
14134         currently hooks into the event code.
14135
14136         b) Added the lisp variables this-command-properties and
14137         last-command- properties, which should be used to synchronize two
14138         adjacent commands in preference to playing games with the variable
14139         this-command, which is typically what happens.
14140
14141         c) Added some slightly nasty code to hook into the lisp support
14142         for shifted- motion-key selection.  This is actually necessary for
14143         somewhat complicated reasons, which are described in
14144         simple.el. (NB: I think the proper thing would be to have the code
14145         that calls the pre and post command hooks also call out to generic
14146         lisp functions in simple.el, where all built-in stuff could be
14147         added.  I will think about this more.)
14148
14149         * event-unixoid.c (poll_fds_for_input):
14150         * lread.c (readchar):
14151         * redisplay-tty.c (tty_clear_frame):
14152         * redisplay-x.c (x_get_gc):
14153         * signal.c (interrupt_signal):
14154         And a whole bunch of other files: fixed up places that printed
14155         directly to stderr to instead call the function stderr_out so that
14156         the changes I made under Windows work correctly.
14157
14158         * filemode.c (mode_string):
14159         Warning fixes.
14160
14161         * frame-msw.c:
14162         * frame-msw.c (mswindows_size_frame_internal):
14163         Fixed the computation of frame size and position to keep the frame
14164         within the workspace area, rather than within the physical
14165         dimensions of the screen, so that the frame doesn't overlap window
14166         manager decorations, such as the start menu and toolbar, typically
14167         at the bottom of the screen.
14168
14169         * frame.c (vars_of_frame):
14170         Changed the default frame title format under MS Windows to consist
14171         of buffername-XEmacs, which is standard under MS Windows.  I think
14172         it might be a good idea to change this everywhere because I think
14173         it is superior to the current frame title format, but this is the
14174         kind of change that is likely to cause some people to get annoyed,
14175         so I'm not making it.
14176
14177         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
14178
14179         * gui-msw.c (mswindows_handle_gui_wm_command):
14180         Fixed compile warnings.
14181
14182         * gui-x.c:
14183         * gui-x.c (strdup_and_add_accel):
14184         * gui-x.c (button_item_to_widget_value):
14185         * gui-x.h:
14186         Added code to automatically put an accelerator onto the beginning
14187         of menu items that don't have one as is now the standard, and is
14188         described more later.  Also fixed things so that the menu item
14189         name can be an evaluated expression, again a new standard.
14190
14191         * gui.c:
14192         * gui.c (gui_item_add_keyval_pair):
14193         * gui.c (make_gui_item_from_keywords_internal):
14194         * gui.c (gui_add_item_keywords_to_plist):
14195         * gui.c (gui_item_accelerator):
14196         * gui.c (gui_name_accelerator):
14197         * gui.c (gui_item_included_p):
14198         * gui.c (gui_item_display_flush_left):
14199         * gui.c (gui_item_display_flush_right):
14200         * gui.c (parse_gui_item_tree_item):
14201         * gui.c (parse_gui_item_tree_children):
14202         * gui.c (parse_gui_item_tree_list):
14203         Mule-ized.  Cleanup.  GCPRO addition.
14204
14205         * line-number.c (buffer_line_number):
14206         * lisp.h:
14207         * lisp.h (EMACS_INT_MAX):
14208         Added the manifest constant EMACS_INT_MIN corresponding to the
14209         existing constant EMACS_INT_MAX.  This is partially to fix compile
14210         warnings under Windows, and partly for cleanliness.
14211
14212         * menubar-msw.c:
14213         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
14214         * menubar-msw.c (msw_translate_menu_or_dialog_item):
14215         * menubar-msw.c (displayable_menu_item):
14216         * menubar-msw.c (populate_menu_add_item):
14217         * menubar-msw.c (populate_or_checksum_helper):
14218         * menubar-msw.c (populate_menu):
14219         * menubar-msw.c (update_frame_menubar_maybe):
14220         * menubar-msw.c (prune_menubar):
14221         * menubar-msw.c (msw_char_is_accelerator):
14222         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
14223         * menubar-msw.c (mswindows_handle_wm_command):
14224         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
14225         * menubar-msw.c (mswindows_handle_wm_initmenu):
14226         * menubar-msw.c (mswindows_update_frame_menubars):
14227         * menubar-msw.c (mswindows_free_frame_menubars):
14228         * menubar-msw.c (mswindows_popup_menu):
14229         Fixed a bug in handling accelerators where an extra character
14230         would be displayed in the menu item.  Also generalized the
14231         function displayable_menu_item because it is now used by the
14232         dialog box code as well.  And finally, added code in the functions
14233         that create the menubar to extract a list of accelerators for the
14234         top level menubar, which is used in the event code to determine
14235         whether a particular alt-key combination should be used to invoke
14236         a menu item, or should be passed through to access the standard
14237         XEmacs keymap binding for this key combination.
14238
14239         Much needed GCPROing.
14240
14241         * menubar-x.c:
14242         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14243         * menubar-x.c (menu_item_descriptor_to_widget_value):
14244         * menubar-x.c (restore_in_menu_callback):
14245         * menubar-x.c (x_popup_menu):
14246         * menubar-x.c (menu_move_up):
14247         * menubar-x.c (menu_move_down):
14248         * menubar-x.c (menu_move_left):
14249         * menubar-x.c (menu_move_right):
14250         * menubar-x.c (menu_select_item):
14251         * menubar-x.c (command_builder_operate_menu_accelerator):
14252         * menubar-x.c (menu_accelerator_junk_on_error):
14253         * menubar-x.c (command_builder_find_menu_accelerator):
14254         * menubar-x.c (Faccelerate_menu):
14255         * menubar.h:
14256         Moved a whole bunch of code here that was previously in
14257         event-stream.c as described above.  There is also code connected
14258         to the new standard of adding an accelerator to the beginning of
14259         menu items that don't have one as described above and below.
14260
14261         * menubar.c:
14262         * menubar.c (menu_parse_submenu_keywords):
14263         * menubar.c (Fmenu_find_real_submenu):
14264         * menubar.c (Fnormalize_menu_item_name):
14265         * menubar.c (syms_of_menubar):
14266         * menubar.c (vars_of_menubar):
14267         * menubar.c (complex_vars_of_menubar):
14268
14269         a) Cleaned up a bunch of documentation and improved it.
14270
14271         b) XEmacs now automatically adds an accelerator onto the beginning
14272         of any menu items that don't have one.  I did this because there
14273         will inevitably be some menu items on the main menubar that don't
14274         have accelerators on them because the package that adds that
14275         particular menu item hasn't yet been fixed up to have accelerators
14276         in them and it looked rather strange to have some items with and
14277         some items without accelerators, especially since even in items
14278         without accelerators, you can, at least under windows, still
14279         access the item through an accelerator corresponding to the first
14280         character in the item's name.  If people don't like this behavior,
14281         I can add a variable to turn it off optionally, but I'm not sure
14282         this is a good idea because we really do need to have accelerators
14283         on all of the menu items, and if a package doesn't like the
14284         accelerators being put on the first character, then it should put
14285         the accelerators where they belong.
14286
14287         c) I made a behavior change, which is that the descriptor that
14288         specifies the text of the menu item, which formerly was just a
14289         string, can now also be an evaluated expression.  This makes this
14290         descriptor parallel with all of the others, which could also be
14291         evaluated expressions.  This also obviates the need for the
14292         keyword :label, which was previously listed in the documentation
14293         as unimplemented, and which was for the same purpose.
14294
14295         d) GCPROing.
14296
14297         * ntproc.c:
14298         * ntproc.c (new_child):
14299         * ntproc.c (sys_spawnve):
14300         * ntproc.c (find_child_console):
14301         * ntproc.c (sys_kill):
14302         Fixed compile warnings.  By the way, this file should really go
14303         away entirely, and this will happen as soon as Kirill makes his
14304         final round of process cleanups, which affect the function
14305         call-process.
14306
14307         * process-nt.c:
14308         * process-nt.c (struct nt_process_data):
14309         * process-nt.c (find_process_from_pid):
14310         * process-nt.c (send_signal_the_nt_way):
14311         * process-nt.c (enable_child_signals):
14312         * process-nt.c (find_child_console):
14313         * process-nt.c (send_signal_the_95_way):
14314         * process-nt.c (nt_finalize_process_data):
14315         * process-nt.c (ensure_console_window_exists):
14316         * process-nt.c (nt_create_process):
14317         * process-nt.c (nt_kill_child_process):
14318         * process-nt.c (nt_kill_process_by_pid):
14319         * process-nt.c (nt_open_network_stream):
14320         * process-nt.c (vars_of_process_nt):
14321         Copied over code from Emacs 20.5 to correctly send signals to sub-
14322         processes under Windows 95.  Also added code to automatically
14323         create and hide console window when a sub-process is created under
14324         Windows 95, which obviates the need for the separate runemacs.exe
14325         executable, and finally implemented some variables that were
14326         implemented in Emacs 20.5, but previously not in XEmacs.  These
14327         include mswindows- start-process-share-console and
14328         mswindows-start-process-inherit-error-mode. (Both of these only
14329         apply to Windows 95.)
14330
14331         * regex.c (regex_compile): Fixed a compile warning.
14332
14333         * select-msw.c:
14334         * select-msw.c (mswindows_own_selection):
14335         * select-msw.c (mswindows_get_foreign_selection):
14336         * select-msw.c (mswindows_disown_selection):
14337         * select-msw.c (console_type_create_select_mswindows):
14338         * select-msw.c (syms_of_select_mswindows):
14339         Cleaned up the file and implemented the device method
14340         selection_exists_p, which had accidentally been left out.  Also
14341         removed four lisp functions that were remnants from before the
14342         time when the selection code was properly device abstracted.
14343         These functions are no longer needed because there are generic
14344         equivalents, and because they were added recently and don't exist
14345         in FSF Emacs, I don't think there's any problem with just deleting
14346         them.
14347
14348         * sysdep.c:
14349         * sysdep.c (sys_subshell):
14350         Fixed a compile warning, although in this case there's probably
14351         something wrong with this code, and it ought to be looked into
14352         more thoroughly by somebody who understands it.
14353
14354         * window.c:
14355         * window.c (Fwindow_text_area_height):
14356         * window.c (Fwindow_width):
14357         * window.c (Fwindow_full_width):
14358         * window.c (Fwindow_pixel_width):
14359         * window.c (debug_print_window):
14360         * window.c (syms_of_window):
14361         Added functions window-text-area-height and window-full-width,
14362         which are functions for returning various width and height
14363         characteristics of a window. (One of these functions is necessary
14364         for making the file dialog box work correctly, and the other one
14365         was added for completeness.)  Also added a table to the
14366         documentation for window-height which describes the entire scheme
14367         for accessing width and height characteristics of a window.
14368
14369 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14370
14371         * nt.c (fstat): Added a comment for another problem with
14372         non-encapsulated [f]stat(), reported by Adrian Aichner
14373         <aichner@ecf.teradyne.com>.
14374
14375 2000-03-11  Andy Piper  <andy@xemacs.org>
14376
14377         * window.c (make_dummy_parent): initialize subwindow instance
14378         cache.
14379         (Fset_window_configuration): zero extent_modiff.
14380
14381 2000-03-10  Andy Piper  <andy@xemacs.org>
14382
14383         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14384         more changes can be triggered.
14385         (Fredisplay_frame): ditto.
14386         (Fredraw_device): ditto.
14387         (Fredisplay_device): ditto.
14388         (redisplay_frame): make non-static.
14389         (redisplay_frame): call update_frame_gutter_geometry outside of
14390         display proper.
14391
14392         * gutter.h: declare update_frame_gutter_geometry.
14393
14394         * redisplay.h: declare redisplay_frame.
14395
14396         * gutter.c (update_frame_gutter_geometry): move geometry changes
14397         in update_frame_gutters here. Geometry changes can only occur
14398         outside of redisplay.
14399         (update_frame_gutters): remove geometry change code.
14400         (Fredisplay_gutter_area): make sure that we are in display when we
14401         update and that we have flushed any size changes.
14402
14403 2000-03-11  Andy Piper  <andy@xemacs.org>
14404
14405         * alloc.c (pdump_dump_data): remove i & count shadows.
14406
14407 2000-02-27  Mike Alexander  <mta@arbortext.com>
14408
14409         * sysdep.h: Declare pdump_read_file
14410
14411         * sysdep.c (pdump_read_file): New function
14412
14413         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14414         dump data
14415
14416 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14417
14418         * lrecord.h: add `lrecord_type_pgsetenv'.
14419
14420 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14421
14422         * symsinit.h: declare (vars|syms)_of* functions.
14423         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14424
14425 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14426
14427         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14428
14429         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14430         GCCs.
14431
14432         * emacs.c (main_1): Call postgres initialization code.
14433
14434         * postgresql.h: New file.  PostgreSQL RDBMS support.
14435         * postgresql.c: New file.
14436
14437 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14438
14439         * redisplay-output.c (redisplay_output_display_block): Disable
14440         redundant code.
14441
14442 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14443
14444         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14445         (Fcanna_henkan_next): Ditto.
14446         (Fcanna_bunsetu_henkou): Ditto.
14447         (Fcanna_henkan_kakutei): Ditto.
14448         (Fcanna_henkan_end): Ditto.
14449         (Fcanna_henkan_quit): Ditto.
14450         (Fcanna_henkan_next): Set retun value correctly.
14451         (c2mu): Use unsigned char instead of signed char.
14452
14453 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14454
14455         * emacs.c (main_1): Always call syms_of_gui.
14456         * inline.c: include gui.h
14457
14458 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14459
14460         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14461         converted to Lisp_Object.
14462         (Qtop_bottom): New variable.
14463         (syms_of_redisplay): Initialize it.
14464         * redisplay.h (Vvisible_bell): Ditto.
14465         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14466         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14467         only flash top and bottom.
14468
14469 2000-03-08  Andy Piper  <andy@xemacs.org>
14470
14471         * buffer.c (Frename_buffer): record new buffer name the right way.
14472
14473 2000-03-08  Andy Piper  <andy@xemacs.org>
14474
14475         * glyphs.c (update_subwindow): increase hash depth so that widget
14476         items get picked up properly.
14477
14478         * redisplay-output.c (compare_runes): increase hash depth so that
14479         widget items get picked up properly.
14480
14481 2000-03-08  Andy Piper  <andy@xemacs.org>
14482
14483         * gutter.c (output_gutter): add some debug.
14484
14485         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14486         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14487         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14488
14489         * redisplay-output.c (compare_runes): use display_hash to
14490         determine if glyphs really are not the same.
14491
14492         * glyphs.c (update_subwindow): check display_hash to see if
14493         anything really needs to be updated. If not then do
14494         nothing. Record the display_hash after updating.
14495         (image_instance_equal): compare the image_instance face also.
14496
14497 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14498
14499         * redisplay.h: Fix comment style.
14500
14501 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14502
14503         * consle-msw.h (struct mswindows_frame):
14504         Added new member paint_pending to indicate whether a WM_PAINT
14505         magic event has been queued for this frame.
14506
14507         * event-msw.c (mswindows_drain_windows_queue):
14508         Don't queue a WM_PAINT magic event if one is already queued.
14509         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14510
14511         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14512
14513 2000-03-07  Didier Verna  <didier@xemacs.org>
14514
14515         * dired.c: #include `regex.h' after `sysfile.h'.
14516
14517 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14518
14519         * sound.c (init_nas_sound): Fix compiler warning.
14520
14521         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14522         (FREE_STRUCT_P):
14523         (MARK_STRUCT_AS_FREE):
14524         (MARK_STRUCT_AS_NOT_FREE):
14525         Make `gcc -fstrict-aliasing' work properly.
14526
14527 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14528
14529         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14530         (mswindows_delete_device): Call CoUnnitialize().
14531
14532         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14533
14534 2000-02-25    <CraigL@DyCon.com>
14535
14536         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14537         <errno.h>.
14538
14539         * sysdep.c: This extern declaration for environ prevents MinGW
14540         from finding the variable in CRTDLL.DLL.
14541
14542         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14543         windows headers.
14544         (SHGFI_EXETYPE): ..
14545         (WM_MOUSEWHEEL): ..
14546         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14547         definitions.
14548         (MMRESULT): Removed, now defined in cygwin's windows headers.
14549         (TIMECAPS): ..
14550         (uid_t,gid_t,pid_t,ssize_t): ..
14551         (_timeb): Removed, MinGW defines both _timeb and timeb.
14552         (HAVE_H_ERRNO): Added.
14553         (HAVE_TZNAME): Added, configure is not detecting this.
14554
14555 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14556
14557         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14558         * syntax.c (syntax_match): Use it.
14559
14560         * cmds.c: Import auto-fill-chars from FSF Emacs.
14561         (Vauto_fill_chars): New variables.
14562         (internal_self_insert): Check Vauto_fill_chars.
14563         (vars_of_cmds):
14564         Declare auto-fill-chars as a Lisp variable and initialize it.
14565
14566 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14567
14568         * fileio.c (Fmake_symbolic_link):
14569         (Ffile_symlink_p):
14570         Run handlers even if local machine doesn't have symlinks.
14571
14572 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14573
14574         * event-msw.c (mswindows_drain_windows_queue):
14575         Don't generate paint magic events for non-XEmacs frames.
14576
14577 2000-03-05  Andy Piper  <andy@xemacs.org>
14578
14579         * redisplay.c (redisplay_frame): generate_displayable_area and
14580         friends assumes that we are not in GC, we therefore have to make
14581         sure that this doesn't happen.
14582
14583         * gutter.c (calculate_gutter_size): generate_displayable_area
14584         assumes that we are not in GC, we therefore have to make sure that
14585         this doesn't happen.
14586
14587 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14588
14589         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14590
14591 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14592
14593         * redisplay.c (regenerate_window): Make sure we set a sane value
14594         for end_pos even if we jump out of the loop.
14595         (regenerate_window): Answer Ben's question :-).
14596         (start_end_of_last_line): Add may_error argument.
14597         (start_of_last_line):
14598         (end_of_last_line): Pass may_error = 0.
14599         (end_of_last_line_may_error): New function.
14600         (pixel_to_glyph_translation): Use it, so we don't crash in
14601         event_to_glyph.
14602
14603 2000-03-04  Andy Piper  <andy@xemacs.org>
14604
14605         * window.h (struct window): add gutter_extent_modiff.
14606
14607         * window.c (allocate_window): zero out gutter_extent_modiff.
14608
14609         * redisplay.h: declare sync_display_line_structs.
14610
14611         * redisplay.c (add_glyph_rune): add a better comment.
14612
14613         * redisplay-output.c (sync_display_line_structs): made non-static.
14614         (compare_runes): remove unneccesary glyph cachel access.
14615
14616         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14617
14618         * gutter.c (output_gutter): don't output the gutter if extent
14619         changes only involve extents in buffers. use 4 sets of display
14620         lines.
14621         (gutter_extent_signal_changed_region_maybe): new function. Mark
14622         extents in gutters as changed.
14623         (update_frame_gutters): use 4 sets of display lines.
14624         (reset_gutter_display_lines): ditto.
14625         (free_frame_gutters): ditto.
14626         (redraw_exposed_gutter): force output of gutters.
14627
14628         * frame.h (struct frame): add 4 sets of gutter display lines.
14629
14630         * extents.c: (extent_changed_for_redisplay): signal changes to
14631         extents in strings in the gutter as well as extents in buffers.
14632
14633 2000-03-02  Andy Piper  <andy@xemacs.org>
14634
14635         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14636
14637         * frame.c (Fmake_frame): make sure the gutters get initialized
14638         after the frame is visible.
14639         (set_frame_selected_window): re-arrange compilation macros a
14640         little.
14641         (change_frame_size_1): mark gutters changed.
14642
14643         * device.c (Fset_device_class): mark gutters changed.
14644
14645 2000-03-01  Andy Piper  <andy@xemacs.org>
14646
14647         * window.c (window_top_frame_gutter_height): deleted.
14648         (window_bottom_frame_gutter_height): ditto.
14649         (window_left_frame_gutter_height): ditto.
14650         (window_right_frame_gutter_height): ditto.
14651         (window_top_gutter_height): don't use them.
14652         (window_bottom_gutter_height): ditto.
14653         (window_left_gutter_width): ditto.
14654         (window_right_gutter_width): ditto.
14655         (Fsplit_window): ditto.
14656         (Fwindow_pixel_edges): don't use border dimensions here.
14657
14658         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14659         (update_scrollbar_instance): ditto.
14660
14661         * redisplay.c (generate_modeline): don't take gutters into account.
14662         (generate_modeline): ditto.
14663         (redisplay_frame): small gutter display optimization.
14664
14665         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14666
14667         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14668         gutters into account.
14669
14670         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14671         for window position and type.
14672
14673         * gutter.c (get_gutter_coords): fix for frame gutters.
14674         (update_frame_gutters): update frame geometry if the gutters have
14675         changed.
14676         (init_frame_gutters): record current gutter geometries.
14677
14678         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14679         var.
14680         (mswindows_widget_instantiate): ditto.
14681
14682         * frame.h (struct frame): add current_gutter_bounds.
14683
14684         * frame.c (change_frame_size_1): position window and minibuffer
14685         appropriately taking into account the frame gutters.
14686
14687         * frame-x.c: (x_initialize_frame_size): take into account the
14688         frame gutters.
14689
14690 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14691
14692         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14693
14694 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14695
14696         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14697
14698 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14699
14700         * file-coding.c (reset_decoding_stream): Clear previous
14701         detection state when autodetect.
14702
14703 2000-02-29  Didier Verna  <didier@xemacs.org>
14704
14705         * extents.c (set_extent_glyph_1): don't require extents to be
14706         attached.
14707
14708 2000-02-27  Andy Piper  <andy@xemacs.org>
14709
14710         * gutter.c (Fset_default_gutter_position): don't default left and
14711         right gutter visibility to t.
14712         (Fset_default_gutter_position): run
14713         default-gutter-position-changed-hook.
14714         (syms_of_gutter): add default-gutter-position-changed-hook.
14715
14716 2000-02-26  Andy Piper  <andy@xemacs.org>
14717
14718         * specifier.c (Fmake_specifier): add gutter references.
14719
14720         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14721
14722         * lisp.h: declare Fvalid_plist_p.
14723
14724         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14725         as changed.
14726         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14727         well as its visibility so that it gets reconstructed.
14728         (construct_window_gutter_spec): new function. Construct a string
14729         to be displayed in the gutter from a plist of strings. Take care
14730         to only use elements that are declared as visible.
14731         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14732         WINDOW_GUTTER.
14733         (gutter_validate): allow plists of strings in the specifier.
14734         (gutter_specs_changed): construct the real_gutter from the gutter
14735         specs using construct_window_gutter_spec.
14736         (gutter_visible_validate): gutter-visible is a new specifier type.
14737         (Fgutter_visible_specifier_p): new function for the new specifier.
14738         (syms_of_gutter): declare gutter-visible and
14739         Fgutter_visible_specifier_p.
14740         (specifier_type_create_gutter): intitalize new gutter-visible
14741         specifier.
14742         (reinit_specifier_type_create_gutter): ditto.
14743         (specifier_vars_of_gutter): use new specifier type for gutter
14744         visibility.
14745         (init_frame_gutters): construct real_gutter correctly.
14746         (Fgutter_specifier_p): beef up documentation.
14747         (Fgutter_size_specifier_p): ditto.
14748
14749         * winslots.h: add real_gutter slots.
14750
14751 2000-02-25  Andy Piper  <andy@xemacs.org>
14752
14753         * device-msw.c: Be kind to older cygwin versions. From Raymond
14754         Toy <toy@rtp.ericsson.se>.
14755
14756         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14757         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14758
14759 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14760
14761         * elhash.c (MARK_OBJ): Practice macro hygiene.
14762
14763 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14764
14765         * miscplay.c: s/__inline__/inline/g;
14766         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14767         (get_device_compdc): INLINE ==> static inline
14768         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14769         find -name '*.h' | \
14770         xargs global-replace \
14771         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14772
14773 2000-02-25  Andy Piper  <andy@xemacs.org>
14774
14775         * window.c (window_top_frame_gutter_height): new function.
14776         (window_top_window_gutter_height): ditto.
14777         (window_top_gutter_height): use them.
14778         (window_bottom_frame_gutter_height): new function.
14779         (window_bottom_window_gutter_height): ditto.
14780         (window_bottom_gutter_height): use them.
14781         (window_left_window_gutter_width): new function.
14782         (window_left_frame_gutter_width): ditto.
14783         (window_left_gutter_width): use them.
14784         (window_right_window_gutter_width): new function.
14785         (window_right_frame_gutter_width): ditto.
14786         (window_right_gutter_width): use them.
14787         (window_pixel_height): new function. calulate window pixel height
14788         with frame gutter involvement.
14789         (Fsplit_window): calculate new sizes taking frame gutters into
14790         account.
14791         (window_char_height_to_pixel_height): don't include frame gutters.
14792         (window_char_height): use window_pixel_height.
14793         (window_pixheight): rename from window_pixel_height.
14794         (change_window_height): use it.
14795         (window_pixel_height_to_char_height): don't include frame gutters.
14796         (window_char_width_to_pixel_width): ditto.
14797
14798 2000-02-25  Andy Piper  <andy@xemacs.org>
14799
14800         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14801         if it is.
14802
14803 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14804
14805         * alloc.c (staticpro):
14806         (staticpro_nodump):
14807         (dumpstruct):
14808         (dumpopaque):
14809         (pdump_wire):
14810         (pdump_wire_list):
14811         (compact_string_chars):
14812         (pdump_dump_wired):
14813         Convert:  if (foo) abort();  ==>  assert (! foo);
14814
14815         * eldap.c (Fldap_search_basic):
14816         (Fldap_add):
14817         (Fldap_modify):
14818         (Fldap_delete):
14819         Fix compiler warnings, and possible crashes if (random) return
14820         value were to be used.
14821
14822 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14823
14824         * device-msw.c: Workaround ResetDC failure.
14825
14826         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14827         applying a devmode.
14828
14829         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14830         (mswindows_text_width): Do not start printer page.
14831
14832         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14833
14834         * glyphs-msw.c: Added image methods to msprinter console and
14835         msprinter-specific image instantiation.
14836
14837 2000-02-20  Mike Alexander  <mta@arbortext.com>
14838
14839         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14840         to avoid crashes when selection-sets-clipboard is on
14841         (mswindows_own_selection): ditto
14842
14843 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14844
14845         * glyphs-msw.c:
14846         * redisplay-msw.c (get_frame_dc):
14847         (get_frame_compdc):
14848         * console-msw.h:
14849         * device-msw.c (mswindows_init_device):
14850         (mswindows_delete_device):
14851         (msprinter_init_device):
14852         (msprinter_delete_device):
14853         * frame-msw.c (mswindows_init_frame_1):
14854         (mswindows_delete_frame):
14855         (msprinter_init_frame_3):
14856         (msprinter_delete_frame): Move compatible DC to device object from
14857         frame object, for both mswindows and msprinter. Only one at a time
14858         is needed, it is a real waste to have one per frame!
14859
14860 2000-02-23  Andy Piper  <andy@xemacs.org>
14861
14862         * glyphs.c: add dynamic width and height elements.
14863         (image_instance_equal): ditto.
14864
14865         * glyphs-widget.c (widget_query_geometry): calculate width and
14866         height dynamically if required.
14867         (initialize_widget_image_instance): initialize dynamic dimensions.
14868         (widget_instantiate): pick-up dynamic dimensions.
14869
14870         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14871         dynamic determination. Add appropriate macros.
14872
14873         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14874         dimensions safe.
14875         (WINDOW_GUTTER_SIZE): ditto.
14876         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14877
14878         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14879         inline.
14880         (get_frame_dc): ditto.
14881
14882         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14883         here.
14884
14885 2000-02-23  Martin Buchholz <martin@xemacs.org>
14886
14887         * XEmacs 21.2.31 is released.
14888
14889 2000-02-22  Ben Wing <ben@xemacs.org>
14890
14891         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14892
14893 2000-02-22  Andy Piper  <andy@xemacs.org>
14894
14895         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14896
14897 2000-02-21  Mike Sperber <mike@xemacs.org>
14898
14899         * .dbxrc:
14900         * .gdbinit:
14901         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14902         variables.
14903
14904 2000-02-21  Mike Sperber <mike@xemacs.org>
14905
14906         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14907
14908 2000-02-21  Martin Buchholz <martin@xemacs.org>
14909
14910         * XEmacs 21.2.30 is released.
14911
14912 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14913
14914         Performance hacking.
14915         * *.c (syms_of_*):
14916         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14917         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14918         * emacs.c (main_1):
14919         * lisp.h (DEFUN):
14920         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14921         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14922         * symeval.h (DEFVAR_SYMVAL_FWD):
14923         * symbols.c (guts_of_unbound_marker):
14924         Make all c_readonly objects also lisp_readonly and marked for life.
14925         * lrecord.h (struct lrecord_implementation):
14926         Document flags better.
14927         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14928         * lrecord.h (DECLARE_LRECORD):
14929         * lrecord.h (XSETRECORD):
14930         * lrecord.h (RECORDP):
14931         * lrecord.h (RECORD_TYPEP):
14932         * lrecord.h (RECORD_MARKER): New.
14933         * lrecord.h (error_check_*):
14934         * lrecord.h (CONCHECK_NONRECORD):
14935         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14936         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14937         * lrecord.h (set_lheader_implementation):
14938         * lrecord.h (enum lrecord_type): New.
14939         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14940         * alloc.c (disksave_object_finalization_1):
14941         * alloc.c (mark_object):
14942         * alloc.c (lrecord_type_index):
14943         * alloc.c (tick_lcrecord_stats):
14944         * alloc.c (Fgarbage_collect):
14945         * alloc.c (init_alloc_once_early):
14946         * alloc.c (pdump_load):
14947         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14948         * alloc.c (lrecord_type_index): Delete.
14949         Make lisp object type indexes be constant.
14950           Makes (byte-compile) 5% faster.
14951         Put all marker functions into their own array.
14952           Makes (garbage-collect) 5% faster.
14953         Optimize SYMBOL_VALUE_MAGIC_P.
14954           Makes (byte-compile) 2-3% faster.
14955         * config.h.in (gc_checking_assert): New.
14956         * alloc.c: Use gc_checking_assert().
14957         * .dbxrc: Make compatible with new object type implementation.
14958         * .gdbinit: Make compatible with new object type implementation.
14959         * alloc.c: Delete all symbols defined only for debugging, such as
14960         Lisp_Type_Vector and lrecord_charset.
14961
14962 2000-02-21  Andy Piper  <andy@xemacs.org>
14963
14964         * gui-msw.c (Fmswindows_shell_execute): fix file location
14965         problems.
14966
14967         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14968         unshowing so that set_window_buffer doesn't undo
14969         kill_buffer_hook's hard work.
14970
14971         * glyphs-widget.c (tab_control_query_geometry): don't count the
14972         first item when calculating geometry.
14973
14974         * glyphs.c (map_subwindow): remove redundant code.
14975         (update_frame_subwindows): be more circumspect about when to
14976         update subwindows.
14977
14978         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14979         when items haven't changed. Update faces if faces have changed as
14980         well as just the widget face.
14981         (x_tab_control_update): Update faces if faces have changed as well
14982         as just the widget face.
14983
14984 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14985
14986         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14987         registration.
14988         (build_syscolor_string): Use mswindows_color_to_string to try to
14989         get a named color.
14990         (mswindows_device_system_metrics): Reverse the foreground and
14991         background colors so that they match the documentation.
14992
14993         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14994         they match the default Windows palette.
14995         (mswindows_color_to_string): New function.
14996
14997 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14998
14999         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
15000
15001 2000-02-18  Olivier Galibert  <galibert@pobox.com>
15002
15003         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
15004         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
15005
15006         * symbols.c (init_symbols_once_early): Removed obsolete
15007         DATA_SEG_BITS related kludge.
15008         (defvar_magic): Ditto.
15009
15010         * malloc.c: Removed obsolete DATA_SEG_BITS
15011         * ralloc.c: Ditto.
15012         * mem-limits.h: Ditto.
15013
15014         * Makefile.in.in: Removed obsolete HAVE_SHM
15015         * emacs.c: Ditto.
15016
15017 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15018
15019         *  device-msw.c (mswindows_delete_device): Free DDE string
15020         handles.
15021
15022 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15023
15024         * keymap.c (get_keyelt):
15025         * unexnt.c (unexec):
15026         * vm-limit.c (memory_warnings):
15027         * ntheap.c (recreate_heap):
15028         * ntheap.h (UNINIT_PTR):
15029         * select-msw.c (Fmswindows_get_clipboard):
15030         (Fmswindows_set_clipboard):
15031         * objects-msw.h (MSWINDOWS_BAD_HFONT):
15032         * objects-msw.c:
15033         * menubar-msw.c (displayable_menu_item):
15034         * glyphs-msw.c:
15035         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
15036         * sysdep.c (sys_subshell):
15037         * process-nt.c (nt_create_process):
15038         * nt.c (normalize_filename):
15039         (dostounix_filename):
15040         (unixtodos_filename):
15041         * ntproc.c (win32_executable_type):
15042         * ntplay.c (play_sound_data_1):
15043         (play_sound_file):
15044         * editfns.c (get_home_directory):
15045         * event-msw.c (struct winsock_stream):
15046         (mswindows_dde_callback):
15047         * device-msw.c (msprinter_init_device):
15048         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
15049
15050         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
15051         mswindows_clear_toolbar were swapped!
15052
15053         * objects-msw.c:(colormap_t):
15054         (fontmap_t):
15055         * emacs.c (struct standard_args): Fixed const jumble.
15056
15057         * glyphs-widget.c (update_widget): Fixed comparison notation.
15058
15059         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
15060
15061         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
15062         __declspec(noreturn) syntax.
15063
15064 2000-02-19  Martin Buchholz  <martin@xemacs.org>
15065
15066         * eldap.c (Fldap_open):
15067         (Fldap_search_basic):
15068         (Fldap_add):
15069         (Fldap_modify):
15070         Use new coding system conversion macros.
15071
15072 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15073
15074         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
15075
15076 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
15077
15078         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
15079         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15080
15081         * eldap.c (Qadd, Qreplace): New constant symbols
15082         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
15083         interruptions by XEmacs signals
15084         Remove unnecessary calls to slow_down_interrupts and
15085         speed_up_interrupts
15086         (Fldap_search_basic): Renamed from Fldap_search_internal
15087         Added new optional parameter VERBOSE that triggers the
15088         display of progress messages
15089         Remove unnecessary calls to slow_down_interrupts and
15090         speed_up_interrupts
15091         LDAP result code analysis rewritten
15092         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15093         (syms_of_eldap): Define the new symbols and functions
15094
15095
15096 2000-02-17  Martin Buchholz  <martin@xemacs.org>
15097
15098         * realpath.c: Determine PATH_MAX maximally portably.
15099
15100         * insdel.c (bytecount_to_charcount): Optimize.
15101         The function used to be optimized for entirely ASCII sequences.
15102         Now it is optimized for successive characters from the same
15103         charset.  This also wins big for _mostly_ ASCII sequences.
15104
15105         * fileio.c (Ffile_truename): convert return from realpath() using
15106         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
15107         - Rewrite GCPROing slightly.
15108
15109         * sysdep.c (sys_open): Do filename conversion, like all other
15110         sys_* functions.  Fixes bug:
15111         (let ((file-name-coding-system 'iso-8859-2))
15112            (write-region x y latin2-name))
15113         ==> writes filename using internal encoding.
15114
15115 2000-02-18  Martin Buchholz  <martin@xemacs.org>
15116
15117         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
15118         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
15119         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
15120         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
15121         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
15122         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
15123         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
15124         (CONST_IF_NOT_DEBUG): Delete.
15125         * alloc.c (this_one_is_unmarkable): Delete.
15126         (mark_object): Don't check for this_one_is_unmarkable. Use the
15127         c_readonly flag instead.
15128         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
15129
15130 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15131
15132         * event-msw.c (mswindows_drain_windows_queue):
15133         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
15134         away redundant repaint events.
15135
15136 2000-02-17  Andy Piper  <andy@xemacs.org>
15137
15138         * redisplay.h: declare mark_redisplay_structs.
15139
15140         * redisplay.c (redisplay_window):
15141         (redisplay_frame): don't check subwindows_state_changed.
15142         (mark_redisplay): mark gutters here.
15143
15144         * glyphs.c: (instantiate_image_instantiator): always layout if we
15145         haven't done so already.
15146         (allocate_image_instance): don't mark as dirty.
15147         (update_subwindow): bind inhibit_quit.
15148
15149         * gutter.c (mark_gutters): new function.
15150
15151         * glyphs-x.c (x_update_widget): Always resize to get round a
15152         widget bug.
15153
15154         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
15155         breaking absolutely everything.
15156
15157         * gutter.h: declare mark_gutters.
15158
15159 2000-02-16  Martin Buchholz <martin@xemacs.org>
15160
15161         * XEmacs 21.2.29 is released.
15162
15163 2000-02-15  Olivier Galibert  <galibert@pobox.com>
15164
15165         * fns.c (size_bit_vector): Fix computation of the size.
15166
15167 2000-02-15  Martin Buchholz  <martin@xemacs.org>
15168
15169         * *.[ch]: Change CONST to const globally.
15170         find -name '*.[ch]' | \
15171         xargs global-replace \
15172         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
15173         - Remove vestigial references to CONST_IS_LOSING
15174
15175 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15176
15177         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
15178         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
15179         events instead of dispatching them directly.
15180         (mswindows_handle_paint): New function to do repainting.
15181         (mswindows_wnd_proc):
15182         (emacs_mswindows_handle_magic_event): Call above function.
15183
15184 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15185
15186         * objects-msw.c (mswindows_create_font_variant): Return the new
15187         font handle.
15188         (initialize_font_instance): Get font metrics from the underlined
15189         variant of the font to cope with the case where the underlined
15190         font has a bigger descent.
15191
15192 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15193
15194         * gui.c (gui_item_accelerator): Return the first underlined
15195         character in item name.
15196
15197 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15198
15199         * lisp.h: Added Qprinter.
15200
15201         * general.c (syms_of_general): Initialized it.
15202
15203         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
15204         (get_frame_dc):
15205         (get_frame_compdc): Made inline.
15206
15207         * console.h (struct console_methods): Added eject_page method.
15208
15209         * frame.h: Added FRAME_DISPLAY_P and friends.
15210         Aligned backslahes in many macros in more readable fashion.
15211         Added page_number to struct frame, and an accessor macro
15212         for it.
15213
15214         * defice.h: Added DEVICE_DISPLAY_P and friends.
15215
15216         * device.c (Fdevice_printer_p): Used these.
15217
15218         * frame.c (allocate_frame_core): Initialize page number.
15219         (Fprint_job_page_number):
15220         (Fprint_job_eject_page): Implemented.
15221
15222         * frame-msw.c (msprinter_eject_page): Added method.
15223         (msprinter_start_page): Added.
15224
15225         * window.c (Fwindow_truncated_p): Fixed docstring.
15226         (Fwindow_last_line_visible_height): Implemented.
15227
15228 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15229
15230         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15231
15232 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15233
15234         * syntax.c (scan_words): Always advance at least one character.
15235
15236 2000-02-13  Andy Piper  <andy@xemacs.org>
15237
15238         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15239         to make sure the glyph is in the cachels.
15240
15241         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15242         global image instance flag.
15243         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15244         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15245
15246         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15247         (Fset_image_instance_property): mark layout as changed.
15248         (invalidate_glyph_geometry_maybe): mark layout as changed.
15249         (glyph_width): use new NEEDS_LAYOUT macro.
15250         (glyph_ascent): ditto.
15251         (glyph_descent): ditto.
15252         (glyph_height): ditto.
15253         (image_instance_layout): mark layout as clean after laying out.
15254         (update_subwindow): don't mark layout as clean here.
15255
15256         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15257         should no longer be needed.
15258
15259         * glyphs-x.c (x_update_widget): sanitize asserts.
15260         (x_finalize_image_instance): sanitize assignment to widgets.
15261
15262         * glyphs-widget.c (widget_instantiate): don't need to clear the
15263         layout flag here.
15264
15265 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15266
15267         * sysdep.c (getcwd): Use standard prototype.
15268         * sysdep.h (getcwd): Use standard prototype.
15269
15270         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15271         (sequence, start, end).
15272         Remove redundant type checking.
15273         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15274         view of `caller-protects') to avoid a crash where the real fix was
15275         found elsewhere.
15276
15277 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15278
15279         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15280
15281         * s/sol2.h: Remove feature macro initialization.
15282
15283         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15284         (vector_hash): New.  Code from internal_hash.
15285         * lrecord.h:
15286         Fix up allocation subsystem comments.
15287
15288         * config.h.in: Add __EXTENSIONS__ for Solaris.
15289
15290         * systime.h (EMACS_GETTIMEOFDAY): New.
15291         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15292         Remove Solaris-specific code.
15293         Use void* for the (ignored) second arg for gettimeofday().
15294
15295         * elhash.c (hash_table_hash): Implement it, finally.
15296         * elhash.c:  Use hashcode_t.
15297
15298         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15299         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15300
15301         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15302         * fns.c (size_bit_vector):
15303         * alloc.c (size_vector):
15304         (make_vector_internal):
15305         (make_bit_vector_internal):
15306         (sweep_bit_vectors_1):
15307         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15308
15309 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15310
15311         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15312         Include strings.h to avoid warnings for bzero and strcasecmp.
15313
15314 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15315
15316         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15317         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15318
15319         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15320         sequence.
15321
15322 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15323
15324         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15325         use a value field instead.
15326         (symbol_value_forward_forward): Use value field.
15327         (DEFVAR_SYMVAL_FWD): Use value field.
15328         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15329         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15330         (DEFVAR_CONST_INT): Ditto.
15331         (DEFVAR_BOOL): Ditto.
15332         (DEFVAR_CONST_BOOL): Ditto.
15333         (DEFVAR_INT_MAGIC): Ditto.
15334         (DEFVAR_BOOL_MAGIC): Ditto.
15335
15336         * symbols.c (guts_of_unbound_marker): Use value field.
15337         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15338         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15339
15340         * lisp.h: Declare dumpopaque and noninteractive1.
15341
15342         * alloc.c (dumpopaque): Added.
15343         (pdump_dump_opaquevec): Added.
15344         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15345         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15346         noninteractive.
15347
15348 2000-02-10  Andy Piper  <andy@xemacs.org>
15349
15350         * glyphs.c (image_instance_layout): if the size changes, mark it
15351         as such.
15352
15353         * redisplay-output.c (redisplay_output_layout): Update the
15354         subwindow here.
15355         (redisplay_output_subwindow): ditto.
15356
15357         * glyphs.c (update_subwindow): make sure we reset flags for
15358         layouts as well as everything else.
15359
15360         * glyphs-widget.c (layout_layout): don't need to set the instances
15361         dimensions here.
15362
15363 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15364
15365         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15366         not HAVE_DLOPEN, which is a lower-level thing.
15367
15368         * .cvsignore: Ignore gmon.out
15369
15370 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15371
15372         * .cvsignore: Ignore portable dumper xemacs.dmp file
15373
15374 2000-02-09  Andy Piper  <andy@xemacs.org>
15375
15376         * redisplay-output.c (redisplay_output_layout): be more clever
15377         about when we output based on the changed flags.
15378
15379         * glyphs.h (struct image_instantiator_methods): add update_method.
15380         (struct Lisp_Image_Instance): add changed flags. Declare new
15381         macros for manipulating them.
15382
15383         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15384         (image_instance_parent_glyph): find an image_instance's parent
15385         glyph or image_instance.
15386         (image_instance_layout): mark the size as changed.
15387         (set_image_instance_dirty_p): new function. mark an image
15388         instance, plus all of its parents, as dirty.
15389         (Fset_image_instance_property): use it.
15390         (Fglyph_animated_timeout_handler): use it.
15391         (update_subwindow): call update_widget and device methods for
15392         update_subwindow. Mark all changed flags as clean.
15393         (Fresize_subwindow): mark size as changed.
15394
15395         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15396         failures.
15397         (x_update_subwindow): only resize subwindows here.
15398         (x_update_widget): new function. Update all changed properties of
15399         a widget.
15400         (x_resize_subwindow): deleted.
15401         (x_widget_set_property): deleted.
15402         (x_progress_gauge_set_property): deleted.
15403         (x_progress_gauge_update): new function. Implement recorded
15404         changes.
15405         (x_tab_control_update): ditto.
15406         (x_tab_control_set_property): deleted.
15407         (console_type_create_glyphs_x): declare new functions.
15408         (image_instantiator_format_create_glyphs_x): ditto.
15409
15410         * glyphs-widget.c (widget_set_property): mark text changed.
15411         (update_widget): new function. Update properties of a widget.
15412         (widget_instantiate): for layouts make sure we set their
15413         children's parent correctly.
15414         (tab_control_set_property): new function. Record changes that will
15415         take place under redisplay's control.
15416         (progress_gauge_set_property): ditto.
15417         (image_instantiator_progress_guage): declare new functions.
15418         (image_instantiator_tab_control): ditto.
15419
15420         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15421         now.
15422         (mswindows_update_widget): new function. Update all properties on
15423         a widget that have changed.
15424         (mswindows_button_update): new function. Update a button's set
15425         state.
15426         (mswindows_tab_control_update): new function. Update the items in
15427         a tab.
15428         (mswindows_tab_control_set_property): deleted.
15429         (mswindows_progress_gauge_update): new function. Update the
15430         progress gauge's progress.
15431         (mswindows_widget_set_property): deleted. This is all done
15432         asynchronously now.
15433         (mswindows_progress_gauge_set_property): ditto.
15434         (console_type_create_glyphs_mswindows): declare new methods.
15435         (image_instantiator_format_create_glyphs_mswindows): ditto.
15436
15437         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15438         (msprinter_set_frame_properties): ditto.
15439
15440         * console.h (struct console_methods): Add update_widget_method.
15441
15442 2000-02-09  Andy Piper  <andy@xemacs.org>
15443
15444         * gui-msw.c (Fmswindows_shell_execute): Make
15445         mswindows-shell-execute industrial strength.
15446
15447 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15448
15449         * lrecord.h: Make macro argument `props' match member function `plist'.
15450         * fns.c (Fget):
15451         * fns.c (Fput):
15452         * fns.c (Fremprop):
15453         * fns.c (Fobject_plist):
15454         * alloc.c:
15455         * symbols.c:
15456         Object property list frobbing cleanup.
15457         - Allow any lisp object (compared with `eq'), not just symbols, as
15458           keys in object plists.
15459         - Move symbol plist frobbing into symbols.c, where it belongs.
15460         - Move string plist frobbing into alloc.c, where it belongs.
15461         - Everything's an lrecord now, so no need to test for symbolp, etc.
15462         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15463
15464         * extents.c: Reorder code to remove declarations.
15465
15466         * frame.h (store_in_alist): Remove useless declaration.
15467
15468 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15469
15470         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15471         * config.h.in: Add HAVE_XCONVERTCASE.
15472
15473 2000-02-07  Andy Piper  <andy@xemacs.org>
15474
15475         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15476         it breaks many things.
15477
15478 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15479
15480         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15481         actually can start a common comment type.
15482         * src/syntax.h (SYNTAX_END_P): ditto for end.
15483
15484 2000-02-07  Martin Buchholz <martin@xemacs.org>
15485
15486         * XEmacs 21.2.28 is released.
15487
15488 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15489
15490         * event-Xt.c (x_keysym_to_character): New.
15491         (maybe_define_x_key_as_self_inserting_character): New.
15492         (x_has_keysym): New.
15493         Auto-define all keys on the keyboard as self-insert-key.
15494
15495 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15496
15497         * menubar.c (vars_of_menubar): A small code simplification.
15498
15499         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15500
15501         * ExternalShell.c:
15502         * ExternalClient.c:
15503         * EmacsShell-sub.c:
15504         * EmacsManager.c:
15505         * EmacsFrame.c:
15506         Use consistent style for specifying X resources.
15507
15508         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15509         This makes (dontusethis-set-symbol-value-handler) actually usable.
15510
15511         * lrecord.h (lrecord_decription_type):
15512         * alloc.c (pdump_register_sub):
15513         (pdump_dump_data):
15514         (pdump_reloc_one):
15515         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15516         Comply with XEmacs coding style.
15517         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15518         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15519
15520         * keymap.c (Faccessible_keymaps):
15521         Make (accessible-keymaps map "\C-h") do the Right Thing.
15522         Make (accessible-keymaps map []) do the Right Thing.
15523         Make (accessible-keymaps map "") do the Right Thing.
15524         (check_keymap_definition_loop): New function.
15525         (keymap_store_internal): Keep luser from shooting self in foot,
15526           via (define-key ctl-x-4-map "p" global-map).
15527         Remove fullness slot from struct Lisp_Keymap, since hash tables
15528         are now reliable.
15529         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15530
15531 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15532
15533         * redisplay.c (init_redisplay): Fix small memory leak.
15534         * elhash.h:
15535         * elhash.c (pdump_reorganize_hash_table):
15536         Rename from reorganize_hash_table. Change prototype.
15537         Reuse the original memory for hentries.  Save 100k.
15538         * alloc.c (PDUMP_READ): new macro.
15539         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15540         * alloc.c: No need to #ifndef before #undef.
15541
15542         * print.c: Allow debug_print() to print readably by modifying
15543         debug_print_readably.  Use consistent variable names.
15544
15545         * .dbxrc: Try to get things to work even if stopped in a function
15546         without source available by explicitly specifying source files.
15547 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15548
15549         * unexnt.c (_start): Removed bogus code which caused loading heap
15550         from differrent executable file.
15551         Removed bogus assignment to _fmode, which caused inconsistencies.
15552
15553 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15554
15555         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15556         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15557         Do not preliminary `#define signal sigset'.
15558
15559         * systime.h: Do not prototype environ on windows nt and cygwin,
15560         this conflicts with system header.
15561
15562         * syssignal.h: Use correct define for WINDOWSNT
15563
15564         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15565         with system header.
15566
15567         * sysdep.c (near start of file): Fixed commentary and rearranged
15568         ifdefs in readable order.
15569         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15570         (start_of_text):
15571         (end_of_text):
15572         (end_of_data): Do not compile in if using PDUMP.
15573
15574         * symsinit.h: Prototyped vars_of_nt().
15575
15576         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15577         (find_child_console): Use it.
15578         (sys_kill): Use it.
15579
15580         * ntheap.h: Do not extern os_subtype.
15581
15582         * ntheap.c (cache_system_info): Do not cache unneeded:
15583         nt_major_version, nt_minor_version and os_subtype.
15584         (recreate_heap): Do not compile in when PDUMPing.
15585
15586         * nt.c (geteuid and friends): Use the new varibale
15587         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15588         (init_user_info): Removed the above mentioned hackery.
15589         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15590         stat has been fixed in the C runtime.
15591         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15592
15593         * file-coding.c (struct file_coding_dump): Do not define
15594         ucs_to_mule_table in the struct if not MULE.
15595         (struct struct lrecord_description fcd_description_1): Do not dump
15596         the above.
15597
15598         * emacs.c (main_1): Call vars_of_nt().
15599         (right before Fdump_emacs_data): Don't need lastfile if using both
15600         portabe dumper and system malloc.
15601
15602         * alloc.c (Fmemory_limit): Conditionalized out.
15603         (pdump): Use OPEN_BINARY for the portable dump file.
15604         (pdump_load): Ditto.
15605
15606 2000-02-02  Mike Alexander  <mta@arbortext.com>
15607
15608         * nt.c (convert_time): Set tm_isdst before calling mktime and
15609         avoid calling it at all if the compiler supports 64 bit integers.
15610         Also initialize utc_base_ft before using it.
15611
15612 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15613
15614         * frame.c (change_frame_size_1): Take f->internal_border_width
15615         into consideration when calculating the width of the frame.
15616
15617 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15618
15619         * window.c (frame_min_height):
15620         (frame_size_valid_p):
15621         (frame_pixsize_valid_p): Added.
15622         (check_frame_size): Generalized.
15623
15624         * window.h: Prototyped the above.
15625
15626         * lisp.h:
15627         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15628         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15629         Deleted Vwin32_* and Vbinary_process_* unused variables.
15630
15631         * device-msw.c (msprinter_init_device): Do not get printer font
15632         list; Added DEVMODE functions.
15633
15634         * frame-msw.c: Added lots of printer code.
15635
15636         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15637         general.c.
15638
15639         * console-msw.h: Added more msprinter device private slots.
15640
15641 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15642
15643         * event-msw.c (key_needs_default_processing_p): Added.
15644         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15645
15646 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15647
15648         * glyphs.c (image_instance_layout): Mark image instance as clean
15649         after layout.
15650         (glyph_dirty_p): Removed redundant function.
15651         (invalidate_glyph_geometry_maybe): Added.
15652         (update_glyph_cachel_data): Call it.
15653
15654         * glyphs.h: Prototyped it.
15655
15656         * redisplay.c (add_glyph_rune): Call it.
15657         (redisplay_window): Reset glyphs cachels when frame faces have
15658         changed, thus forcing recomputation of built-in border glyphs.
15659
15660 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15661
15662         * Makefile.in.in: Make portable dumper and purify play well together.
15663         Add imperfect, but better than nothing, support for pdump.
15664         Remove xemacs.dmp when temacs is re-generated.
15665         Don't ignore errors when dumping xemacs.
15666
15667         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15668
15669 2000-01-28  Andy Piper  <andy@xemacs.org>
15670
15671         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15672         (setup_normal_frame): ditto.
15673         (setup_frame_without_minibuffer): ditto.
15674         (setup_minibuffer_frame): ditto.
15675         (delete_frame_internal): ditto.
15676         (Fmake_frame_invisible): ditto.
15677         (Ficonify_frame): ditto.
15678
15679         * window.h: change Fset_window_buffer signature.
15680
15681         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15682         (Fset_window_buffer): allow recording of buffer if the window is
15683         the selected window.
15684         (window_loop): Use new Fset_window signature.
15685
15686 2000-01-23  Daniel Pittman  <daniel@danann.net>
15687
15688         * config.h.in: Added template for `HAVE_ATHENA_3D'
15689
15690 2000-01-29  Andy Piper  <andy@xemacs.org>
15691
15692         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15693
15694         * gutter.c (output_gutter): Don't output if the window isn't live.
15695
15696 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15697
15698         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15699         of 01/12/00: Moved SetFocus back here where it belongs.
15700
15701 2000-01-23  Andy Piper  <andy@xemacs.org>
15702
15703         * s/cygwin32.h: declare printer things.
15704
15705 2000-01-26  Andy Piper  <andy@xemacs.org>
15706
15707         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15708         Alexander.
15709
15710 2000-01-24  Andy Piper  <andy@xemacs.org>
15711
15712         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15713         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15714
15715         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15716
15717         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15718
15719         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15720
15721         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15722         (mswindows_output_display_block): Avoid local shadows.
15723
15724         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15725         (mswindows_enqueue_mouse_button_event): ditto.
15726         (mswindows_handle_gui_wm_command): remove declaration.
15727
15728         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15729         warnings.
15730
15731         * console-msw.h: Avoid shadows.
15732         (mswindows_get_toolbar_button_text):
15733         (emacs_mswindows_create_stream_pair):
15734         (emacs_mswindows_delete_stream_pair):
15735         (mswindows_handle_toolbar_wm_command): declare.
15736
15737         * device-msw.c (build_syscolor_string): Avoid shadows.
15738
15739 2000-01-23  Andy Piper  <andy@xemacs.org>
15740
15741         * glyphs-widget.c (widget_instantiate): reverse the items for
15742         layouts so that children are in the expected order.
15743
15744 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15745
15746         * ralloc.c: safe_bcopy ==> memmove
15747         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15748         * s/msdos.h: Remove BCOPY macros.
15749         * insdel.c (gap_right): Remove BCOPY conditional code.
15750         * insdel.c (gap_left): Remove BCOPY conditional code.
15751         XEmacs demands a working ANSI C compiler - hence memmove.
15752
15753         * regex.c (regex_compile): Remove accidental use of trigraphs.
15754
15755 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15756
15757         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15758         event timestamp.
15759
15760 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15761
15762         * event-msw.c (mswindows_drain_windows_queue): Added the
15763         parameter.
15764         (mswindows_need_event): Commented the call to
15765         mswindows_drain_windows_queue().
15766         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15767         only.
15768
15769         * console-msw.h: Moved a few function prototypes here from
15770         event-msw.c.
15771
15772         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15773         parameter from unsigned short to unsigned long.
15774         (Fmswindows_shell_execute): Added return value.
15775
15776 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15777
15778         * sysdep.c (init_system_name):
15779           process-unix.c (unix_canonicalized_host_name):
15780         Don't call freeaddrinfo() if getaddrinfo() fails.
15781
15782         * process-unix.c (unix_open_unix_network_stream):
15783         Moved the code to get a port # into address loop.
15784
15785 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15786
15787         * buffer.c (reinit_vars_of_buffer):
15788         The right place to initialize conversion_in_dynarr and
15789         conversion_out_dynarr.
15790
15791         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15792
15793         * process-unix.c (unix_canonicalize_host_name): Muleize.
15794         (unix_open_network_stream): Muleize.
15795
15796         * buffer.h: Fix up prototypes for ralloc.c functions.
15797
15798 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15799         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15800         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15801                 instead of gethostbyname()
15802         * process-unix.c: In unix_canonicalize_host_name() and
15803                 unix_open_network_stream(), add code to use getaddrinfo()
15804                 instead of gethostbyname().
15805
15806 2000-01-27  Daniel Pittman <daniel@danann.net>
15807
15808         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15809         libs when built with flat Athena.
15810
15811 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15812
15813         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15814         Use coding standards for function prototypes.
15815
15816 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15817
15818         * dialog-msw.c (push_lisp_string_as_unicode):
15819         * doc.c (unparesseuxify_doc_string):
15820         * dired.c (Fuser_name_completion_1):
15821         * dired.c (Fuser_name_all_completions):
15822         * dired.c (free_user_cache):
15823         * dired.c (user_name_completion):
15824         * console-x.c (get_display_arg_connection):
15825         * minibuf.c (clear_echo_area_internal):
15826         * minibuf.c (echo_area_append):
15827         * eldap.c (Fldap_open):
15828         * eldap.c (Fldap_search_internal):
15829         * frame-x.c (x_set_frame_text_value):
15830         * frame-x.c (x_set_frame_properties):
15831         * frame-x.c (x_create_widgets):
15832         * redisplay-tty.c (term_get_fkeys_1):
15833         * objects-x.c (x_parse_nearest_color):
15834         * objects-x.c (x_valid_color_name_p):
15835         * objects-x.c (x_initialize_font_instance):
15836         * objects-x.c (x_list_fonts):
15837         * objects-x.c (x_find_charset_font):
15838         * tooltalk.c (Fadd_tooltalk_message_arg):
15839         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15840         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15841         * process-unix.c (unix_create_process):
15842         * ntproc.c (sys_spawnve):
15843         * sound.c (Fplay_sound_file):
15844         * sound.c (Fplay_sound):
15845         * buffer.c (init_initial_directory):
15846         * buffer.c (init_buffer):
15847         * editfns.c (init_editfns):
15848         * editfns.c (Ftemp_directory):
15849         * editfns.c (Fuser_full_name):
15850         * editfns.c (uncache_home_directory):
15851         * editfns.c (get_home_directory):
15852         * editfns.c (Fuser_home_directory):
15853         * editfns.c (Fformat_time_string):
15854         * editfns.c (Fcurrent_time_string):
15855         * gui-x.c (button_item_to_widget_value):
15856         * database.c (Fopen_database):
15857         * event-Xt.c (x_to_emacs_keysym):
15858         * event-Xt.c (x_event_to_emacs_event):
15859         * event-Xt.c (describe_event_window):
15860         * event-msw.c (mswindows_wnd_proc):
15861         * glyphs-eimage.c (jpeg_instantiate):
15862         * glyphs-eimage.c (gif_instantiate):
15863         * glyphs-eimage.c (png_instantiate):
15864         * glyphs-eimage.c (tiff_instantiate):
15865         * glyphs-x.c (xbm_instantiate_1):
15866         * glyphs-x.c (x_xbm_instantiate):
15867         * glyphs-x.c (x_xface_instantiate):
15868         * glyphs-x.c (autodetect_instantiate):
15869         * glyphs-x.c (cursor_font_instantiate):
15870         * glyphs-x.c (x_widget_instantiate):
15871         * glyphs-x.c (x_widget_set_property):
15872         * glyphs-x.c (x_widget_property):
15873         * glyphs-x.c (BUILD_GLYPH_INST):
15874         * print.c (write_string_to_stdio_stream):
15875         * print.c (output_string):
15876         * print.c (Falternate_debugging_output):
15877         * print.c (Fexternal_debugging_output):
15878         * glyphs-msw.c (extract_xpm_color_names):
15879         * glyphs-msw.c (mswindows_xpm_instantiate):
15880         * glyphs-msw.c (bmp_instantiate):
15881         * glyphs-msw.c (resource_name_to_resource):
15882         * glyphs-msw.c (mswindows_resource_instantiate):
15883         * glyphs-msw.c (xbm_instantiate_1):
15884         * glyphs-msw.c (mswindows_xbm_instantiate):
15885         * glyphs-msw.c (mswindows_xface_instantiate):
15886         * glyphs-msw.c (mswindows_widget_instantiate):
15887         * glyphs-msw.c (add_tree_item):
15888         * glyphs-msw.c (add_tab_item):
15889         * glyphs-msw.c (mswindows_combo_box_instantiate):
15890         * glyphs-msw.c (mswindows_widget_property):
15891         * glyphs-msw.c (mswindows_combo_box_property):
15892         * glyphs-msw.c (mswindows_widget_set_property):
15893         * console.c (stuff_buffered_input):
15894         * objects-msw.c (mswindows_initialize_color_instance):
15895         * objects-msw.c (mswindows_valid_color_name_p):
15896         * objects-msw.c (mswindows_list_fonts):
15897         * objects-msw.c (mswindows_font_instance_truename):
15898         * bytecode.c (optimize_compiled_function):
15899         * select-x.c (symbol_to_x_atom):
15900         * select-x.c (x_atom_to_symbol):
15901         * select-x.c (hack_motif_clipboard_selection):
15902         * select-x.c (selection_data_to_lisp_data):
15903         * select-x.c (lisp_data_to_selection_data):
15904         * select-x.c (Fx_get_cutbuffer_internal):
15905         * select-x.c (Fx_store_cutbuffer_internal):
15906         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15907         * buffer.h (TO_INTERNAL_FORMAT): New function.
15908         * emacs.c (make_arg_list_1):
15909         * emacs.c (make_argc_argv):
15910         * emacs.c (main_1):
15911         * emacs.c (Fdump_emacs):
15912         * emacs.c (split_string_by_emchar_1):
15913         * file-coding.h:
15914         * lisp.h:
15915         * lstream.h:
15916         * symsinit.h:
15917         * device-x.c (x_init_device):
15918         * device-x.c (Fx_valid_keysym_name_p):
15919         * device-x.c (Fx_get_font_path):
15920         * device-x.c (Fx_set_font_path):
15921         * glyphs.c (bitmap_to_lisp_data):
15922         * glyphs.c (pixmap_to_lisp_data):
15923         * alloc.c (make_ext_string): Use coding system arguments.  Update
15924         all callers.
15925         * alloc.c (build_string):
15926         * callproc.c (child_setup):
15927         * callproc.c (init_callproc):
15928         * fileio.c (lisp_strerror):
15929         * fileio.c (directory_file_name):
15930         * fileio.c (Fexpand_file_name):
15931         * fileio.c (Ffile_truename):
15932         * fileio.c (Fsysnetunam):
15933         * fileio.c (Fdo_auto_save):
15934         * sysdep.c (sys_readdir):
15935         * tests.c: New file.  Allow adding C tests.
15936         Replace GET_* macros with a more comprehensible and flexible
15937         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15938         Modify all calls.
15939         Any coding system can be used to do format conversion.
15940         Eliminate enum external_data_format.
15941         Eliminate convert_to_external_format.
15942         Eliminate convert_to_internal_format.
15943         Make sure file-name, keyboard, terminal, and ctext are always
15944         defined as coding systems or aliases.  Make
15945         file-name-coding-system, terminal-coding-system, and
15946         keyboard-coding-system magical variables that are equivalent to
15947         defining the corresponding coding system aliases.
15948
15949         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15950         * file-coding.c (Fcoding_system_alias_p): New function.
15951         * file-coding.c (Fcoding_system_aliasee): New function.
15952         * file-coding.c (append_suffix_to_symbol): New function.
15953         * file-coding.c (dangling_coding_system_alias_p): New function.
15954         * file-coding.c (Ffind_coding_system):
15955         * file-coding.c (Fcopy_coding_system):
15956         * file-coding.c (encode_coding_no_conversion):
15957         * file-coding.c (syms_of_file_coding):
15958         * file-coding.c (vars_of_file_coding):
15959         Rewrite coding system alias code.
15960         Allow nested aliases, like symbolic links.
15961         Allow redefinition of coding system aliases.
15962         Prevent existence of dangling coding system aliases.
15963
15964         * dired.c (Fuser_name_completion_1):
15965         * dired.c (Fuser_name_all_completions):
15966         A crash would happen if user did QUIT in the middle of building
15967         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15968
15969         * lisp.h:
15970         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15971
15972         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15973         an unsigned char *.  Update all callers.
15974
15975 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15976
15977         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15978
15979 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15980
15981         * elhash.c (hentry_description): Use more portable definition.
15982         (resize_hash_table): Initialize new hentries using
15983         xnew_array_and_zero, thereby simplifying the code.
15984
15985         * mule-charset.c (make_charset): Make sure entire object is
15986         initialized, to avoid Purify warnings.
15987
15988         * alloc.c (resize_string): Fix unlikely crash with big strings.
15989
15990 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15991
15992         * realpath.c (xrealpath):
15993         Don't call getwd().
15994
15995 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15996
15997         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15998
15999 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
16000
16001         * unexelfsgi.c (unexec): Change the way we decide which segment
16002         should be extended.
16003
16004         Assumption that .bss section should be outside the PT_LOADable
16005         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
16006         it's present) is inside the 'data' segment. This would fail the
16007         test which was used to find a segment to grow and cover new
16008         heap. Instead of this assumption, I created another one - on IRIX
16009         the segment to grow should start below .bss and it's address
16010         should extent above the end of .bss. Once this segment is
16011         identified, it's grown to accommodate the new heap and new
16012         zero-length .bss section is added at the end of .data2.
16013
16014 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16015
16016         * eval.c (Feval): Wrong number of arguments should use original
16017         function, not the indirect_function version of it.
16018
16019 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
16020
16021         * glyphs-x.c (x_button_instantiate): Don't add image if
16022         it is not a pixmap.
16023         (x_locate_pixmap_file): Call Fexpand_file_name when file name
16024         is relative.
16025
16026 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
16027
16028         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
16029         declaration.
16030         (DEFVAR_INT_MAGIC): Ditto.
16031         (DEFVAR_BOOL_MAGIC): Ditto.
16032         * glyphs.h: Reindent backslash.
16033
16034 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16035
16036         * glyphs-widget.c (layout_query_geometry):
16037         (layout_layout): Use correct types for gheight, gwidth.
16038
16039 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16040
16041         * EmacsManager.c (QueryGeometry): Purified.
16042
16043 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16044
16045         * alloc.c (make_float): Make sure entire object is initialized, to
16046         avoid Purify warnings.
16047         (pdump_register_sub): Remove useless assignment.
16048         (pdump): Use xmalloc, not malloc.
16049         (pdump_load): Use xmalloc, not malloc.
16050
16051 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16052
16053         * callproc.c:
16054         * dired-msw.c:
16055         * fileio.c:
16056         * process-nt.c:
16057         * redisplay-msw.c:
16058         * sysdep.c: Removed redundant #include <windows.h>
16059
16060 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16061
16062         * frame.c (delete_frame_internal): Do not delete device when its
16063         implementation so declares.
16064         (delete_frame_internal): Set device selected frame to nil when
16065         last frame goes away.
16066
16067         * device-msw.c (msprinter_device_system_metrics): Implemented.
16068         (mswindows_device_system_metrics): Added 'device-dpi property.
16069
16070         * device.c: (Fdevice_printer_p): Added.
16071         Added 'offset-workspace device metric.
16072
16073         * console.h (device_metrics): Declared DM_offset_workspace.
16074
16075 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16076
16077         * fileio.c (Ffile_truename): Remove pointless and confusing
16078         initialization of elen.
16079
16080         * glyphs-widget.c: Compiler warning fixes.
16081
16082 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
16083
16084         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
16085         instead of a Lisp_Object as argument to make it consistent with
16086         the other LIVE_P macros.
16087         (CHECK_LIVE_PROCESS): New macro.
16088
16089         * process.c: Declare Qprocess_live_p.
16090         (Fprocess_live_p): New function.
16091         (create_process): Use PROCESS_LIVE_P.
16092         (read_process_output): Ditto.
16093         (set_process_filter): Ditto.
16094         (Fdelete_process): Ditto.
16095         (kill_buffer_processes): Ditto
16096         (process_send_signal): Use CHECK_LIVE_PROCESS.
16097         (Fprocess_input_coding_system): Check whether process is still
16098         alive (fix PR#1061).
16099         (Fprocess_output_coding_system): Ditto.
16100         (Fprocess_coding_system): Ditto.
16101         (Fset_process_input_coding_system): Ditto.
16102         (Fset_process_output_coding_system): Ditto.
16103
16104 2000-01-23  Andy Piper  <andy@xemacs.org>
16105
16106         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
16107         layout and widget.
16108
16109         * glyphs.c (mark_image_instance): take into account changed
16110         image_instance format.
16111         (image_instance_equal): ditto.
16112         (image_instance_hash): ditto.
16113
16114         * glyphs-widget.c (widget_instantiate): Incorporate layout
16115         instantiation here. Delay layout of the layout until later.
16116         (layout_instantiate): deleted.
16117         (layout_query_geometry): new function. get the geometry of a
16118         layout.
16119         (layout_layout): layout a layout dynamically.
16120         (image_instantiator_widget): New function - splitting up
16121         image_instantiator_format_create_glyphs_widget for netwinder
16122         compilation.
16123         (image_instantiator_buttons):
16124         (image_instantiator_edit_fields):
16125         (image_instantiator_combo_box):
16126         (image_instantiator_scrollbar):
16127         (image_instantiator_progress_guage):
16128         (image_instantiator_tree_view):
16129         (image_instantiator_tab_control):
16130         (image_instantiator_labels):
16131         (image_instantiator_layout): ditto.
16132         (image_instantiator_format_create_glyphs_widget): Call preceding
16133         functions.
16134
16135 2000-01-22  Martin Buchholz  <martin@xemacs.org>
16136
16137         * process.c (Fset_process_coding_system):
16138         * device-x.c (Fx_keysym_hash_table):
16139         Docstring fixes.
16140
16141         * lstream.c (Lstream_write): Return documented value, not 0.
16142
16143         * fileio.c (directory_file_name):
16144         (Fsubstitute_in_file_name):
16145         (Fsubstitute_insert_file_contents_internal):
16146         (Fwrite_region_internal):
16147         * emacs.c:
16148         * sysdep.c:
16149         * getloadavg.c:
16150         * systty.h:
16151         Remove vestigial APOLLO-conditional code.
16152
16153 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16154
16155         * getpagesize.h: Add guard macros.
16156         * libsst.h: Add guard macros.
16157         * libst.h: Add guard macros.
16158         * line-number.h: Add guard macros.
16159         * ndir.h: Add guard macros.
16160         * sysfloat.h: Add guard macros.
16161         * sysfile.h: Add guard macros.
16162         * sysproc.h: Add guard macros.
16163         * syswait.h: Add guard macros.
16164         * xintrinsic.h: Add guard macros.
16165         * xintrinsicp.h: Add guard macros.
16166         * xmmanager.h: Add guard macros.
16167         * xmmanagerp.h: Add guard macros.
16168         * xmprimitive.h: Add guard macros.
16169         * xmu.h: Add guard macros.
16170         * gpmevent.h: Add copyright statement. Add guard macros.
16171         * miscplay.h: Add guard macros.
16172         * *.h: Use consistent C-standards-approved guard macro names.
16173
16174         * opaque.c (make_opaque): Switch parameter order.
16175         * opaque.h (make_opaque): Switch parameter order.
16176         Update all callers.
16177         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
16178
16179         * config.h.in (type_checking_assert): Added.
16180         (bufpos_checking_assert): Added.
16181
16182 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16183
16184         * alloc.c: Harmless pdump changes.
16185         - Use countof().
16186         - spell alignment correctly.
16187         * sysdep.c: Use countof()
16188
16189 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16190
16191         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
16192         initially_selected_for_input() console method, default to 0.
16193         (semi_canonicalize_console_connection): Try to delegate to
16194         canonicalize_console_connection if no such console method.
16195         (canonicalize_console_connection): Vice versa.
16196         (print_console): Do not print nil connection.
16197
16198         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
16199         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
16200         (XDEVIMPF_FRAMELESS_OK): Added.
16201         (CONSOLE_INHERITS_METHOD): Added.
16202
16203         * console-msw.c (mswindows_canonicalize_console_connection):
16204         Added.
16205         (mswindows_canonicalize_device_connection): Added.
16206
16207         * console-msw.h (struct msprinter_device): Added this struct and
16208         accessor macros.
16209         (mswindows_device): Made fontlist a lisp object.
16210
16211         * device.c (semi_canonicalize_device_connection):  Try to delegate
16212         to canonicalize_device_connection if no such console method.
16213         (canonicalize_device_connection): Vice versa.
16214         (print_device): Do not print nil connection.
16215
16216         * device-msw.c (mswindows_init_device): Call InitCommonControls
16217         when have widgets.
16218         (mswindows_delete_device): Removed fontlist deallocation.
16219         (mswindows_mark_device): Added.
16220
16221         * events.c (event_equal): Added abort() at unreached code.
16222         (event_hash): Ditto.
16223
16224         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
16225         fallback tags of Windows devices.
16226
16227         * general.c (syms_of_general): Initialized Qmsprinter.
16228
16229         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16230         of fallback tags of Windows devices.
16231
16232         * lisp.h: Declared Qmsprinter.
16233
16234         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16235         of strings.
16236         (mswindows_list_fonts): Ditto.
16237         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16238         that it can be used by both mswindows and msprinter devices.
16239         (initialize_font_instance): Added.
16240         (mswindows_initialize_font_instance): Use it.
16241         (msprinter_initialize_font_instance): Added.
16242
16243         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16244         and implementation flags check.
16245         (redisplay_without_hooks): Changed the call to the above.
16246         (Fredraw_device): Ditto.
16247         (Fredisplay_device): Ditto.
16248
16249         * redisplay-msw.c (get_frame_dc): Implemented.
16250         (get_frame_compdc): Implemented.
16251         (many functions): Use the two functions above to get device
16252         contexts, ether for a window or a printer.
16253
16254 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16255
16256         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16257         initialization here.
16258         (init_symbols_once_early): Call it.
16259         * emacs.c (main_1): Call it.
16260         * symsinit.h: Declare it.
16261
16262 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16263
16264         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16265         Lisp_Object.
16266         (pdump_backtrace): Ditto.
16267         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16268         (pdump_get_entry): Abort if trying to register a null pointer.
16269         (pdump_dump_data): Cleanup types when relocating.
16270         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16271         (pdump_dump_rtables): Remove bad casts.
16272         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16273         Lisp_Object instead of a EMACS_INT for the hashtable
16274         reorganization.
16275
16276 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16277
16278         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16279
16280         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16281
16282         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16283
16284         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16285
16286 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16287
16288         * faces.h (FACE_STRIKETHRU_P): Added.
16289
16290         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16291         of font variants.
16292
16293         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16294         (mswindows_set_dc_font): New function, aware of font variants,
16295         separated from mswindows_update_dc.
16296
16297         * objects-msw.h (struct mswindows_font_instance_data): Added
16298         definition.
16299
16300         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16301         cached fonts and the data structure.
16302         (mswindows_initialize_font_instance): Added creation of font data
16303         structure.
16304         (mswindows_print_font_instance): Print at least something.
16305         (mswindows_create_font_variant): Implemented.
16306         (mswindows_get_hfont): Implemented.
16307
16308 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16309
16310         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16311         prototyping problem with msvc.
16312
16313         * emacs.c (main_1): added syms_of_gui_mswindows() call
16314
16315         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16316         syms_of_gui_mswindows() function
16317
16318         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16319
16320 2000-01-18  Martin Buchholz <martin@xemacs.org>
16321
16322         * XEmacs 21.2.27 is released.
16323
16324 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16325
16326         * glyphs-eimage.c (struct tiff_error_struct):
16327         (tiff_error_func):
16328         (tiff_warning_func):
16329         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16330
16331         * unexmips.c:
16332         * unexhp9k3.c:
16333         * unexfreebsd.c:
16334         * unexec.c: Remove vestigial Lucid C code.
16335         * unexalpha.c:
16336         * unexaix.c:
16337         * termcap.c:
16338         * libsst.c: Ansify.
16339         Remove declarations of errno and strerror().
16340
16341         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16342
16343         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16344
16345 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16346
16347         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16348         Optimize.
16349
16350 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16351
16352         * md5.c:
16353         * file-coding.c:
16354         * file-coding.h:
16355         Change enum eol_type to eol_type_t.
16356
16357 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16358
16359         * gui.c (get_gui_callback): Check cons before accessing car.
16360
16361 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16362
16363         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16364         (XSETSPECIFIER_TYPE): Ditto.
16365
16366 2000-01-17  Didier Verna  <didier@xemacs.org>
16367
16368         * redisplay.c (generate_fstring_runes): compute string size in
16369         characters, not bytes.
16370
16371 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16372
16373         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16374
16375 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16376
16377         * print.c (print_error_message): Call print_prepare().
16378
16379 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16380
16381         * .dbxrc: Renamed from dbxrc.
16382
16383         * events.c (event_to_character):
16384         Use `assert (foo)' instead of `if (!foo) abort()'
16385
16386         * .gdbinit (xtype): Add documentation.
16387         * .gdbinit (check-temacs): New function.
16388         * .gdbinit (check-xemacs): New function.
16389         * dbxrc (check-xemacs): New function.
16390         * dbxrc (check-xemacs): New function.
16391
16392 2000-01-14  Andy Piper  <andy@xemacs.org>
16393
16394         * glyphs-widget.c (widget_query_geometry): Make sure that we
16395         calculate default dimensions correctly.
16396
16397 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16398
16399         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16400
16401         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16402         pdump_wire'd variable.
16403
16404         * emacs.c: (main_1): Conditionalized calls to
16405         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16406
16407 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16408
16409         * window.c (Fset_window_configuration):
16410         * sysdep.c (_start):
16411         * input-method-motif.c (res):
16412         * event-Xt.c (Xt_process_to_emacs_event):
16413         Simple compiler warning fixes.
16414
16415         * bytecode.c (funcall_compiled_function): Use the original
16416         function symbol on the backtrace list in preference to the
16417         compiled_function object in error messages.
16418
16419 2000-01-13  Andy Piper  <andy@xemacs.org>
16420
16421         * glyphs-x.c (update_widget_face): Make sure we update the widget
16422         background as well as foreground.
16423
16424 2000-01-13  Andy Piper  <andy@xemacs.org>
16425
16426         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16427         fields to subwindow.
16428         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16429         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16430         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16431         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16432
16433         * glyphs-widget.c (check_valid_tab_orientation): new function.
16434         (initialize_widget_image_instance): zero orientation and
16435         justification.
16436         (widget_instantiate): pick up orientation.
16437         (tab_control_query_geometry): return appropriate values for
16438         vertical tabs.
16439
16440         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16441         appropriate creation flags for left, right and bottom tabs.
16442
16443         * s/cygwin32.h: add tab definitions.
16444
16445 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16446
16447         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16448         frame upon hiding a subwindow.
16449         (mswindows_button_instantiate): Changed the push button style to
16450         BS_PUSHBUTTON.
16451         (mswindows_button_instantiate): Removed button BS_NOTIFY
16452         style.
16453         (mswindows_button_instantiate): Removed redundant check for
16454         a disabled gui item.
16455         (mswindows_button_instantiate): Made use of WS_TABSTOP
16456         consistent: "operable" controls (edit, button, tree, scroll) have
16457         this style, "display-only" ones (static, progress gauge) do
16458         not. This style is currently ignored by XEmacs though. Also,
16459         removed the WS_EX_CONTROLPARENT style - it is not for children,
16460         it is for their parents!
16461         (mswindows_edit_field_instantiate): Ditto.
16462         (mswindows_progress_gauge_instantiate): Ditto.
16463         (mswindows_tree_view_instantiate): Ditto.
16464         (mswindows_tab_control_instantiate): Ditto.
16465         (mswindows_scrollbar_instantiate): Ditto.
16466         (mswindows_combo_box_instantiate): Ditto.
16467         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16468         style to the "clip" window.
16469         (mswindows_button_instantiate): Removed compilation warning by
16470         equally typing terms of the ?: operator.
16471
16472 2000-01-12  Didier Verna  <didier@xemacs.org>
16473
16474         * redisplay.c (generate_fstring_runes): new parameter holding the
16475         last modeline-format extent.
16476         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16477         extent, fill the glyph block with it.
16478         (generate_fstring_runes): handle these parameters.
16479         (generate_formatted_string_db): ditto.
16480
16481         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16482         glyphs'extents in the modeline.
16483
16484 1999-01-11  Mike Woolley  <mike@bulsara.com>
16485
16486         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16487         256Mb, as a workaround for the non-starting problem many people
16488         have experienced.
16489
16490 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16491
16492         * console-tty.c (Fset_console_tty_output_coding_system):
16493         Force redrawing tty frame.
16494
16495 2000-01-10  Didier Verna  <didier@xemacs.org>
16496
16497         * redisplay.c (generate_fstring_runes): fix size computation bug.
16498
16499 2000-01-09  William M. Perry <wmperry@aventail.com>
16500
16501         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16502
16503 2000-01-09  Andy Piper  <andy@xemacs.org>
16504
16505         * glyphs-msw.c: index -> i to avoid shadows.
16506         (xbm_create_bitmap_from_data): make static.
16507         (check_valid_string_or_int): deleted.
16508         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16509
16510         * glyphs-x.c (x_update_subwindow): remove unused args.
16511
16512         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16513         back pointer - this is done in allocate_image_instance.
16514         (query_string_font): return Qnil to make the compiler happy.
16515         (unmap_subwindow): set to ~0 to make the compiler happy.
16516         (glyph_query_geometry): comment out until used.
16517         (glyph_layout): ditto.
16518
16519 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16520
16521         * insdel.c (signal_after_change): Remove extraneous unbind_to().