update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Fsave_char_attribute_table): Don't use
4         `save_charset_properties'.
5
6         * mule-charset.c (Fsave_charset_properties): Renamed from
7         `save_charset_properties' and changed to Lisp function again;
8         write property `type' as `CCS'; write properties `final-byte' and
9         `mother' if they exists.
10         (syms_of_mule_charset): Revive builtin function
11         `save-charset-properties' when HAVE_LIBCHISE is defined.
12
13 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
16         instead of Vexec_directory.
17         (char_attribute_system_db_file): Likewise.
18
19 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
20
21         * chartab.c (Fsave_char_attribute_table): Use
22         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
23         defined.
24
25         * mule-charset.c (save_charset_properties): Renamed from
26         `Fsave_charset_properties'; changed to non-Lisp function.
27         (syms_of_mule_charset): Abolish builtin function
28         `save-charset-properties'.
29
30 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
31
32         * mule-charset.c (Fsave_charset_properties): New function when
33         HAVE_LIBCHISE is defined.
34         (syms_of_mule_charset): Add new builtin function
35         `save-charset-properties' when HAVE_LIBCHISE is defined.
36
37 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
38
39         * chartab.c (Fput_char_attribute): Convert char-specs in value of
40         `{<-|->}ancient[^*]*' to characters and put reverse links.
41         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
42         for `{<-|->}ancient[^*]*'.
43
44 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
45
46         * chartab.c (Fput_char_attribute): Convert char-specs in value of
47         `{<-|->}original[^*]*' to characters and put reverse links.
48         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
49         for `{<-|->}original[^*]*'.
50
51 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
54
55 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
56
57         * mule-charset.c (Qsystem_char_id): New variable.
58
59         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
60         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
61
62 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
63
64         * chartab.c (Fput_char_attribute): When processing a reference of
65         a character, put into the end of the reversed reference of each
66         target character.
67
68 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
69
70         * chartab.c (Q_same): Deleted.
71         (Q_same_of): Deleted.
72         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
73         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
74         for `{<-|->}same'.
75         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
76
77 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
78
79         * chartab.c (Q_vulgar): Deleted.
80         (Q_vulgar_of): Deleted.
81         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
82         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
83         for `{<-|->}vulgar'.
84         (syms_of_chartab): Don't define `{<-|->}vulgar'.
85
86 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
87
88         * chartab.c (Fput_char_attribute): Convert char-specs in value of
89         `{<-|->}wrong[^*]*' to characters and put reverse links.
90         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
91         for `{<-|->}wrong[^*]*'.
92
93 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
94
95         * chartab.c (Q_vulgar): New variable.
96         (Q_vulgar_of): New variable.
97         (Fput_char_attribute): Convert char-specs in value of
98         `{->|<-}vulgar' to characters and put reverse links.
99         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
100         for `{->|<-}vulgar'.
101         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
102
103 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
104
105         * text-coding.c (decode_add_er_char): Must to quote prefix string
106         as regexp.
107
108 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
109
110         * mule-charset.c (put_char_ccs_code_point): Store characters of
111         =ucs whose code_points >= 0xF0000.
112
113 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
114
115         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
116         CHISE.
117         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
118         CHISE.
119         (complex_vars_of_mule_charset): Add new coded-charset
120         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
121         builtin characters over 0xEFFFF.
122
123         * chartab.c (syms_of_chartab): Don't define symbol
124         `system-char-id' in every case.
125
126         * char-ucs.h (Qsystem_char_id): New extern variable.
127         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
128
129 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
130
131         * text-coding.c (char_encode_utf8): Try to use entity-references
132         for U-000F0000 ...  U-0010FFFF.
133
134 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
135
136         * text-coding.c (ER_BUF_SIZE): New macro.
137         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
138         `er_buf'.
139         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
140         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
141
142 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
143
144         * chartab.c (find_char_feature_in_family): New function.
145         (Fchar_feature): Use `find_char_feature_in_family' with
146         `->identical', `<-subsumptive' and `<-denotational'.
147
148 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
149
150         * text-coding.c (char_encode_as_entity_reference): Allow prefix
151         within 8 characters; fix infinite loop.
152
153 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
154
155         * chartab.c (Q_same): New variable.
156         (Q_same_of): New variable.
157         (Fput_char_attribute): Convert char-specs in value of
158         `{->|<-}same' to characters and put reverse links.
159         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
160         for `{->|<-}same'.
161         (syms_of_chartab): Add new symbols `{->|<-}same'.
162
163 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
164
165         * chartab.c (Q_component): New variable.
166         (Q_component_of): Likewise.
167         (Fput_char_attribute): Convert char-specs in value of
168         `{->|<-}ideographic-component-forms' to characters and put reverse
169         links.
170         (syms_of_chartab): Add new symbols
171         `{->|<-}ideographic-component-forms'.
172
173 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
174
175         * chartab.c (Q_identical): New variable.
176         (Q_identical_from): New variable.
177         (Fchar_feature): Regard `->identical' as a feature to find
178         ancestors.
179         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
180         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
181         for `{->|<-}identical'.
182         (syms_of_chartab): Add new symbols `{->|<-}identical'.
183
184 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
185
186         * char-ucs.h (encode_char_2): New inline function.
187         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
188
189 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
190
191         * chartab.c (Fput_char_attribute): Convert char-specs to
192         characters in value of `ideographic-structure'.
193         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
194         for `{<-|->}simplified(@...)'.
195         (Fdefine_char): bTry to use predefined character's id.
196
197 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
198
199         * fns.c (simplify_char_spec): Try to convert builtin chars to
200         defined chars.
201
202 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
203
204         * chartab.c (Fput_char_attribute): Convert char-specs in value of
205         `<-simplified[^*]*' to characters and put reverse links.
206
207 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
208
209         * chartab.c (Q_subsumptive): Renamed from Q_unified.
210         (Q_subsumptive_from): Renamed from Q_unified_from.
211         (Fchar_feature): Use `Q_subsumptive_from' instead of
212         `Q_unified_from'.
213         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
214         `Q_unified'.
215         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
216         `<-unified' to `<-subsumptive'.
217
218 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
219
220         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
221         inheritance itself; fix typo; stop recursive search if cyclic
222         inheritance is found.
223
224 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
225
226         * chartab.c (Q_denotational): New variable.
227         (Q_denotational_from): New variable.
228         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
229         (put_char_attribute): New function.
230         (Fput_char_attribute): Use `put_char_attribute'; regard
231         `->denotational' and `<-denotational' as same as `->unified' and
232         `<-unified'.
233         (syms_of_chartab): Add new symbols `->denotational' and
234         `<-denotational'.
235
236 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
237
238         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
239         `Fget_char_attribute'.
240         (Fchar_variants): Likewise.
241         (get_char_table): Likewise.
242         (Fchar_feature): New function.
243         (put_char_composition): Use `Fchar_feature' instead of
244         `Fget_char_attribute'.
245         (Fput_char_attribute): Likewise; don't put the target character
246         into its `->unified' value.
247         (syms_of_chartab): Add new builtin function `char-feature'.
248
249 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
250
251         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
252         `Fget_char_attribute'.
253         (char_encode_utf8): Likewise.
254
255         * chartab.h: Add an EXFUN for `Fchar_feature'.
256
257 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
258
259         * chartab.c (Vnext_defined_char_id): New variable.
260         (Fput_char_attribute): Accept characters in `->unified'.
261         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
262         new characters which are not related with builtin char-id ranges.
263         (vars_of_chartab): Add new variable `next-defined-char-id'.
264
265 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
266
267         * chartab.c (Q_unified): New variable.
268         (Q_unified_from): New variable.
269         (Fput_char_attribute): Add code for `->unified'.
270         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
271         XEmacs CHISE.
272
273 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
274
275         * mule-charset.c (decode_ccs_conversion): New function.
276         (decode_defined_char): Use `decode_ccs_conversion'.
277         (decode_builtin_char): Likewise.
278
279 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
280
281         * char-ucs.h: Change some charset-ids of private coded-charsets.
282
283 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
284
285         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
286         (char_encode_as_entity_reference): Likewise.
287         (decode_coding_big5): Modify for `decode_defined_char' and
288         `DECODE_CHAR'.
289         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
290         avoid compiler warning.
291         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
292
293         * mule-charset.c (decode_defined_char): Add new argument
294         `without_inheritance'.
295         (Fdecode_char): Add new optional argument `without_inheritance'.
296         (Fdecode_builtin_char): Modify for `Fdecode_char'.
297
298         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
299         (simplify_char_spec): Likewise.
300
301         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
302         setting.
303
304         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
305         (map_char_table): Likewise.
306         (Fdefine_char): Use `Fdecode_char' without inheritance.
307         (Ffind_char): Modify for `Fdecode_char'.
308
309         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
310
311         * char-ucs.h (decode_defined_char): Add new argument
312         `without_inheritance'.
313         (DECODE_CHAR): Likewise.
314         (MAKE_CHAR): Modify for `DECODE_CHAR'.
315
316 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
317
318         * chartab.c (Vchise_system_db_directory): New variable.
319         (vars_of_chartab): Add new variable `chise-system-db-directory'.
320
321 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
322
323         * chartab.c: EXFUN `Fmount_char_attribute_table'.
324         (print_chartab_range): Don't define when `UTF2000' is defined.
325         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
326         `CHISE_DS_open'.
327
328 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
329
330         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
331         and optional argument `rehash' is specified, call
332         `open_chise_data_source_maybe' before
333         `chise_ds_foreach_char_feature_name' is called.
334
335 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
336
337         * chartab.c (char_attribute_list_reset_map_func): New function
338         when HAVE_LIBCHISE is defined.
339         (Fchar_attribute_list): Add new optional argument `rehash' when
340         HAVE_LIBCHISE is defined.
341         (open_chise_data_source_maybe): Use "chise-db" instead of
342         "char-db".
343         (char_attribute_system_db_file): Likewise.
344         (Fload_char_attribute_table): Use
345         `chise_feature_foreach_char_with_value' instead of
346         `chise_char_feature_value_iterate'.
347
348 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
349
350         * chartab.c (Vchise_db_directory): New variable.
351         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
352
353 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
354
355         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
356         instead of HAVE_CHISE to specify using with libchise.
357
358         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
359
360         * chartab.h: Don't use HAVE_CHISE_CLIENT.
361
362         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
363         defined or HAVE_LIBCHISE_LIBCHISE is defined.
364         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
365         is defined.
366         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
367         HAVE_CHISE to specify using with libchise.
368         (syms_of_chartab): Don't define symbol `system-char-id' when
369         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
370
371 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
372
373         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
374         specify CHISE DB support.
375         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
376         of `char_attribute_system_db_file' to check feature DB file.
377
378         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
379         HAVE_CHISE_CLIENT to specify CHISE DB support.
380
381         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
382         specify CHISE DB support.
383         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
384         not defined.
385         (Freset_char_attribute_table): Use `chise_feature_setup_db'
386         instead of `char_attribute_system_db_file' to check feature DB
387         file.
388
389 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
390
391         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
392         `HAVE_CHISE_CLIENT'.
393
394 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
395
396         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
397         (Fsave_charset_mapping_table): Don't use
398         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
399
400         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
401         (HAVE_LIBCHISE): New macro.
402
403         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
404
405         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
406         (Fsave_char_attribute_table): Don't use
407         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
408
409 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
410
411         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
412         defined.
413         (save_uint16_byte_table): Likewise.
414         (save_byte_table): Likewise.
415         (char_table_get_db): Use `chise_ds_load_char_feature_value'
416         instead of `chise_char_load_feature_value'.
417         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
418
419 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
420
421         * chartab.h (struct Lisp_Char_Table): Delete member
422         `feature_table' if CHISE is defined.
423
424         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
425         (Fcopy_char_table): Likewise.
426         (char_table_open_db_maybe): Likewise.
427         (char_table_close_db_maybe): Likewise.
428         (char_table_get_db): Likewise.
429         (Fmount_char_attribute_table): Likewise.
430         (Fload_char_attribute_table): Likewise.
431
432 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
433
434         * mule-charset.c (load_char_decoding_entry_maybe): Use
435         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
436         `chise_ccs_decode'.
437
438 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
439
440         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
441         instead of `chise_open_data_source'.
442         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
443         `chise_ds_close'.
444
445 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
446
447         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
448         instead of `chise_ds_open_feature_table'.
449         (char_table_close_db_maybe): Don't use `chise_ft_close'.
450
451 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
452
453         * mule-charset.c (Fsave_charset_mapping_table): Use
454         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
455         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
456         `chise_ccs_sync' instead of `chise_ccst_close'.
457         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
458
459         * chartab.c (open_chise_data_source_maybe): Modify for
460         `chise_open_data_source'.
461         (char_table_open_db_maybe): Modify for
462         `chise_ds_open_feature_table'.
463
464 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
465
466         * mule-charset.c (load_char_decoding_entry_maybe): Use
467         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
468         `chise_ccst_close'.
469
470 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
471
472         * mule-charset.c (Fsave_charset_mapping_table): Use
473         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
474         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
475         `chise_dt_put_char' and `chise_dt_close'.
476         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
477         `chise_ccs_decode' and `chise_ccst_close' instead of
478         `chise_ds_open_decoding_table', `chise_dt_get_char' and
479         `chise_dt_close'.
480
481         * chartab.c (char_table_get_db): Use
482         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
483         (load_char_attribute_table_map_func): Modify for
484         `chise_char_feature_value_iterate'.
485         (Fload_char_attribute_table): Use
486         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
487
488 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
489
490         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
491
492 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
493
494         * chartab.c (put_char_table): Modify for inherited coded-charsets
495         in XEmacs CHISE.
496
497 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
498
499         * chartab.c (Fput_char_table_map_function): Fixed.
500         (word_boundary_p): Don't check charset in XEmacs CHISE.
501
502 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
503
504         * mule-charset.c (Fsave_charset_mapping_table): Use
505         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
506         instead of `chise_open_decoding_table'; refer
507         `default_chise_data_source'; use `chise_dt_close' instead of
508         `chise_close_decoding_table'.
509         (load_char_decoding_entry_maybe): Likewise.
510
511         * chartab.c (default_chise_data_source): New variable when `CHISE'
512         is defined.
513         (Fcopy_char_table): `ct->ds' is deleted.
514         (open_chise_data_source_maybe): New function.
515         (Fclose_char_data_source): New function.
516         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
517         use `chise_ds_open_feature_table' instead of
518         `chise_open_feature_table'.
519         (char_table_close_db_maybe): Use `chise_ft_close' instead of
520         `chise_close_feature_table'; `cit->ds' is deleted.
521         (syms_of_chartab): Add new builtin function
522         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
523
524         * chartab.h (default_chise_data_source): New extern variable.
525         (open_chise_data_source_maybe): New prototype.
526         (struct Lisp_Char_Table): Delete `ds'.
527
528 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
529
530         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
531         `CHISE' is defined.
532
533 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
534
535         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
536         not defined; add code for non-libchise setting.
537         (char_table_close_db_maybe): Likewise.
538         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
539         defined.
540         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
541         even if `CHISE' is not defined.
542         (Freset_char_attribute_table): Likewise.
543         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
544         `char_table_close_db_maybe' even if `CHISE' is not defined; use
545         `char_table_get_db'.
546         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
547         `char_table_close_db_maybe' even if `CHISE' is not defined.
548
549 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
550
551         * chartab.c (char_table_open_db_maybe): New function.
552         (char_table_close_db_maybe): New function.
553         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
554         (Freset_char_attribute_table): Likewise.
555         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
556         `char_table_close_db_maybe'.
557         (Fload_char_attribute_table): Likewise.
558
559 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
560
561         * chartab.c: Don't include <chise.h> because it is included in
562         chartab.h.
563         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
564         defined.
565         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
566         `CHISE' is defined.
567         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
568         `CHISE' is defined.
569         (Fclose_char_attribute_table): Close `ct->feature_table' and
570         `ct->ds' when `CHISE' is defined.
571         (Freset_char_attribute_table): Likewise.
572         (load_char_attribute_maybe): Use `cit->ds' and
573         `cit->feature_table' when `CHISE' is defined.
574         (Fload_char_attribute_table): Likewise.
575
576         * chartab.h: Include <chise.h> when `CHISE' is defined.
577         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
578         when `CHISE' is defined.
579
580 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
581
582         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
583         is defined.
584         (char_table_description): Likewise.
585         (Fmake_char_table): Likewise.
586         (Fcopy_char_table): Likewise.
587         (Fmount_char_attribute_table): Likewise.
588         (Fclose_char_attribute_table): Likewise.
589         (Freset_char_attribute_table): Likewise.
590         (load_char_attribute_maybe): Likewise.
591         (Fload_char_attribute_table): Likewise.
592
593         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
594         defined.
595
596 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
597
598         * chartab.c (load_char_attribute_table_map_func): New function
599         when CHISE is defined.
600         (Qload_char_attribute_table_map_function): Don't define when CHISE
601         is defined.
602         (Fload_char_attribute_table_map_function): Likewise.
603         (Fload_char_attribute_table): Use libchise when `CHISE' is
604         defined.
605         (syms_of_chartab): Don't define
606         `load-char-attribute-table-map-function' when CHISE is defined.
607
608 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
609
610         * chartab.c: Include <chise.h> when `CHISE' is defined.
611         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
612
613 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
614
615         * mule-charset.c (charset_code_point): Fix problem when searching
616         in mother CCS fails with `defined_only' mode.
617
618 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
619
620         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
621         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
622         (put_char_composition): Likewise.
623         (Fput_char_attribute): Likewise.
624         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
625
626 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
627
628         * chartab.c (Q_ucs): Deleted.
629         (Fput_char_attribute): Don't refer `->ucs'.
630         (Fdefine_char): Likewise.
631         (Ffind_char): Likewise.
632         (syms_of_chartab): Delete `->ucs'.
633
634 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
635
636         * mule-charset.c (Qmap_cns11643_2): Renamed from
637         `Qchinese_cns11643_2'.
638         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
639         `chinese-cns11643-2'.
640         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
641         `=cns11643-2'.
642
643 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
644
645         * mule-charset.c (Qmap_cns11643_1): Renamed from
646         `Qchinese_cns11643_1'.
647         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
648         `chinese-cns11643-1'.
649         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
650         `=cns11643-1'.
651
652 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
653
654         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
655         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
656         `chinese-gb12345'.
657         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
658         `=gb12345'.
659
660 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
661
662         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
663         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
664         `chinese-gb2312'.
665         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
666         `=gb2312'.
667
668 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
669
670         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
671         (syms_of_mule_charset): Add new symbol `=big5' instead of
672         `chinese-big5'.
673         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
674
675 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
676
677         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
678         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
679         `korean-ksc5601'.
680         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
681         `=ks-x1001'.
682
683 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
684
685         * mule-charset.c (Qmap_jis_x0212): Renamed from
686         `Qjapanese_jisx0212'.
687         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
688         `japanese-jisx0212'.
689         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
690         `=jis-x0212'.
691
692 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
693
694         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
695         `Qjapanese_jisx0208'.
696         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
697         of `japanese-jisx0208'.
698         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
699         `=jis-x0208-1983'.
700
701 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
702
703         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
704         `Qjapanese_jisx0208_1978'.
705         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
706         of `japanese-jisx0208-1978'.
707         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
708         `=jis-x0208-1978'.
709
710 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
711
712         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
713         only for XEmacs CHISE.
714
715 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
716
717         * char-ucs.h: Compact non-ISO-IR charset-ids.
718         (LEADING_BYTE_UCS): Changed to -177.
719         (LEADING_BYTE_CONTROL_1): Changed to -77.
720         (LEADING_BYTE_UCS_BMP): Changed to -176.
721         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
722
723 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
724
725         * mule-charset.c (Qiso_ir): New variable.
726         (Fmake_charset): Recognise new property `iso-ir'.
727         (syms_of_mule_charset): Add new symbol `iso-ir'.
728
729 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
730
731         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
732         n to -n; charset-id of non ISO-IR sets are changed to positive
733         numbers.
734
735 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
736
737         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
738         for &MCS-XXXXXXXX; values.
739
740 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
741
742         * mule.c (Vxemacs_chise_version): Renamed from
743         `Vutf_2000_version'.
744         (vars_of_mule): Add new variable `xemacs-chise-version'; define
745         `utf-2000-version' as an alias for `xemacs-chise-version'.
746
747 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
748
749         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
750         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
751         defined.
752
753         * config.h.in (CHISE): New macro.
754
755 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
756
757         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
758         of `ucs'.
759         (Qmap_ucs): New variable.
760         (syms_of_mule_charset): Add new symbol `=ucs'.
761         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
762
763         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
764         (simplify_char_spec): Likewise.
765
766         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
767
768         * char-ucs.h (Qmap_ucs): New extern variable.
769
770 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
771
772         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
773         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
774         don't define it when UTF2000 is not defined.
775         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
776         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
777         when UTF2000 is not defined.
778         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
779         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
780
781 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
782
783         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
784
785         * mule-charset.c (Vcharset_ucs_gb): Deleted.
786         (Qucs_gb): Deleted.
787         (syms_of_mule_charset): Delete `ucs-gb'.
788         (complex_vars_of_mule_charset): Likewise.
789
790 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
791
792         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
793
794         * mule-charset.c (Vcharset_ucs_cns): Deleted.
795         (Qucs_cns): Deleted.
796         (syms_of_mule_charset): Delete `ucs-cns'.
797         (complex_vars_of_mule_charset): Likewise.
798
799 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
800
801         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
802
803         * mule-charset.c (Vcharset_ucs_jis): Deleted.
804         (Qucs_jis): Deleted.
805         (syms_of_mule_charset): Delete `ucs-jis'.
806         (complex_vars_of_mule_charset): Likewise.
807
808 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
809
810         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
811
812         * mule-charset.c (Vcharset_ucs_ks): Deleted.
813         (Qucs_ks): Deleted.
814         (syms_of_mule_charset): Delete `ucs-ks'.
815         (complex_vars_of_mule_charset): Likewise.
816
817 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
818
819         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
820         (Qideograph_daikanwa_2): Deleted.
821         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
822         (complex_vars_of_mule_charset): Likewise.
823
824         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
825         (LEADING_BYTE_DAIKANWA_1): Deleted.
826         (LEADING_BYTE_DAIKANWA_2): Deleted.
827         (MIN_CHAR_DAIKANWA): Deleted.
828         (MAX_CHAR_DAIKANWA): Deleted.
829
830 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
831
832         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
833         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
834         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
835
836         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
837         (Vcharset_ideograph_daikanwa): Deleted.
838         (Qideograph_hanziku_{1..12}): Deleted.
839         (Qideograph_daikanwa): Deleted.
840         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
841         Vcharset_ideograph_daikanwa.
842         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
843         `ideograph-hanziku-{1..12}'.
844         (complex_vars_of_mule_charset): Likewise.
845
846 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
847
848         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
849
850         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
851         (Qideograph_gt_pj_{1..11}): Deleted.
852         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
853         (complex_vars_of_mule_charset): Likewise.
854
855 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * mule-charset.c (Vcharset_ucs_big5): Deleted.
858         (Vcharset_ideograph_gt): Deleted.
859         (Qucs_big5): Deleted.
860         (Qideograph_gt): Deleted.
861         (syms_of_mule_charset): Delete symbol `ucs-big5' and
862         `ideograph-gt'.
863         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
864         and `ideograph-gt'.
865
866         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
867         (LEADING_BYTE_GT): Deleted.
868         (MIN_CHAR_GT): Deleted.
869         (MAX_CHAR_GT): Deleted.
870
871 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
872
873         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
874
875 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
876
877         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
878         (save_uint16_byte_table): Likewise.
879         (save_byte_table): Likewise; convert values by it.
880         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
881         for `ideographic-structure'.
882         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
883         as the filter for `ideographic-structure'.
884
885 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
886
887         * chartab.c (put_char_composition): New function.
888         (Fput_char_attribute): Use `put_char_composition'; use
889         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
890
891         * fns.c (simplify_char_spec): New function.
892         (char_ref_simplify_spec): New function.
893         (Fchar_refs_simplify_char_specs): New function.
894         (syms_of_fns): Add new builtin function
895         `char-refs-simplify-char-specs'.
896
897 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
898
899         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
900         (Qideograph_cbeta): Deleted.
901         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
902         (complex_vars_of_mule_charset): Likewise.
903
904         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
905         (MIN_CHAR_CBETA): Comment out.
906         (MAX_CHAR_CBETA): Likewise.
907
908 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
909
910         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
911         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
912         CHISE client feature.
913
914 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
915
916         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
917
918 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
919
920         * mule-charset.c (charset_lookup_description_1): Use
921         `NUM_LEADING_BYTES' in UTF-2000.
922
923 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
924
925         * char-ucs.h (GC_CHARSETP): Deleted.
926
927 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
928
929         * char-ucs.h (MAX_CHAR_GT): Updated.
930
931 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
932
933         * text-coding.c: Sync with XEmacs 21.4.10.
934
935 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
936
937         * mule-charset.c (Vcharset_china3_jef): Deleted.
938         (Qchina3_jef): Deleted.
939         (syms_of_mule_charset): Don't define `china3-jef'.
940         (complex_vars_of_mule_charset): Likewise.
941
942         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
943         (MIN_CHAR_CHINA3_JEF): Comment out.
944         (MAX_CHAR_CHINA3_JEF): Comment out.
945
946 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
947
948         * mule-charset.c (Vcharset_ucs_gb): New variable.
949         (Qucs_gb): New variable.
950         (syms_of_mule_charset): Add new symbol `ucs-gb'.
951         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
952
953         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
954
955 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
956
957         * mule-charset.c (charset_code_point): if a coded-charset has a
958         final-byte, don't inherit the builtin range of the mother CCS.
959
960 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
961
962         * mule-charset.c (charset_code_point): Fix problem about
963         inheritance.
964
965 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
966
967         * mule-charset.c (decode_builtin_char): Reorganized.
968
969 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
970
971         * text-coding.c (char_encode_as_entity_reference): Modify for
972         `charset_code_point'.
973         (char_encode_shift_jis): Likewise.
974         (char_encode_big5): Likewise.
975         (char_encode_utf8): Likewise.
976         (char_encode_iso2022): Likewise.
977
978         * mule-charset.c (charset_code_point): Add new argument
979         `defined_only'.
980         (Fencode_char): Add new optional argument `defined_only'.
981
982         * chartab.c (put_char_table): Modify for `charset_code_point'.
983
984         * char-ucs.h (charset_code_point): Add new argument
985         `defined_only'.
986         (encode_char_1): Modify for `charset_code_point'.
987
988 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
989
990         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
991         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
992
993 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
994
995         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
996         (Qjis_x0208): Likewise.
997         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
998         XCHARSET_FINAL(charset).
999         (charset_code_point): Modify condition for final-byte based
1000         builtin-chars.
1001         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1002         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1003         in UTF-2000; specify `=jis-x0208' as the mother of
1004         `japanese-jisx0208-1978', `japanese-jisx0208' and
1005         `japanese-jisx0208-1990' in UTF-2000.
1006
1007 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1008
1009         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1010
1011 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1012
1013         * text-coding.c (decode_coding_utf16): Support UTF-16.
1014         (char_encode_utf16): Fixed.
1015
1016 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1017
1018         * text-coding.c (Qutf16): New variable in MULE.
1019         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1020         (Fcoding_system_type): Add `utf-16' in MULE.
1021         (struct detection_state): Add a structure for utf16 in MULE.
1022         (detect_coding_type): Setup st->utf16.mask in MULE.
1023         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1024         MULE.
1025         (reset_encoding_stream): Use `char_encode_utf16' and
1026         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1027         (detect_coding_utf16): New function [incomplete].
1028         (decode_coding_utf16): New function [support only UCS-2].
1029         (char_encode_utf16): New function.
1030         (char_finish_utf16): New function.
1031         (syms_of_file_coding): Add new symbol `utf-16'; setup
1032         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1033
1034         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1035         UTF-2000.
1036         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1037         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1038
1039 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1040
1041         * chartab.c (put_char_table): When a charset is specified as a
1042         range in UTF-2000, don't support builtin characters.
1043
1044 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1045
1046         * mule-charset.c (decode_defined_char): Don't refer external
1047         database if Qunbound or Qnil are found.
1048         (Fsave_charset_mapping_table): Don't define it if
1049         HAVE_CHISE_CLIENT is not defined.
1050         (Freset_charset_mapping_table): New function.
1051         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1052         found in external database.
1053         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1054         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1055         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1056
1057 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1058
1059         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1060         not.
1061
1062 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1063
1064         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1065         Q_lowercase, Q_uppercase in UTF-2000.
1066
1067         * chartab.c (get_char_table): Add special code for the standard
1068         case table to use character attribute `->downcase' and
1069         `->uppercase' for case operations in UTF-2000.
1070
1071         * casetab.c (Qflippedcase): New variable in UTF-2000.
1072         (Q_lowercase): Likewise.
1073         (Q_uppercase): Likewise.
1074         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1075         and `->uppercase' in UTF-2000.
1076         (complex_vars_of_casetab): Assign attribute name `downcase' to
1077         downcase and CANON table of Vstandard_case_table in UTF-2000;
1078         assign attribute name `flippedcase' to upcase and EQV table of
1079         Vstandard_case_table in UTF-2000.
1080
1081 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1082
1083         * text-coding.c (decode_add_er_char): Support isolated-chars.
1084         (char_encode_as_entity_reference): Likewise.
1085
1086 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1087
1088         * emacs.c (Vutf_2000_lisp_directory): New variable.
1089         (Vconfigure_utf_2000_lisp_directory): Likewise.
1090         (complex_vars_of_emacs): Add new variable
1091         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1092
1093 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1094
1095         * char-ucs.h (DECODE_CHAR): Delete special code for
1096         `chinese-big5-1' and `chinese-big5-2'.
1097
1098         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1099         (Qbig5_2): Likewise.
1100         (decode_defined_char): Support CONVERSION_BIG5_1 and
1101         CONVERSION_BIG5_2.
1102         (decode_builtin_char): Likewise.
1103         (charset_code_point): Likewise.
1104         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1105         'conversion in UTF-2000.
1106         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1107         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1108         `chinese-big5-2' as children of `chinese-big5'.
1109
1110         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1111         (CONVERSION_BIG5_2): New macro.
1112
1113 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1114
1115         * text-coding.c (char_encode_big5): Support entity-reference.
1116
1117 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1118
1119         * text-coding.c (char_encode_as_entity_reference): New function.
1120         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1121
1122 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1123
1124         * text-coding.c (decode_coding_big5): Support entity-reference
1125         decoding feature.
1126
1127 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1128
1129         * text-coding.c (allocate_coding_system): Initialize initial
1130         charsets for CODESYS_UTF8.
1131         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1132         charset-g2 for CODESYS_UTF8.
1133         (decode_coding_utf8): Use charset-g0.
1134         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1135         to force variants to map to UCS.
1136
1137 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1138
1139         * text-coding.c (Qutf_8_mcs): New variable.
1140         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1141         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1142         instead of `utf-8' in UTF-2000.
1143
1144 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1145
1146         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1147         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1148         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1149         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1150         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1151         CONVERSION_96x96x96x96 are introduced.
1152         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1153         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1154         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1155
1156         * char-ucs.h (CONVERSION_94): New macro.
1157         (CONVERSION_96): New macro.
1158         (CONVERSION_94x94): New macro.
1159         (CONVERSION_96x96): New macro.
1160         (CONVERSION_94x94x94): New macro.
1161         (CONVERSION_96x96x96): New macro.
1162         (CONVERSION_94x94x94x60): New macro.
1163         (CONVERSION_94x94x94x94): New macro.
1164         (CONVERSION_96x96x96x96): New macro.
1165
1166 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1167
1168         * chartab.c (Vcharacter_variant_table): Deleted.
1169         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1170         of `Vcharacter_variant_table'.
1171         (Fput_char_attribute): Likewise.
1172         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1173         (complex_vars_of_chartab): Likewise.
1174
1175 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1176
1177         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1178
1179         * fns.c (Qideographic_structure): New variable.
1180         (Qkeyword_char): New variable.
1181         (ids_format_unit): New function.
1182         (Fideographic_structure_to_ids): New function.
1183         (syms_of_fns): Add new symbols `ideographic-structure' and
1184         `:char'; add new builtin function `ideographic-structure-to-ids'.
1185
1186         * data.c (Fchar_ref_p): New function.
1187         (syms_of_data): Add new builtin function `char-ref-p'.
1188
1189         * chartab.h: Add an EXFUN for `Ffind_char'.
1190
1191 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1192
1193         * text-coding.c (Vcharacter_composition_table): Deleted.
1194         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1195         in every UTF-2000.
1196
1197         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1198         UTF-2000.
1199         (Vcharacter_composition_table): Deleted.
1200         (Fget_composite_char): Use the implementation for external-DB
1201         support in every UTF-2000.
1202         (Fput_char_attribute): Likewise.
1203         (char_attribute_system_db_file): Don't define if external-DB
1204         feature is not available.
1205         (Fsave_char_attribute_table): Likewise.
1206         (Fmount_char_attribute_table): Likewise.
1207         (Fclose_char_attribute_table): Likewise.
1208         (Freset_char_attribute_table): Likewise.
1209         (Fload_char_attribute_table): Likewise.
1210         (syms_of_chartab): Don't define `save-char-attribute-table',
1211         `mount-char-attribute-table', `reset-char-attribute-table',
1212         `close-char-attribute-table' and `load-char-attribute-table' if
1213         external-DB feature is not available.
1214         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1215
1216 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1217
1218         * text-coding.c (Qcomposition): Add extern if external-DB feature
1219         is supported.
1220         (Vcharacter_composition_table): Don't add extern if external-DB
1221         feature is supported.
1222         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1223         character composition rule if external-DB feature is supported.
1224
1225         * chartab.c (Vcharacter_composition_table): Don't define if
1226         external-DB feature is supported.
1227         (Qcomposition): New variable.
1228         (Fget_composite_char): New implementation for external-DB support.
1229         (Fput_char_attribute): Use `composition' property of each
1230         character instead of `Vcharacter_composition_table' to store
1231         character-composition rules if external-DB feature is supported.
1232         (syms_of_chartab): Add new symbol `composition'.
1233         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1234         external-DB feature is supported.
1235
1236 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1237
1238         * chartab.c (Vchar_db_stingy_mode): New variable.
1239         (load_char_attribute_maybe): Close database if
1240         Vchar_db_stingy_mode is not NIL.
1241         (Fload_char_attribute_table_map_function): Use
1242         `get_char_id_table_0' instead of `get_char_id_table'.
1243         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1244
1245         * chartab.h (get_char_id_table_0): New inline function.
1246         (get_char_id_table): Use `get_char_id_table_0'.
1247
1248 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1249
1250         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1251         and `COMPOSE_ADD_CHAR'.
1252         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1253
1254 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1255
1256         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1257         instead of `DECODE_ADD_UCS_CHAR'.
1258         (COMPOSE_ADD_CHAR): Likewise.
1259
1260 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1261
1262         * text-coding.c (decode_flush_er_chars): New inline function.
1263         (decode_add_er_char): New function.
1264         (decode_coding_utf8): Use `decode_flush_er_chars' and
1265         `decode_add_er_char'.
1266
1267 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1268
1269         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1270         done before `decode_output_utf8_partial_char'.
1271
1272         * mule-charset.c (complex_vars_of_mule_charset): Specify
1273         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1274         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1275
1276 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1277
1278         * mule-charset.c (decode_defined_char): New function; search
1279         mother.
1280         (decode_builtin_char): Don't search mother if
1281         XCHARSET_MAX_CODE(charset) == 0.
1282         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1283         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1284         (Fdecode_char): Use `decode_defined_char' instead of
1285         `DECODE_DEFINED_CHAR'.
1286         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1287         mother of `Vcharset_ucs_jis'.
1288
1289         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1290         instead of `DECODE_DEFINED_CHAR'.
1291
1292         * char-ucs.h (decode_defined_char): Renamed from
1293         `DECODE_DEFINED_CHAR'; changed to normal function.
1294         (DECODE_CHAR): Use `decode_defined_char' instead of
1295         `DECODE_DEFINED_CHAR'.
1296
1297         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1298
1299 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1300
1301         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1302
1303         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1304         variable.
1305         (Quse_entity_reference): New variable.
1306         (Qd): New variable.
1307         (Qx): New variable.
1308         (QX): New variable.
1309         (coding_system_description): Add description for
1310         `ccs_priority_list'.
1311         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1312         (allocate_coding_system): Initialize `ccs_priority_list' in
1313         UTF-2000.
1314         (Fmake_coding_system): Add description about
1315         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1316         (codesys).
1317         (Fcoding_system_property): Accept `disable-composition' and
1318         `use-entity-reference' in UTF-2000.
1319         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1320         in UTF-2000.
1321         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1322         (decode_coding_utf8): Decode entity-reference if
1323         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1324         (char_encode_utf8): Encode non-Unicode characters as
1325         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1326         (str->codesys).
1327         (syms_of_file_coding): Add new symbols `use-entity-reference',
1328         `d', `x', `X'.
1329         (vars_of_file_coding): Add new variable
1330         `coded-charset-entity-reference-alist'.
1331         (complex_vars_of_file_coding): Declare `disable-composition' and
1332         `use-entity-reference' to be coding-system-properties in UTF-2000.
1333
1334         * file-coding.h (struct Lisp_Coding_System): Add new member
1335         `use_entity_reference' and `ccs_priority_list'.
1336         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1337         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1338         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1339
1340 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1341
1342         * chartab.c (save_uint8_byte_table): Don't clear the table.
1343         (save_uint16_byte_table): Likewise.
1344         (save_byte_table): Likewise.
1345         (Fmount_char_attribute_table): New function.
1346         (syms_of_chartab): Add new builtin function
1347         `mount-char-attribute-table'.
1348
1349 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1350
1351         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1352         "w+" mode.
1353         (load_char_decoding_entry_maybe): Open database as read-only mode.
1354
1355         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1356         open database as "w+" mode.
1357         (load_char_attribute_maybe): Open database as read-only mode.
1358         (Fload_char_attribute_table): Likewise.
1359
1360 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1361
1362         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1363         (char_table_description): Delete member `db_file'.
1364         (Fmake_char_table): Don't refer `ct->db_file'.
1365         (Fcopy_char_table): Likewise.
1366         (Fsave_char_attribute_table): Likewise.
1367         (Fclose_char_attribute_table): Likewise.
1368         (Freset_char_attribute_table): Likewise.
1369         (load_char_attribute_maybe): Likewise.
1370         (Fload_char_attribute_table): Likewise.
1371
1372         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1373
1374 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1375
1376         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1377         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1378         `ct->db' is living.
1379         (load_char_attribute_maybe): Likewise.
1380         (Fload_char_attribute_table): Likewise.
1381
1382 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1383
1384         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1385         `ct->db_file' unconditionally.
1386
1387 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1388
1389         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1390         UTF-2000.
1391         (char_table_description): Add description for `db_file' and `db'
1392         in UTF-2000.
1393         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1394         UTF-2000.
1395         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1396         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1397         (Fclose_char_attribute_table): New function.
1398         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1399         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1400         and `cit->db'.
1401         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1402         (syms_of_chartab): Add new builtin function
1403         `Fclose_char_attribute_table'.
1404
1405 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1406
1407         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1408         `db' in UTF-2000.
1409         (load_char_attribute_maybe): Change interface.
1410         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1411
1412 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1413
1414         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1415
1416 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1417
1418         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1419         instead of `DECODE_CHAR' for mother; don't use special code for
1420         chinese-big5 to use code space of chinese-big5-1 and
1421         chinese-big5-2.
1422         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1423         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1424
1425         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1426         (MAX_CHAR_BIG5_CDP): Revival.
1427
1428 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1429
1430         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1431         the XLFD registry-encoding name of `chinese-big5'.
1432
1433 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1434
1435         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1436         (Qchinese_big5_cdp): Deleted.
1437         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1438         (complex_vars_of_mule_charset): Delete coded-charset
1439         `chinese-big5-cdp'.
1440
1441         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1442         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1443         `CHARSET_ID_OFFSET - n' for private CCS.
1444         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1445         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1446         of `MIN_LEADING_BYTE'.
1447         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1448         `(CHARSET_ID_OFFSET - 97)'.
1449         (MIN_CHAR_BIG5_CDP): Deleted.
1450         (MAX_CHAR_BIG5_CDP): Deleted.
1451
1452 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1453
1454         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1455
1456 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1457
1458         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1459         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1460         chartab.c].
1461
1462         * chartab.c (Vutf_2000_version): Moved to mule.c.
1463         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1464
1465 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1466
1467         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1468         when HAVE_CHISE_CLIENT is not defined.
1469
1470         * mule.c (vars_of_mule): Provide feature `chise' when
1471         HAVE_CHISE_CLIENT is defined.
1472
1473 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1474
1475         * config.h.in (UTF2000): Add comment.
1476         (HAVE_CHISE_CLIENT): New macro.
1477
1478 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1479
1480         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1481         CONSP.
1482         (Fput_char_attribute): Likewise.
1483         (char_attribute_system_db_file): Encode file-name of attribute.
1484         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1485         the initial value.
1486
1487 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1488
1489         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1490         (Fsave_charset_mapping_table): Use
1491         `char_attribute_system_db_file'.
1492         (load_char_decoding_entry_maybe): Likewise.
1493
1494         * chartab.h (Qsystem_char_id): New external variable.
1495         (char_attribute_system_db_file): New prototype.
1496
1497         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1498         (char_attribute_system_db_file): New function.
1499         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1500         (Freset_char_attribute_table): Likewise.
1501         (load_char_attribute_maybe): Likewise.
1502         (Fload_char_attribute_table): Likewise.
1503         (syms_of_chartab): Add new symbol `system-char-id'.
1504
1505 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1506
1507         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1508         `XCHARSET_GRAPHIC(ccs)'.
1509
1510 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1511
1512         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1513
1514 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1515
1516         * chartab.c (Q_ucs_variants): New variable.
1517         (syms_of_chartab): Add new symbol `->ucs-variants'.
1518         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1519         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1520         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1521
1522         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1523
1524         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1525         `HAVE_DATABASE' is defined.
1526         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1527         `HAVE_DATABASE' is defined.
1528
1529 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1530
1531         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1532         attribute-table.
1533         (Freset_char_attribute_table): New function.
1534         (syms_of_chartab): Add new builtin function
1535         `reset-char-attribute-table'.
1536
1537 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1538
1539         * chartab.c (load_char_attribute_maybe): Don't make directories.
1540
1541 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1542
1543         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1544
1545         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1546         for decoding-table.
1547
1548 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1549
1550         * mule-charset.c (Fsave_charset_mapping_table): Use
1551         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1552
1553         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1554         instead of `XCHARSET_CHARS'.
1555
1556 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1557
1558         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1559         (XCHARSET_BYTE_SIZE): Likewise.
1560
1561         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1562         mule-charset.c].
1563         (XCHARSET_BYTE_SIZE): Likewise.
1564
1565 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1566
1567         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1568         data-directory to store database.
1569         (Fsave_char_attribute_table): Likewise.
1570         (load_char_attribute_maybe): Likewise.
1571         (Fload_char_attribute_table): Likewise.
1572
1573 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1574
1575         * mule-charset.c (Fsave_charset_mapping_table): New function.
1576         (syms_of_mule_charset): Add new builtin function
1577         `save-charset-mapping-table'.
1578
1579 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1580
1581         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1582         (get_ccs_octet_table): New inline function.
1583         (put_ccs_octet_table): Likewise.
1584         (decoding_table_put_char): Use `get_ccs_octet_table' and
1585         `put_ccs_octet_table'.
1586         (decoding_table_remove_char): Use `decoding_table_put_char'.
1587         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1588
1589         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1590         into encoding_table.
1591         (make_charset): Use Qunbound instead Qnil as initial value of
1592         decoding_table.
1593
1594 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1595
1596         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1597         element is Qunloaded.
1598         (map_over_uint16_byte_table): Likewise.
1599         (map_over_byte_table): Likewise.
1600         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1601         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1602         database support, load encoding-table of the specified
1603         coded-charset if it is not loaded yet.
1604         (save_uint8_byte_table): New function of UTF-2000 with external
1605         database support.
1606         (save_uint16_byte_table): Likewise.
1607         (save_byte_table): Likewise.
1608         (Fput_char_attribute): Don't store value into external database
1609         even if the external database feature is supported in UTF-2000;
1610         set `attribute' as name of char-table if the external database
1611         feature is supported.
1612         (Fsave_char_attribute_table): New function in UTF-2000.
1613         (syms_of_chartab): Add new builtin function
1614         `save-char-attribute-table' in UTF-2000.
1615
1616 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1617
1618         * chartab.c (char_attribute_table_to_put): New variable in
1619         UTF-2000.
1620         (Qput_char_table_map_function): Likewise.
1621         (value_to_put): Likewise.
1622         (Fput_char_table_map_function): New function in UTF-2000.
1623         (put_char_table): Use `Fmap_char_attribute' for
1624         CHARTAB_RANGE_CHARSET in UTF-2000.
1625         (Fput_char_attribute): Store symbol instead of string in
1626         `XCHAR_TABLE_NAME (table)'.
1627         (load_char_attribute_maybe): Likewise.
1628         (syms_of_chartab): Add new symbol/function
1629         `put-char-table-map-function'.
1630
1631 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1632
1633         * database.h: Add new EXFUN for `Fmap_database'.
1634
1635         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1636         (syms_of_database): Likewise.
1637
1638         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1639         UTF-2000.
1640         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1641         (XCHAR_TABLE_UNLOADED): Likewise.
1642
1643         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1644         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1645         HAVE_DATABASE is defined.
1646         (char_attribute_table_to_load): New variable of UTF-2000 with
1647         external database support.
1648         (Qload_char_attribute_table_map_function): Likewise.
1649         (Fload_char_attribute_table_map_function): New function of
1650         UTF-2000 with external database support.
1651         (Fload_char_attribute_table): New function of UTF-2000.
1652         (Fmap_char_attribute): Call Fload_char_attribute_table if
1653         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1654         (syms_of_chartab): Add new symbol and function
1655         `load-char-attribute-table-map-function' in UTF-2000 with external
1656         database support; add new function `load-char-attribute-table' in
1657         UTF-2000.
1658
1659 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1660
1661         * chartab.h (load_char_attribute_maybe): New prototype for
1662         UTF-2000 with DATABASE support.
1663         (get_char_id_table): Use `load_char_attribute_maybe' if
1664         HAVE_DATABASE is defined.
1665
1666         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1667         with DATABASE support.
1668
1669 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1670
1671         * chartab.c (Fput_char_attribute): Use S-expression as key of
1672         external database.
1673
1674         * chartab.h (get_char_id_table): Use S-expression as key of
1675         external database.
1676
1677 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1678
1679         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1680         if an element is not loaded, load the corresponding attributes
1681         from an external database.
1682         (map_over_uint16_byte_table): Likewise.
1683         (map_over_byte_table): Likewise.
1684         (map_char_table): Modify for `map_over_uint8_byte_table',
1685         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1686         element is not loaded, load the corresponding attributes from an
1687         external database.
1688         (Fput_char_attribute): Change initial values to Qunloaded.
1689
1690         * chartab.h (get_char_id_table): If a character attribute is not
1691         loaded and the attribute value is not found in an external
1692         database, store Qunbound as the attribute value.
1693
1694 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1695
1696         * chartab.c (BT_UINT8_unloaded): New macro.
1697         (UINT8_VALUE_P): Accept Qunloaded.
1698         (UINT8_ENCODE): Likewise.
1699         (UINT8_DECODE): Likewise.
1700         (BT_UINT16_unloaded): New macro.
1701         (UINT16_VALUE_P): Accept Qunloaded.
1702         (UINT16_ENCODE): Likewise.
1703         (UINT16_DECODE): Likewise.
1704         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1705         BT_UINT16_unloaded.
1706         (mark_char_table): Mark `ct->name' in UTF-2000.
1707         (char_table_description): Add `name' in UTF-2000.
1708         (Fmake_char_table): Initialize `ct->name'.
1709         (Fcopy_char_table): Copy `ct->name'.
1710         (Fput_char_attribute): Store value into an external database if
1711         HAVE_DATABASE is defined.
1712
1713         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1714         UTF-2000.
1715         (CHAR_TABLE_NAME): New macro in UTF-2000.
1716         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1717         (get_char_id_table): Try to read an external database if Qunloaded
1718         is stored in a table.
1719
1720         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1721         Qunloaded.
1722
1723 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1724
1725         * database.h: Add EXFUN definitions for Fopen_database,
1726         Fput_database, Fget_database and Fclose_database.
1727
1728         * data.c (Qunloaded): New variable in UTF-2000.
1729
1730         * lisp.h (Qunloaded): New variable in UTF-2000.
1731
1732 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1733
1734         * mule-charset.c (put_char_ccs_code_point): Modify for
1735         `decoding_table_remove_char' and `decoding_table_put_char'.
1736         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1737
1738         * char-ucs.h (decoding_table_remove_char): Change arguments to
1739         hide decoding_table vector.
1740         (decoding_table_put_char): Likewise.
1741
1742 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1743
1744         * mule-charset.c (decoding_table_remove_char): Moved to
1745         char-ucs.h.
1746         (decoding_table_put_char): Likewise.
1747
1748         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1749         from mule-charset.c].
1750         (decoding_table_remove_char): New inline function [moved from
1751         mule-charset.c].
1752         (decoding_table_put_char): Likewise.
1753
1754 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1755
1756         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1757         extension.
1758
1759 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1760
1761         * mule-charset.c (decode_builtin_char): Support mother charsets.
1762
1763 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1764
1765         * mule-charset.c (Q94x94x60): New variable.
1766         (charset_code_point): Support conversion `94x94x60'.
1767         (Fmake_charset): Likewise.
1768         (syms_of_mule_charset): Add new symbol `94x94x60'.
1769
1770         * char-ucs.h (CONVERSION_94x94x60): New macro.
1771
1772 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1773
1774         * mule-charset.c (charset_code_point): Unify code about
1775         `code-offset'.
1776
1777 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1778
1779         * mule-charset.c (charset_code_point): Merge code about builtin
1780         characters into code about mother charsets; don't use
1781         `range_charset_code_point'.
1782         (range_charset_code_point): Deleted.
1783
1784 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1785
1786         * mule-charset.c (Qcode_offset): New variable.
1787         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1788         `max-code'; accept new property `code-offset'.
1789         (syms_of_mule_charset): Add new symbol `code-offset'.
1790
1791 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1792
1793         * mule-charset.c (range_charset_code_point): Fixed.
1794
1795 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1796
1797         * mule-charset.c (decode_builtin_char): Change semantics of
1798         code-offset of coded-charset.
1799         (charset_code_point): Likewise.
1800         (range_charset_code_point): Likewise.
1801         (complex_vars_of_mule_charset): Modify for the change.
1802
1803 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1804
1805         * mule-charset.c (Fencode_char): Reverse arguments.
1806
1807         * mule-charset.c (charset_code_point): Fixed.
1808
1809 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1810
1811         * mule-charset.c (Vcharset_mojikyo): Deleted.
1812         (Vcharset_mojikyo_2022_1): Deleted.
1813         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1814         (Qmin_code): New variable in UTF-2000.
1815         (Qmax_code): Likewise.
1816         (Qmother): Likewise.
1817         (Qconversion): Likewise.
1818         (Q94x60): Likewise.
1819         (Qmojikyo): Deleted.
1820         (Qmojikyo_2022_1): Deleted.
1821         (Qmojikyo_pj_{1..22}): Deleted.
1822         (mark_charset): Mark `cs->mother'.
1823         (charset_description): Add description for `mother'.
1824         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1825         new arguments `mother' and `conversion'; use
1826         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1827         (charset_code_point): Moved from char-ucs.h; support `mother'
1828         charset feature.
1829         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1830         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1831         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1832         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1833         allow 2 as the value of `graphic' in UTF-2000; add new properties
1834         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1835         require `final' in UTF-2000; modify for `make_charset'.
1836         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1837         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1838         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1839         (Fencode_char): New function.
1840         (syms_of_mule_charset): Add new builtin function `encode-char' in
1841         UTF-2000; add new symbols `min-code', `max-code', `mother',
1842         `conversion' and `94x60'; delete symbols `mojikyo',
1843         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1844         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1845         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1846         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1847
1848         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1849         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1850
1851         * char-ucs.h (Vcharset_mojikyo): Deleted.
1852         (Vcharset_mojikyo_2022_1): Deleted.
1853         (LEADING_BYTE_MOJIKYO): Deleted.
1854         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1855         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1856         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1857         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1858         add new member `mother'; add new member `conversion'.
1859         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1860         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1861         (CHARSET_MOTHER): New macro.
1862         (CHARSET_CONVERSION): New macro.
1863         (CONVERSION_IDENTICAL): New macro.
1864         (CONVERSION_94x60): New macro.
1865         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1866         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1867         (XCHARSET_MOTHER): New macro.
1868         (XCHARSET_CONVERSION): New macro.
1869         (MIN_CHAR_MOJIKYO): Deleted.
1870         (MAX_CHAR_MOJIKYO): Deleted.
1871         (DECODE_MOJIKYO_2022): Deleted.
1872         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1873         (charset_code_point): Changed to non-inline function.
1874         (encode_char_1): Use `charset_code_point'.
1875         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1876
1877 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1878
1879         * lread.c (read_compiled_function): Fix prototype.
1880         (read_vector): Likewise.
1881
1882 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1883
1884         * lrecord.h (struct lrecord_header): Delete `older'.
1885         (set_lheader_implementation): Delete code for `older'.
1886         (set_lheader_older_implementation): Deleted.
1887         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1888         (OLDER_RECORD_P): Deleted.
1889         (OLDER_RECORD_HEADER_P): Deleted.
1890         (alloc_older_lcrecord): Deleted.
1891         (alloc_older_lcrecord_type): Deleted.
1892
1893         * alloc.c (all_older_lcrecords): Deleted.
1894         (alloc_older_lcrecord): Deleted.
1895         (disksave_object_finalization_1): Delete code for older objects.
1896         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1897         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1898
1899 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1900
1901         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1902         instead of `make_older_vector'.
1903         (put_char_ccs_code_point): Likewise.
1904         (mark_charset): Mark `cs->decoding_table'.
1905         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1906
1907         * lisp.h (make_older_vector): Deleted.
1908         (make_vector_newer): Deleted.
1909
1910         * config.h.in (HAVE_GGC): Deleted.
1911
1912         * alloc.c (make_older_vector): Deleted.
1913         (make_vector_newer_1): Deleted.
1914         (make_vector_newer): Deleted.
1915
1916 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1917
1918         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1919         (Qideograph_daikanwa_2): New variable.
1920         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1921         (complex_vars_of_mule_charset): Add new coded-charset
1922         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1923         `LEADING_BYTE_DAIKANWA'.
1924
1925         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1926         (LEADING_BYTE_DAIKANWA_1): New macro.
1927         (LEADING_BYTE_DAIKANWA_2): New macro.
1928         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1929
1930 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1931
1932         * mule-charset.c (complex_vars_of_mule_charset): Change
1933         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1934         the second revised version.
1935
1936 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1937
1938         * mule-charset.c (Vcharset_ucs_smp): New variable.
1939         (Vcharset_ucs_sip): New variable.
1940         (Qucs_smp): New variable.
1941         (Qucs_sip): New variable.
1942         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1943         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1944         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1945         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1946         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1947         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1948
1949         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1950         (LEADING_BYTE_UCS_SIP): New macro.
1951         (MIN_CHAR_SMP): New macro.
1952         (MAX_CHAR_SMP): New macro.
1953         (MIN_CHAR_SIP): New macro.
1954         (MAX_CHAR_SIP): New macro.
1955
1956 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1957
1958         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1959         utf-2000.
1960
1961 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1962
1963         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1964         value; don't store value into `encoding_table' of `Lisp_Charset'.
1965         (mark_charset): `encoding_table' was deleted.
1966         (charset_description): Likewise.
1967         (make_charset): Likewise.
1968         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1969         `put_char_ccs_code_point'.
1970
1971         * chartab.h (Fput_char_attribute): New EXFUN.
1972
1973         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1974         is unified with normal symbol space.
1975         (Fget_char_attribute): Likewise.
1976         (Fput_char_attribute): Likewise; behavior of
1977         `put_char_ccs_code_point' is changed.
1978
1979         * char-ucs.h: Include "elhash.h".
1980         (Vchar_attribute_hash_table): New external variable.
1981         (struct Lisp_Charset): Delete `encoding_table'.
1982         (CHARSET_ENCODING_TABLE): New implementation; refer
1983         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1984         `Lisp_Charset'.
1985
1986 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1987
1988         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1989         (cs) == 0.
1990
1991 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1992
1993         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1994         `chinese-big5'.
1995
1996 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1997
1998         * chartab.c (uint8_byte_table_description): New constant.
1999         (uint8-byte-table): Use `uint8_byte_table_description'.
2000         (uint16_byte_table_description): New constant.
2001         (uint16-byte-table): Use `uint16_byte_table_description'.
2002
2003 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2004
2005         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2006         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2007
2008 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2009
2010         * mule-charset.c (Vcharset_ucs_ks): New variable.
2011         (Qucs_ks): New variable.
2012         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2013         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2014
2015         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2016
2017 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2018
2019         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2020         (Fdecode_char): Likewise.
2021
2022         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2023         chartab.h.
2024         (Fdefine_char): Modify for Fdecode_char.
2025         (Ffind_char): Likewise.
2026
2027         * mule-charset.c (Fdecode_char): Add new optional argument
2028         `defined-only'.
2029         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2030
2031 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2032
2033         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2034         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2035         (allocate_coding_system): Initialize initial-charsets of
2036         CODESYS_BIG5 in XEmacs UTF-2000.
2037         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2038         CODESYS_BIG5 in XEmacs UTF-2000.
2039         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2040         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2041
2042         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2043         variables.
2044         (Qideograph_hanziku_{1 .. 12}): Likewise.
2045         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2046         .. 12}'.
2047         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2048         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2049         `ideograph-hanziku-{1 .. 12}'.
2050
2051         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2052         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2053         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2054         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2055         (DECODE_DEFINED_CHAR): New inline function.
2056         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2057
2058 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2059
2060         * mule-charset.c (Vcharset_china3_jef): Renamed from
2061         `Vcharset_japanese_jef_china3'.
2062         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2063         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2064         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2065         (syms_of_mule_charset): Rename `china3-jef' from
2066         `japanese-jef-china3'.
2067         (complex_vars_of_mule_charset): Likewise; rename
2068         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2069
2070         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2071         `LEADING_BYTE_JEF_CHINA3'.
2072         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2073         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2074
2075 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2076
2077         * mule-charset.c (encode_builtin_char_1): Comment out special code
2078         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2079
2080         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2081         (MAX_CHAR_MOJIKYO_0): Comment out.
2082         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2083         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2084         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2085         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2086
2087 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2088
2089         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2090         (Qideograph_cbeta): New variable.
2091         (encode_builtin_char_1): Comment out special code for
2092         coded-charset `mojikyo' and `japanese-jef-china3'.
2093         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2094         (complex_vars_of_mule_charset): Add new coded-charset
2095         `ideograph-cbeta'.
2096
2097         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2098         (MIN_CHAR_CBETA): New macro.
2099         (MAX_CHAR_CBETA): New macro.
2100
2101 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2102
2103         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2104         (LEADING_BYTE_JEF_CHINA3): New macro.
2105         (MIN_CHAR_JEF_CHINA3): New macro.
2106         (MAX_CHAR_JEF_CHINA3): Likewise.
2107         (DECODE_CHAR): Fixed.
2108
2109 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2110
2111         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2112         (Qjapanese_jef_china3): New variable.
2113         (encode_builtin_char_1): Support `japanese-jef-china3'.
2114         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2115         (complex_vars_of_mule_charset): Add new coded-charset
2116         `japanese-jef-china3'.
2117
2118 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2119
2120         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2121         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2122         94^4, 96^3, 96^4, 128^n and 256^n set.
2123         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2124         (map_char_table): Likewise.
2125
2126 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2127
2128         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2129         UTF-2000.
2130
2131 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2132
2133         * chartab.h (get_char_id_table): New inline function.
2134
2135         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2136         function.
2137
2138 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2139
2140         * chartab.h (decode_char_table_range): New prototype in XEmacs
2141         UTF-2000.
2142         (put_char_id_table): New inline function in XEmacs UTF-2000.
2143
2144         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2145         function.
2146         (decode_char_table_range): Delete static declaration in XEmacs
2147         UTF-2000.
2148
2149 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2150
2151         * chartab.c (put_char_id_table): Use `put_char_table'.
2152
2153 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2154
2155         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2156         (map_over_uint16_byte_table): Likewise.
2157         (map_over_byte_table): Likewise.
2158         (map_char_table): Modify for `map_over_uint8_byte_table',
2159         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2160         UTF-2000.
2161
2162 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2163
2164         * chartab.c (struct map_char_table_for_charset_arg): New
2165         structure.
2166         (map_char_table_for_charset_fun): New function.
2167         (map_char_table): Use `map_char_table' for encoding_table of
2168         `range->charset'.
2169
2170 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2171
2172         * chartab.c (map_char_table): Check a character is found in
2173         range->charset instead of non default value is defined in
2174         char-table when range is CHARTAB_RANGE_ROW.
2175
2176 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2177
2178         * chartab.c (map_char_id_table): Deleted.
2179         (Fmap_char_attribute): Use `map_char_table' instead of
2180         `map_char_id_table'.
2181
2182 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2183
2184         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2185         UTF-2000.
2186         (update_syntax_table): Deleted in XEmacs UTF-2000.
2187
2188         * syntax.c (find_defun_start): Use `syntax_table' instead of
2189         `mirror_syntax_table' in XEmacs UTF-2000.
2190         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2191         UTF-2000.
2192         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2193         XEmacs UTF-2000.
2194         (Fmatching_paren): Likewise.
2195         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2196         in XEmacs UTF-2000.
2197         (find_start_of_comment): Likewise.
2198         (find_end_of_comment): Likewise.
2199         (Fforward_comment): Likewise.
2200         (scan_lists): Likewise.
2201         (char_quoted): Likewise.
2202         (Fbackward_prefix_chars): Likewise.
2203         (scan_sexps_forward): Likewise.
2204         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2205         (update_syntax_table): Likewise.
2206
2207         * search.c (skip_chars): Use `syntax_table' instead of
2208         `mirror_syntax_table' in XEmacs UTF-2000.
2209         (wordify): Likewise.
2210         (Freplace_match): Likewise.
2211
2212         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2213         `mirror_syntax_table' in XEmacs UTF-2000.
2214         (WORDCHAR_P_UNSAFE): Likewise.
2215         (re_match_2_internal): Likewise.
2216
2217         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2218         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2219
2220         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2221         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2222
2223         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2224         XEmacs UTF-2000.
2225
2226         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2227         UTF-2000.
2228         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2229         (char_table_description): Delete `mirror_table' in XEmacs
2230         UTF-2000.
2231         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2232         UTF-2000.
2233         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2234         (Fcopy_char_table): Likewise.
2235         (put_char_table): Don't call `update_syntax_table' in XEmacs
2236         UTF-2000.
2237
2238         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2239         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2240         (casify_region_internal): Likewise.
2241
2242         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2243
2244         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2245         `mirror_syntax_table' in XEmacs UTF-2000.
2246
2247         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2248         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2249         (Fexpand_abbrev): Likewise.
2250
2251 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2252
2253         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2254
2255 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2256
2257         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2258         (map_over_uint16_byte_table): Likewise.
2259         (map_over_byte_table): Likewise.
2260         (get_char_id_table): Refer `cit->default_value'.
2261         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2262         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2263         of character-id ranges.
2264         (mark_char_table): Mark `ct->default_value'.
2265         (char_table_description): Add `default_value'.
2266         (fill_char_table): Use `default_value'.
2267         (decode_char_table_range): Decode `nil' as
2268         `CHARTAB_RANGE_DEFAULT'.
2269         (get_char_id_table): Refer `cit->default_value'.
2270         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2271         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2272         temporary hack; check value of char-table is bound or not.
2273         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2274
2275         * chartab.h (struct Lisp_Char_Table): Add new member
2276         `default_value' in XEmacs UTF-2000.
2277         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2278         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2279         UTF-2000.
2280
2281 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2282
2283         * chartab.h (Lisp_Char_ID_Table): Deleted.
2284
2285         * chartab.c (char_table_description): Fix typo.
2286         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2287         `Lisp_Char_ID_Table'.
2288
2289 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2290
2291         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2292         `CHAR_ID_TABLE_P'.
2293
2294         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2295         `CHAR_ID_TABLE_P'.
2296
2297         * chartab.h (XCHAR_ID_TABLE): Deleted.
2298         (XSETCHAR_ID_TABLE): Deleted.
2299         (CHAR_ID_TABLE_P): Deleted.
2300
2301         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2302         `CHAR_ID_TABLE_P'.
2303         (Fget_composite_char): Likewise.
2304         (put_char_table): Likewise.
2305         (add_char_attribute_alist_mapper): Fixed.
2306         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2307         `CHAR_ID_TABLE_P'.
2308         (Fget_char_attribute): Likewise.
2309         (Fget_char_attribute): Likewise.
2310         (Fmap_char_attribute): Likewise.
2311
2312         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2313         `CHAR_ID_TABLE_P'.
2314         (encode_char_1): Likewise.
2315
2316 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2317
2318         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2319         `XCHAR_ID_TABLE'.
2320
2321         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2322         instead of `XCHAR_ID_TABLE'.
2323         (remove_char_ccs): Likewise.
2324
2325         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2326         `XCHAR_ID_TABLE'.
2327         (Fget_composite_char): Likewise.
2328         (Fchar_variants): Likewise.
2329         (put_char_table): Likewise.
2330         (add_char_attribute_alist_mapper): Likewise.
2331         (Fchar_attribute_alist): Likewise.
2332         (Fget_char_attribute): Likewise.
2333         (Fput_char_attribute): Likewise.
2334         (Fmap_char_attribute): Likewise.
2335         (Fmap_char_attribute): Likewise.
2336
2337         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2338         `XCHAR_ID_TABLE'.
2339         (encode_char_1): Likewise.
2340
2341 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2342
2343         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2344         `Lisp_Char_ID_Table'.
2345         (mark_char_id_table): Deleted.
2346         (print_char_id_table): Likewise.
2347         (char_id_table_equal): Likewise.
2348         (char_id_table_hash): Likewise.
2349         (char_id_table_description): Likewise.
2350         (char_id_table): Likewise.
2351         (make_char_id_table): Use `Fmake_char_table' and
2352         `fill_char_table'.
2353         (get_char_id_table): Use `Lisp_Char_Table' instead of
2354         `Lisp_Char_ID_Table'.
2355         (put_char_id_table): Likewise.
2356         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2357         `XCHAR_ID_TABLE'.
2358         (Fremove_char_attribute): Likewise.
2359         (syms_of_chartab): Don't define type `char-id-table'.
2360
2361         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2362         (char_id_table): Likewise.
2363         (GC_CHAR_ID_TABLE_P): Likewise.
2364         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2365         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2366         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2367         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2368         (get_char_id_table): Use `Lisp_Char_Table' instead of
2369         `Lisp_Char_ID_Table'.
2370         (put_char_id_table_0): Likewise.
2371         (put_char_id_table): Likewise.
2372
2373 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2374
2375         * chartab.h: Lisp_Byte_Table related codes are moved from
2376         chartab.h.
2377
2378         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2379
2380 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2381
2382         * chartab.h: Don't include "chartab.h".
2383         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2384         (Lisp_Char_ID_Table): Likewise.
2385         (char_id_table): Likewise.
2386         (XCHAR_ID_TABLE): Likewise.
2387         (XSETCHAR_ID_TABLE): Likewise.
2388         (CHAR_ID_TABLE_P): Likewise.
2389         (GC_CHAR_ID_TABLE_P): Likewise.
2390         (get_char_id_table): Likewise.
2391
2392         * char-ucs.h: Include "chartab.h".
2393         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2394         (Lisp_Char_ID_Table): Likewise.
2395         (char_id_table): Likewise.
2396         (XCHAR_ID_TABLE): Likewise.
2397         (XSETCHAR_ID_TABLE): Likewise.
2398         (CHAR_ID_TABLE_P): Likewise.
2399         (GC_CHAR_ID_TABLE_P): Likewise.
2400         (get_char_id_table): Likewise.
2401
2402 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2403
2404         * chartab.c (copy_uint8_byte_table): New function.
2405         (copy_uint16_byte_table): New function.
2406         (copy_byte_table): New function.
2407         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2408         characters to call.
2409         (map_over_uint16_byte_table): Likewise.
2410         (map_over_byte_table): Likewise.
2411         (get_byte_table): Move prototype to chartab.h.
2412         (put_byte_table): Likewise.
2413         (put_char_id_table_0): Moved to chartab.h.
2414         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2415         (char_table_entry_equal): Likewise.
2416         (char_table_entry_hash): Likewise.
2417         (char_table_entry_description): Likewise.
2418         (char_table_entry): Likewise.
2419         (make_char_table_entry): Likewise.
2420         (copy_char_table_entry): Likewise.
2421         (get_non_ascii_char_table_value): Likewise.
2422         (map_over_charset_ascii): Likewise.
2423         (map_over_charset_control_1): Likewise.
2424         (map_over_charset_row): Likewise.
2425         (map_over_other_charset): Likewise.
2426         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2427         (print_char_table): Likewise.
2428         (char_table_equal): Likewise.
2429         (char_table_hash): Likewise.
2430         (char_table_description): Likewise.
2431         (fill_char_table): Likewise.
2432         (Fcopy_char_table): Likewise.
2433         (get_char_table): Likewise.
2434         (Fget_range_char_table): Likewise.
2435         (put_char_table): Likewise.
2436         (map_char_table): Likewise.
2437         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2438         UTF-2000.
2439
2440 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2441
2442         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2443         `Vauto_fill_chars' in XEmacs UTF-2000.
2444
2445         * chartab.h (get_byte_table): New prototype [moved from
2446         chartab.c].
2447         (put_byte_table): Likewise [moved from chartab.c].
2448         (put_char_id_table_0): New inline function [moved from chartab.c].
2449         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2450         (Lisp_Char_Table_Entry): Likewise.
2451         (char_table_entry): Likewise.
2452         (XCHAR_TABLE_ENTRY): Likewise.
2453         (XSETCHAR_TABLE_ENTRY): Likewise.
2454         (CHAR_TABLE_ENTRYP): Likewise.
2455         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2456         (NUM_ASCII_CHARS): Likewise.
2457         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2458         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2459
2460 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2461
2462         * chartab.c (get_char_id_table): Change interface.
2463         (put_char_id_table_0): New function.
2464         (put_char_id_table): Change interface; new implementation.
2465         (Fget_composite_char): Modify for interface change of
2466         `get_char_id_table'.
2467         (Fchar_variants): Likewise.
2468         (add_char_attribute_alist_mapper): Likewise.
2469         (Fchar_attribute_alist): Likewise.
2470         (Fget_char_attribute): Likewise.
2471         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2472         as same as character as the first argument like `put-char-table';
2473         modify for interface change of `put_char_id_table'.
2474         (Fremove_char_attribute): Modify for interface change of
2475         `put_char_id_table'.
2476
2477 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2478
2479         * text-coding.c: Sync up with XEmacs 21.2.41.
2480         (COMPOSE_ADD_CHAR): Modify for interface change of
2481         `get_char_id_table'.
2482
2483         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2484         change of `put_char_id_table'.
2485         (remove_char_ccs): Likewise.
2486
2487         * chartab.h (put_char_id_table): Change interface.
2488
2489         * char-ucs.h (get_char_id_table): Change interface.
2490         (charset_code_point): Modify for interface change of
2491         `get_char_id_table'.
2492         (encode_char_1): Likewise.
2493
2494 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2495
2496         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2497         argument `ccs'.
2498         (map_over_uint16_byte_table): Likewise.
2499         (map_over_byte_table): Likewise.
2500         (map_char_id_table): Add new argument `range' like
2501         `map_char_table'.
2502         (Fmap_char_attribute): Add new argument `range' like
2503         `Fmap_char_table'.
2504
2505 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2506
2507         * chartab.c (map_over_uint8_byte_table): Change interface of
2508         mapping function to use struct chartab_range instead of Emchar.
2509         (map_over_uint16_byte_table): Likewise.
2510         (map_over_byte_table): Likewise.
2511         (map_char_id_table): Likewise.
2512         (struct slow_map_char_id_table_arg): Deleted.
2513         (slow_map_char_id_table_fun): Deleted.
2514         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2515         function `slow_map_char_table_fun' instead of struct
2516         `slow_map_char_id_table_arg' and function
2517         `slow_map_char_id_table_fun'.
2518
2519 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2520
2521         * mule-charset.c: Move char-it-table related codes to chartab.c.
2522         (Vutf_2000_version): Moved to chartab.c.
2523         (Fdefine_char): Likewise.
2524         (Ffind_char): Likewise.
2525         (syms_of_mule_charset): Move types `uint8-byte-table',
2526         `uint16-byte-table', `byte-table' and `char-id-table' to
2527         chartab.c; move functions `char_attribute_list,
2528         `find_char_attribute_table, `char_attribute_alist,
2529         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2530         `map_char_attribute, `define_char, `find_char, `char_variants and
2531         `get_composite_char to chartab.c; move symbols `=>ucs',
2532         `->decomposition', `compat', `isolated', `initial', `medial',
2533         `final', `vertical', `noBreak', `fraction', `super', `sub',
2534         `circle', `square', `wide', `narrow', `small' and `font' to
2535         chartab.c.
2536         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2537         setting codes for `Vcharacter_composition_table' and
2538         `Vcharacter_variant_table' to chartab.c.
2539         (complex_vars_of_mule_charset): Move setting code for
2540         `Vchar_attribute_hash_table' to chartab.c.
2541
2542         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2543         (make_char_id_table): New prototype.
2544         (put_char_id_table): Likewise.
2545         (Fget_char_attribute): Likewise.
2546
2547         * chartab.c: Move char-id-table related code from mule-charset.c.
2548         (Vutf_2000_version): Moved from mule-charset.c.
2549
2550         * char-ucs.h (Qucs): New external variable.
2551         (put_char_ccs_code_point): New prototype.
2552         (remove_char_ccs): Likewise.
2553
2554 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2555
2556         * mule-charset.c (Vcharset_ucs_jis): New variable.
2557         (Qucs_jis): Likewise.
2558         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2559         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2560
2561         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2562
2563 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2564
2565         * mule-charset.c (map_over_uint8_byte_table): New function.
2566         (map_over_uint16_byte_table): Likewise.
2567         (map_over_byte_table): Likewise.
2568         (map_char_id_table): Likewise.
2569         (slow_map_char_id_table_fun): Likewise.
2570         (Fmap_char_attribute): Likewise.
2571         (syms_of_mule_charset): Add new function `map-char-attribute'.
2572
2573 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2574
2575         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2576         (syms_of_mule_charset): Add new function `find-char'.
2577
2578 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2579
2580         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2581         XEmacs UTF-2000.
2582         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2583         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2584         XEmacs UTF-2000.
2585         (complex_vars_of_mule_charset): Add new coded-charset
2586         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2587         `ideograph-gt-pj-*'.
2588
2589         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2590
2591 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2592
2593         * mule-charset.c (encode_builtin_char_1): Purge codes about
2594         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2595         {MIN|MAX}_CHAR_HEBREW.
2596         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2597         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2598
2599         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2600         (MAX_CHAR_GREEK): Purged.
2601         (MIN_CHAR_CYRILLIC): Purged.
2602         (MAX_CHAR_CYRILLIC): Purged.
2603         (MIN_CHAR_HEBREW): Commented out.
2604         (MAX_CHAR_HEBREW): Likewise.
2605
2606 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2607
2608         * mule-charset.c (Qto_ucs): New variable.
2609         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2610         (Fdefine_char): Likewise.
2611         (syms_of_mule_charset): Add new symbol `=>ucs'.
2612
2613 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2614
2615         * mule-charset.c (Fdecode_char): Fixed.
2616
2617 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2618
2619         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2620         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2621         "tcvn5712-1".
2622
2623 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2624
2625         * mule-charset.c (Vcharset_ucs_big5): New variable.
2626         (Qucs_big5): Likewise.
2627         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2628         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2629
2630         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2631
2632 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2633
2634         * mule-charset.c (decode_builtin_char): Check Big5 code range
2635         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2636
2637 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2638
2639         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2640         (Qchinese_gb12345): Likewise.
2641         (Fdecode_builtin_char): Fixed.
2642         (syms_of_mule_charset): Add `chinese-gb12345'.
2643         (complex_vars_of_mule_charset): Add coded-charset
2644         `chinese-gb12345'.
2645
2646         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2647         (LEADING_BYTE_CHINESE_GB12345): New macro.
2648
2649 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2650
2651         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2652         and `latin-viscii-upper' for `latin-viscii'.
2653
2654 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2655
2656         * mule-charset.c (Fdecode_builtin_char): Comment out
2657         regularization code for ISO-IR GR representation.
2658
2659 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2660
2661         * mule-charset.c (decode_builtin_char): New function; renamed from
2662         `make_builtin_char'; return -1 instead of signal.
2663         (Fdecode_builtin_char): Use `decode_builtin_char'.
2664
2665         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2666         `make_builtin_char'.
2667         (DECODE_CHAR): Use `decode_builtin_char' instead of
2668         `make_builtin_char'; use mapping table of `chinese-big5' for
2669         `chinese-big5-{1,2}'.
2670
2671 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2672
2673         * text-coding.c (char_encode_big5): New function.
2674         (char_finish_big5): Likewise.
2675         (reset_encoding_stream): Use `char_encode_big5' and
2676         `char_finish_big5' for CODESYS_BIG5.
2677         (mule_encode): Don't use `encode_coding_big5'.
2678         (encode_coding_big5): Deleted.
2679
2680 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2681
2682         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2683         0x81- in XEmacs UTF-2000.
2684         (detect_coding_big5): Likewise.
2685
2686 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2687
2688         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2689         generate character-id if the CCS property does not have
2690         corresponding predefined character.
2691         (make_builtin_char): Return -1 if corresponding predefined
2692         character is not found.
2693         (Fdecode_char): Return nil if corresponding character is not
2694         found.
2695         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2696         don't map to builtin ucs space.
2697
2698 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2699
2700         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2701         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2702
2703 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2704
2705         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2706         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2707         (Qideograph_gt): Likewise.
2708         (Qideograph_gt_pj_{1..11}): Likewise.
2709         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2710         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2711         `ideograph-gt-pj-11'.
2712         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2713         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2714         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2715
2716         * char-ucs.h (LEADING_BYTE_GT): New macro.
2717         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2718         (MIN_CHAR_GT): Likewise.
2719         (MAX_CHAR_GT): Likewise.
2720
2721 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2722
2723         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2724         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2725
2726         * doprnt.c (unsigned_int_converters): Add `c'.
2727         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2728
2729         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2730         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2731         `MIN_CHAR_MOJIKYO'.
2732         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2733         (MAX_CHAR_MOJIKYO_0): New macro.
2734         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2735
2736 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2737
2738         * mule-charset.c (Fdefine_char): Delete cemented out code.
2739         (encode_builtin_char_1): Modify for new allocation of builtin
2740         Mojikyo characters.
2741
2742         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2743
2744 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2745
2746         * mule-charset.c (Vcharset_ucs_cns): New variable.
2747         (Qucs_cns): New variable.
2748         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2749         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2750
2751 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2752
2753         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2754
2755 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2756
2757         * search.c (search_buffer): Make `charset_base_code' as
2758         character-id >> 6 to eliminate the corresponding last byte in
2759         UTF-8 representation [I'm not sure it is right thing].
2760         (boyer_moore): Likewise.
2761
2762 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2763
2764         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2765         representation in MULE.
2766
2767 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2768
2769         * text-coding.c (Fmake_coding_system): Use
2770         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2771         `EXTERNAL_PROPERTY_LIST_LOOP'.
2772
2773 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2774
2775         * text-coding.c (decode_output_utf8_partial_char): New function.
2776         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2777
2778 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2779
2780         * text-coding.c (decode_coding_utf8): Output original byte
2781         sequence if it is broken; change order of conditions.
2782
2783         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2784         of conditions.
2785
2786         * mb-multibyte.h (BYTE_ASCII_P):
2787         Use bit ops for char-signedness safety.
2788         (BYTE_C0_P): Use bit ops for char-signedness safety.
2789         (BYTE_C1_P): Use bit ops for char-signedness safety.
2790
2791         * character.h: (XCHAR_OR_CHAR_INT):
2792         Always use inline function.
2793         Remove redundant type checking assert() - XINT will abort quite
2794         nicely.
2795
2796 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2797
2798         * text-coding.c: (Fencode_shift_jis_char):
2799         (Fencode_big5_char):
2800         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2801         Replace 0 with '\0' when working with bytes.
2802         Replace initial "(" with "\(" in docstrings.
2803
2804         (Fmake_coding_system):
2805         When type is ccl and value is vector, register it with a proper
2806         symbol.  And checks whether the given ccl program is valid.
2807         (mule_decode): When calling ccl_driver, if src indicates
2808         NULL pointer, set an empty string instead.
2809         (mule_encode): Likewise.
2810
2811         (detect_eol_type):
2812         (detect_coding_sjis):
2813         (decode_coding_sjis):
2814         (detect_coding_big5):
2815         (decode_coding_big5):
2816         (detect_coding_ucs4):
2817         (decode_coding_ucs4):
2818         (detect_coding_utf8):
2819         (decode_coding_utf8):
2820         (detect_coding_iso2022):
2821         (decode_coding_iso2022):
2822         (decode_coding_no_conversion):
2823         (mule_decode):
2824         Make all detecting and decoding functions take an Extbyte * arg.
2825         (text_encode_generic):
2826         (encode_coding_big5):
2827         (encode_coding_no_conversion):
2828         (mule_encode):
2829         Make all encoding functions take a Bufbyte * arg.
2830         Use size_t instead of unsigned int for memory sizes.
2831         Only cast to unsigned char whenever dereferencing Extbyte *.
2832
2833         (struct lrecord_description fcd_description_1): Use countof.
2834         (complex_vars_of_file_coding):
2835         Use countof instead of sizeof.
2836         Use CHECK_NATNUM instead of CHECK_INT.
2837
2838 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2839
2840         * mule-charset.c (Fget_char_attribute): Add new optional argument
2841         `default-value'.
2842         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2843         (remove_char_ccs): Likewise.
2844
2845 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2846
2847         * text-coding.c (char_encode_shift_jis): New implementation in
2848         UTF-2000.
2849         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2850         ...)'.
2851
2852         * mule-charset.c (Vcharset_chinese_big5): New variable in
2853         UTF-2000.
2854         (Qchinese_big5): New variable in UTF-2000.
2855         (BIG5_SAME_ROW): New macro in UTF-2000.
2856         (make_builtin_char): Use builtin characters of
2857         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2858         characters of `Vcharset_chinese_big5'.
2859         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2860         (complex_vars_of_mule_charset): Add new coded-charset
2861         `chinese-big5' in UTF-2000.
2862
2863         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2864         (Vcharset_chinese_big5): New external variable declaration.
2865         (Vcharset_japanese_jisx0208_1990): Likewise.
2866
2867 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2868
2869         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2870         function.
2871         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2872
2873 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2874
2875         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2876         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2877         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2878         `mojikyo-pj-*'.
2879
2880 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2881
2882         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2883
2884 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2885
2886         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2887         to 0.17.
2888
2889 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2890
2891         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2892         for `CHARSET_BY_ATTRIBUTES'.
2893         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2894         `CHARSET_BY_ATTRIBUTES'.
2895
2896         * text-coding.c (struct decoding_stream): Rename member `CH' to
2897         `CPOS'.
2898         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2899         (decode_coding_sjis): Likewise.
2900         (decode_coding_big5): Likewise.
2901         (decode_coding_ucs4): Likewise.
2902         (decode_coding_utf8): Likewise.
2903         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2904         `CHARSET_BY_ATTRIBUTES'.
2905         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2906         `str->counter'; decode 3, 4 bytes sets.
2907         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2908         sets.
2909         (decode_coding_no_conversion): Use `str->cpos' instead of
2910         `str->ch'.
2911
2912         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2913         (Qmojikyo_2022_1): New variable.
2914         (make_charset): Don't use `CHARSET_TYPE_*'.
2915         (range_charset_code_point): Support coded-charset
2916         `mojikyo-2022-1'.
2917         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2918         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2919         `CHARSET_BY_ATTRIBUTES'.
2920         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2921         `CHARSET_BY_ATTRIBUTES'.
2922         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2923         (complex_vars_of_mule_charset): Add new coded-charset
2924         `mojikyo-2022-1'.
2925
2926         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2927         interface; changed to inline function.
2928
2929         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2930         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2931         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2932         (CHARSET_TYPE_94): Deleted.
2933         (CHARSET_TYPE_94X94): Deleted.
2934         (CHARSET_TYPE_96): Deleted.
2935         (CHARSET_TYPE_96X96): Deleted.
2936         (CHARSET_TYPE_128): Deleted.
2937         (CHARSET_TYPE_128X128): Deleted.
2938         (CHARSET_TYPE_256): Deleted.
2939         (CHARSET_TYPE_256X256): Deleted.
2940         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2941         to inline function.
2942         (DECODE_MOJIKYO_2022): New inline function.
2943         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2944         `Vcharset_mojikyo_2022_1'.
2945
2946 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2947
2948         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2949         instead of `EQ'.
2950         (put_byte_table): Likewise.
2951         (char_id_table_equal): Use `get_byte_table' [new implementation].
2952
2953 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2954
2955         * mule-charset.c: Include <limits.h> in UTF-2000.
2956         (BT_UINT8_MIN): New macro in UTF-2000.
2957         (BT_UINT8_MAX): New macro in UTF-2000.
2958         (BT_UINT8_t): New macro in UTF-2000.
2959         (BT_UINT8_nil): New macro in UTF-2000.
2960         (BT_UINT8_unbound): New macro in UTF-2000.
2961         (INT_UINT8_P): New inline function in UTF-2000.
2962         (UINT8_VALUE_P): New inline function in UTF-2000.
2963         (UINT8_ENCODE): New inline function in UTF-2000.
2964         (UINT8_DECODE): New inline function in UTF-2000.
2965         (mark_uint8_byte_table): New function in UTF-2000.
2966         (print_uint8_byte_table): New function in UTF-2000.
2967         (uint8_byte_table_equal): New function in UTF-2000.
2968         (uint8_byte_table_hash): New function in UTF-2000.
2969         (make_uint8_byte_table): New function in UTF-2000.
2970         (uint8_byte_table_same_value_p): New function in UTF-2000.
2971         (BT_UINT16_MIN): New macro in UTF-2000.
2972         (BT_UINT16_MAX): New macro in UTF-2000.
2973         (BT_UINT16_t): New macro in UTF-2000.
2974         (BT_UINT16_nil): New macro in UTF-2000.
2975         (BT_UINT16_unbound): New macro in UTF-2000.
2976         (INT_UINT16_P): New inline function in UTF-2000.
2977         (UINT16_VALUE_P): New inline function in UTF-2000.
2978         (UINT16_ENCODE): New inline function in UTF-2000.
2979         (UINT16_DECODE): New inline function in UTF-2000.
2980         (UINT8_TO_UINT16): New inline function in UTF-2000.
2981         (mark_uint16_byte_table): New function in UTF-2000.
2982         (print_uint16_byte_table): New function in UTF-2000.
2983         (uint16_byte_table_equal): New function in UTF-2000.
2984         (uint16_byte_table_hash): New function in UTF-2000.
2985         (make_uint16_byte_table): New function in UTF-2000.
2986         (uint16_byte_table_same_value_p): New function in UTF-2000.
2987         (print_byte_table): New function in UTF-2000.
2988         (byte-table): Use `print_byte_table' as printer.
2989         (make_byte_table): Delete second argument `older'.
2990         (byte_table_same_value_p): New function in UTF-2000.
2991         (copy_byte_table): Deleted.
2992         (get_byte_table): New function in UTF-2000.
2993         (put_byte_table): New function in UTF-2000.
2994         (print_char_id_table): New function in UTF-2000.
2995         (char-id-table): Use `print_char_id_table' as printer.
2996         (make_char_id_table): Delete second argument `older'.
2997         (get_char_id_table): Use `get_byte_table [new implementation].
2998         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2999         implementation].
3000         (Ffind_char_attribute_table): New function in UTF-2000.
3001         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3002         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3003         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3004         (syms_of_mule_charset): Add new function
3005         `find-char-attribute-table' in UTF-2000.
3006
3007         * lrecord.h (enum lrecord_type): Add
3008         `lrecord_type_uint16_byte_table' and
3009         `lrecord_type_uint8_byte_table'.
3010
3011         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3012         (Lisp_Uint8_Byte_Table): New type.
3013         (XUINT8_BYTE_TABLE): New macro.
3014         (XSETUINT8_BYTE_TABLE): New macro.
3015         (UINT8_BYTE_TABLE_P): New macro.
3016         (GC_UINT8_BYTE_TABLE_P): New macro.
3017         (struct Lisp_Uint16_Byte_Table): New structure.
3018         (Lisp_Uint16_Byte_Table): New type.
3019         (XUINT16_BYTE_TABLE): New macro.
3020         (XSETUINT16_BYTE_TABLE): New macro.
3021         (UINT16_BYTE_TABLE_P): New macro.
3022         (GC_UINT16_BYTE_TABLE_P): New macro.
3023
3024 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3025
3026         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3027         (Vcharacter_ideographic_strokes_table): Deleted.
3028         (Vcharacter_total_strokes_table): Deleted.
3029         (Vcharacter_morohashi_daikanwa_table): Deleted.
3030         (Vcharacter_decomposition_table): Deleted.
3031         (Qname): Deleted because it is duplicated.
3032         (Qideographic_radical): Deleted.
3033         (Qideographic_strokes): Deleted.
3034         (Qtotal_strokes): Deleted.
3035         (Qmorohashi_daikanwa): Deleted.
3036         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3037         `ideographic-radical', `ideographic-strokes', `total-strokes',
3038         `morohashi-daikanwa' and `->decomposition'.
3039         (Fget_char_attribute): Likewise.
3040         (Fput_char_attribute): Likewise; use `make-vector' instead of
3041         `make_older_vector' for `->decomposition' value.
3042         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3043         `ideograph-daikanwa'.
3044         (syms_of_mule_charset): Delete builtin symbols `name',
3045         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3046         `morohashi-daikanwa'.
3047         (vars_of_mule_charset): Don't setup
3048         `Vcharacter_ideographic_radical_table',
3049         `Vcharacter_ideographic_strokes_table',
3050         `Vcharacter_total_strokes_table',
3051         `Vcharacter_morohashi_daikanwa_table' and
3052         `Vcharacter_decomposition_table'.
3053
3054 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3055
3056         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3057         `make_older_vector', `make_vector_newer_1' and
3058         `make_vector_newer'.
3059
3060         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3061         `make_older_vector' and `make_vector_newer'.
3062
3063         * config.h.in (HAVE_GGC): New macro.
3064
3065 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3066
3067         * mule-charset.c (struct char_attribute_list_closure): New
3068         structure in UTF-2000.
3069         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3070         (Fchar_attribute_list): Likewise.
3071         (Fset_charset_mapping_table): Use `make_vector_newer'.
3072         (Fdecode_builtin_char): New function in UTF-2000.
3073         (syms_of_mule_charset): Add new function `char-attribute-list' and
3074         `decode-builtin-char' in UTF-2000.
3075
3076         * lisp.h (make_vector_newer): New prototype.
3077
3078         * alloc.c (make_vector_newer_1): New function.
3079         (make_vector_newer): New function.
3080
3081 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3082
3083         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3084         50100)'.
3085
3086 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3087
3088         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3089         (Vcharacter_attribute_table): Deleted.
3090         (Vcharacter_name_table): Deleted.
3091         (put_char_attribute): Deleted.
3092         (remove_char_attribute): Deleted.
3093         (struct char_attribute_alist_closure): New structure.
3094         (add_char_attribute_alist_mapper): New function.
3095         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3096         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3097         (Fget_char_attribute): Likewise.
3098         (Fput_char_attribute): Likewise.
3099         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3100         of `remove_char_attribute'.
3101         (Fdefine_char): Return character.
3102         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3103         and `Vcharacter_name_table'.
3104         (complex_vars_of_mule_charset): Likewise
3105         `Vchar_attribute_hash_table'.
3106
3107 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3108
3109         * character.h (CHARC_CHARSET): New macro.
3110         (CHARC_CHARSET_ID): New macro.
3111         (CHARC_CODE_POINT): New macro.
3112         (CHARC_COLUMNS): New macro.
3113         (CHARC_TO_CHAR): New inline function.
3114         (CHARC_EQ): New inline function.
3115         (CHARC_ASCII_EQ): New inline function.
3116         (CHARC_IS_SPACE): New inline function.
3117         (ASCII_TO_CHARC): New inline function.
3118
3119         * char-ucs.h (encode_char_2): Deleted.
3120         (ENCODE_CHAR): Use `encode_char_1' again.
3121         (breakup_char_1): Likewise.
3122         (CHAR_TO_CHARC): New inline function.
3123
3124         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3125
3126 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3127
3128         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3129         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3130         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3131         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3132         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3133         `CHARC_IS_SPACE'.
3134         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3135
3136         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3137         `CHARC_CODE_POINT'.
3138         (x_output_display_block): Use `CHARC_CHARSET' and
3139         `CHARC_ASCII_EQ'.
3140
3141         * redisplay-tty.c (tty_output_display_block): Use
3142         `CHARC_ASCII_EQ'.
3143         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3144
3145         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3146
3147         * insdel.c (find_charsets_in_charc_string): Use
3148         `CHARC_CHARSET_ID'.
3149         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3150         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3151         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3152         (convert_charc_string_into_malloced_string): Likewise.
3153
3154 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3155
3156         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3157         instead of <Emchar_dynarr *> for buf; use
3158         `convert_bufbyte_string_into_charc_dynarr' instead of
3159         `convert_bufbyte_string_into_emchar_dynarr'; use
3160         `find_charsets_in_charc_string' instead of
3161         `find_charsets_in_emchar_string'.
3162
3163         * redisplay.h:
3164         - Include "character.h".
3165         (struct rune): New member `cglyph'; delete member `chr'.
3166
3167         * redisplay.c (redisplay_text_width_charc_string): New function;
3168         delete `redisplay_text_width_emchar_string'.
3169         (rtw_charc_dynarr): New variable; renamed from
3170         `rtw_emchar_dynarr'.
3171         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3172         `rtw_emchar_dynarr'; use
3173         `convert_bufbyte_string_into_charc_dynarr' instead of
3174         `convert_bufbyte_string_into_emchar_dynarr'; use
3175         `redisplay_text_width_charc_string' instead of
3176         `redisplay_text_width_emchar_string'.
3177         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3178         instead of `rtw_emchar_dynarr'; use
3179         `convert_bufbyte_string_into_charc_dynarr' instead of
3180         `convert_bufbyte_string_into_emchar_dynarr'.
3181         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3182         `redisplay_text_width_charc_string' instead of
3183         `redisplay_text_width_emchar_string'.
3184         (create_text_block): Modify for <struct rune> change.
3185         (generate_formatted_string_db): Likewise.
3186         (create_string_text_block): Likewise.
3187         (pixel_to_glyph_translation): Likewise.
3188
3189         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3190         instead of <const Emchar *>.
3191         (x_text_width): Likewise.
3192         (x_output_display_block): Use <Charc_dynarr *> instead
3193         <Emchar_dynarr *>; modify for <structure rune> change.
3194         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3195         *>.
3196
3197         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3198         <const Emchar *>; use `charc_string_displayed_columns' instead of
3199         `emchar_string_displayed_columns'.
3200         (tty_output_display_block): Use <Charc_dynarr *> instead of
3201         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3202         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3203         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3204         `tty_output_emchar_dynarr_dynarr'.
3205         (tty_output_charc_dynarr): New function; delete
3206         `tty_output_charc_dynarr'.
3207
3208         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3209         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3210         <Emchar_dynarr *> for buf; use
3211         `convert_bufbyte_string_into_charc_dynarr' instead of
3212         `convert_bufbyte_string_into_emchar_dynarr'.
3213
3214         * frame.c (title_string_charc_dynarr): New variable; renamed from
3215         `title_string_emchar_dynarr'.
3216         (generate_title_string): Use `title_string_charc_dynarr' instead
3217         of `title_string_emchar_dynarr'; use
3218         `convert_charc_string_into_malloced_string' instead of
3219         `convert_emchar_string_into_malloced_string'.
3220         (init_frame): Use `title_string_charc_dynarr' instead of
3221         `title_string_emchar_dynarr'.
3222
3223         * console.h:
3224         - Include "character.h".
3225         (struct console_methods): Use <const Charc *> instead of <const
3226         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3227         <Emchar_dynarr *> in output_string_method.
3228
3229         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3230         <Emchar_dynarr *>.
3231
3232         * console-stream.c (stream_text_width): Use <const Charc *>
3233         instead of <const Emchar *>.
3234
3235         * character.h (Charc_dynarr): New type.
3236
3237         * char-ucs.h (structure Charc): New structure; define new type
3238         `Charc'.
3239
3240         * char-lb.h (DECODE_CHAR): New inline function.
3241         (encode_char_1): New inline function.
3242         (ENCODE_CHAR): New macro.
3243         (structure Charc): New structure; define new type `Charc'.
3244
3245         * char-1byte.h (Vcharset_control_1): New macro.
3246         (Vcharset_latin_iso8859_1): New macro.
3247         (DECODE_CHAR): New inline function.
3248         (encode_char_1): New inline function.
3249         (ENCODE_CHAR): New macro.
3250         (structure Charc): New structure; define new type `Charc'.
3251
3252         * insdel.c (find_charsets_in_charc_string): New function; delete
3253         `find_charsets_in_emchar_string'.
3254         (charc_string_displayed_columns): New function; delete
3255         `emchar_string_displayed_columns'.
3256         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3257         `convert_bufbyte_string_into_emchar_dynarr'.
3258         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3259         `convert_charc_string_into_bufbyte_dynarr'.
3260         (convert_charc_string_into_malloced_string): New function; delete
3261         `convert_charc_string_into_malloced_string'.
3262
3263         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3264         `find_charsets_in_emchar_string'.
3265         (charc_string_displayed_columns): New prototype; delete
3266         `emchar_string_displayed_columns'.
3267         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3268         `convert_charc_string_into_bufbyte_dynarr'.
3269         (convert_charc_string_into_malloced_string): New prototype; delete
3270         `convert_charc_string_into_malloced_string'.
3271
3272 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3273
3274         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3275
3276 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3277
3278         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3279
3280         * char-ucs.h: Use <short> for <Charset_ID>.
3281
3282         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3283         <Charset_ID>.
3284
3285 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3286
3287         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3288         to 0.16.
3289
3290 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3291
3292         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3293         variable.
3294         (Qmorohashi_daikanwa): New variable.
3295         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3296         for `morohashi-daikanwa' attribute.
3297         (Fget_char_attribute): Likewise.
3298         (Fput_char_attribute): Likewise.
3299         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3300         has the same value of `ideograph-daikanwa'.
3301         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3302         (vars_of_mule_charset): Setup
3303         `Vcharacter_morohashi_daikanwa_table'.
3304
3305 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3306
3307         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3308         attributes.
3309         (add_charset_to_list_mapper): Add `key' instead of
3310         `XCHARSET_NAME (value)' to return aliases.
3311
3312 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3313
3314         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3315         variable.
3316         (Vcharacter_ideographic_strokes_table): New variable.
3317         (Qideographic_radical): New variable.
3318         (Qideographic_strokes): New variable.
3319         (Fchar_attribute_alist): Use
3320         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3321         attribute; use `Vcharacter_ideographic_strokes_table' for
3322         `ideographic-strokes' attribute.
3323         (Fget_char_attribute): Likewise.
3324         (Fput_char_attribute): Likewise.
3325         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3326         `ideographic-strokes'.
3327         (vars_of_mule_charset): Setup
3328         `Vcharacter_ideographic_radical_table' and
3329         `Vcharacter_ideographic_strokes_table'.
3330
3331 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3332
3333         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3334         (Qtotal_strokes): New variable.
3335         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3336         `total-strokes' attribute.
3337         (Fget_char_attribute): Likewise.
3338         (Fput_char_attribute): Likewise.
3339         (syms_of_mule_charset): Add new symbol `total-strokes'.
3340         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3341
3342 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3343
3344         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3345         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3346         are found.
3347         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3348         `->decomposition' attribute.
3349         (Fput_char_attribute): Likewise.
3350         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3351
3352 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3353
3354         * mule-charset.c (decoding_table_check_elements): New function.
3355         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3356
3357 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3358
3359         * mule-charset.c (Fset_charset_mapping_table): Use
3360         `put_char_ccs_code_point'.
3361
3362 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3363
3364         * mule-charset.c (decoding_table_put_char): New inline function.
3365         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3366
3367 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3368
3369         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3370         (XCHARSET_BYTE_SIZE): New macro.
3371         (decoding_table_remove_char): New inline function.
3372         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3373         `decoding_table_remove_char'.
3374         (remove_char_ccs): Use `decoding_table_remove_char'.
3375         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3376
3377 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3378
3379         * mule-charset.c (Vcharacter_name_table): New variable.
3380         (Qname): New variable.
3381         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3382         attribute.
3383         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3384         `Vcharacter_name_table' for `name' attribute.
3385         (Fremove_char_attribute): Use function `remove_char_ccs'.
3386         (put_char_ccs_code_point): New function.
3387         (remove_char_ccs): New function.
3388         (syms_of_mule_charset): Add new symbol `name'.
3389         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3390
3391 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3392
3393         * mule-charset.c (make_byte_table): Add new argument `older'.
3394         (make_char_id_table): Likewise.
3395         (copy_char_id_table): Comment out because it is not used.
3396         (put_char_id_table): Modify for `make_byte_table'.
3397         (Fput_char_attribute): Make encoding_table as older object;
3398         inherit older bit of `Vcharacter_composition_table'.
3399         (mark_charset): Don't mark `cs->encoding_table'.
3400         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3401         normal object; make `Vcharacter_composition_table' as an older
3402         object; delete staticpro for `Vcharacter_composition_table'; make
3403         `Vcharacter_variant_table' as a normal object.
3404
3405         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3406         (mark_object): Don't check older object in UTF-2000.
3407
3408         * lrecord.h (struct lrecord_header): Add new member `older' in
3409         UTF-2000.
3410         (set_lheader_implementation): Setup `SLI_header->older' in
3411         UTF-2000.
3412         (set_lheader_older_implementation): New macro in UTF-2000.
3413         (OLDER_RECORD_P): New macro in UTF-2000.
3414         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3415         (alloc_older_lcrecord): New prototype in UTF-2000.
3416         (alloc_older_lcrecord_type): New macro in UTF-2000.
3417
3418 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3419
3420         * mule-charset.c (byte_table_description): Use
3421         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3422         (char_id_table_description): Delete bogus `, 1'.
3423         (Fget_char_attribute): Refer encoding_table of each coded-charset
3424         to get value of coded-charset attribute of a character.
3425         (Fput_char_attribute): Use `make_older_vector' instead of
3426         `make_vector'; use encoding_table of each coded-charset to store
3427         value of coded-charset attribute of a character.
3428         (Fremove_char_attribute): Use encoding_table of each coded-charset
3429         to store value of coded-charset attribute of a character.
3430         (mark_charset): Mark `cs->encoding_table'; don't mark
3431         `cs->decoding_table'.
3432         (charset_description): Add description of new member
3433         `encoding_table'.
3434         (make_charset): Initialize `encoding_table'.
3435
3436         * char-ucs.h (struct Lisp_Charset): Add new member
3437         `encoding_table'.
3438         (CHARSET_ENCODING_TABLE): New macro.
3439         (XCHARSET_ENCODING_TABLE): New macro.
3440         (charset_code_point): New implementation.
3441         (encode_char_1): Likewise.
3442
3443         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3444         (disksave_object_finalization_1): Call finalizers of
3445         `all_older_lcrecords' in UTF-2000.
3446         (make_older_vector): New function in UTF-2000.
3447         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3448         UTF-2000.
3449
3450         * lisp.h (make_older_vector): New prototype in UTF-2000.
3451
3452 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3453
3454         * lrecord.h (enum lrecord_type): Rename
3455         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3456
3457         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3458         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3459         `get_char_code_table'.
3460
3461         * mule-charset.c (mark_char_id_table): Renamed from
3462         `mark_char_code_table'.
3463         (char_id_table_equal): Renamed from `char_code_table_equal'.
3464         (char_id_table_hash): Renamed from `char_code_table_hash'.
3465         (make_char_id_table): Renamed from `make_char_code_table'.
3466         (copy_char_id_table): Renamed from `copy_char_code_table'.
3467         (get_char_id_table): Renamed from `get_char_code_table'.
3468         (put_char_id_table): Renamed from `put_char_code_table'.
3469         (to_char_id): Renamed from `to_char_code'.
3470
3471         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3472         `Lisp_Char_Code_Table'.
3473         (char_id_table): Renamed from `char_code_table'.
3474         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3475         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3476         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3477         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3478         (get_char_id_table): Renamed from `get_char_code_table'.
3479
3480 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3481
3482         * lrecord.h (enum lrecord_type): Rename
3483         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3484
3485         * mule-charset.c (mark_byte_table): Renamed from
3486         `mark_char_byte_table'.
3487         (byte_table_equal): Renamed from `char_byte_table_equal'.
3488         (byte_table_hash): Renamed from `byte_table_hash'.
3489         (make_byte_table): Renamed from `make_byte_table'.
3490         (copy_byte_table): Renamed from `copy_char_byte_table'.
3491
3492         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3493         `Lisp_Char_Byte_Table'.
3494         (byte_table): Renamed from `char_byte_table'.
3495         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3496         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3497         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3498         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3499
3500 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3501
3502         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3503         (dfc_convert_to_internal_format): Likewise.
3504         
3505         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3506         * text-coding.c (Fcoding_system_alias_p): New function.
3507         * text-coding.c (Fcoding_system_aliasee): New function.
3508         * text-coding.c (append_suffix_to_symbol): New function.
3509         * text-coding.c (dangling_coding_system_alias_p): New function.
3510         * text-coding.c (Ffind_coding_system):
3511         * text-coding.c (Fcopy_coding_system):
3512         * text-coding.c (encode_coding_no_conversion):
3513         * text-coding.c (syms_of_file_coding):
3514         * text-coding.c (vars_of_file_coding):
3515         Rewrite coding system alias code.
3516         Allow nested aliases, like symbolic links.
3517         Allow redefinition of coding system aliases.
3518         Prevent existence of dangling coding system aliases.
3519         Eliminate convert_to_external_format.
3520         Eliminate convert_to_internal_format.
3521         
3522         * text-coding.c: Change enum eol_type to eol_type_t.
3523
3524 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3525
3526         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3527         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3528
3529         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3530         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3531
3532 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3533
3534         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3535         `ideograph-daikanwa'.
3536
3537         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3538         (Vcharset_ucs_bmp): Likewise.
3539         (Vcharset_mojikyo): Add new extern variable definition.
3540         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3541         (Vcharset_latin_iso8859_3): Likewise.
3542         (Vcharset_latin_iso8859_4): Likewise.
3543         (Vcharset_latin_iso8859_9): Likewise.
3544         (Vcharset_latin_viscii_lower): Likewise.
3545         (Vcharset_latin_viscii_upper): Likewise.
3546         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3547         `mojikyo' code-point is used to decode.
3548         (encode_char_2): New function [to convert `mojikyo' code-point to
3549         Mojikyo font encoding].
3550         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3551         (breakup_char_1): Likewise.
3552         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3553
3554 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3555
3556         * text-coding.c (Fmake_coding_system): Add document about
3557         `disable-composition' property.
3558
3559 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3560
3561         * text-coding.c (Qdisable_composition): New variable; delete
3562         `Qcomposite'.
3563         (Fmake_coding_system): Add new property `disable-composite';
3564         delete property `composite'.
3565         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3566         instead of `!CODING_SYSTEM_COMPOSITE'.
3567         (syms_of_file_coding): Add new symbol `disable-composition';
3568         delete symbol `composite'.
3569
3570         * file-coding.h (struct Lisp_Coding_System): Add
3571         `disable_composition'; delete `enable_composition'.
3572         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3573         `CODING_SYSTEM_COMPOSITE'.
3574         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3575         `XCODING_SYSTEM_COMPOSITE'.
3576
3577 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3578
3579         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3580         to 0.15.
3581
3582 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3583
3584         * text-coding.c (Qcomposite): New variable.
3585         (Fmake_coding_system): Add new property `composite'.
3586         (struct decoding_stream): Add `combined_char_count',
3587         `combined_chars' and `combining_table' in UTF-2000.
3588         (COMPOSE_FLUSH_CHARS): New macro.
3589         (COMPOSE_ADD_CHAR): New macro.
3590         (reset_decoding_stream): Reset `str->combined_char_count' and
3591         `str->combining_table' in UTF-2000.
3592         (decode_coding_iso2022): Modify for character-decomposition.
3593         (syms_of_file_coding): Add new symbol `composite'.
3594
3595 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3596
3597         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3598         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3599         of `Vcharacter_composition_table' if `->decomposition' property
3600         has only 1 element.
3601         (Qlatin_tcvn5712): New variable.
3602         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3603         (complex_vars_of_mule_charset): Add new coded-charset
3604         `latin-tcvn5712'.
3605
3606         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3607
3608 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3609
3610         * file-coding.h (struct Lisp_Coding_System): Add
3611         `enable_composition'.
3612         (CODING_SYSTEM_COMPOSITE): New macro.
3613         (XCODING_SYSTEM_COMPOSITE): New macro.
3614
3615 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3616
3617         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3618
3619 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3620
3621         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3622         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3623
3624 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3625
3626         * mule-charset.c (Vcharset_mojikyo): New variable.
3627         (Fdefine_char): Don't use coded-charset which does not have
3628         non-builtin character range to allocate character-id.
3629         (Qmojikyo): New variable.
3630         (syms_of_mule_charset): Add new symbol `mojikyo'.
3631         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3632
3633         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3634         (LEADING_BYTE_MOJIKYO): New macro.
3635         (MIN_CHAR_MOJIKYO): New macro.
3636         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3637         (MAX_CHAR_MOJIKYO): New macro.
3638
3639 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3640
3641         * mule-charset.c (remove_char_attribute): Fixed.
3642
3643 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3644
3645         * mule-charset.c (remove_char_attribute): New function.
3646         (Fremove_char_attribute): New function.
3647         (encode_builtin_char_1): Comment out builtin-support for
3648         greek-iso8859-7 and cyrillic-iso8859-5.
3649         (Fdecode_char): Check `code' is an integer.
3650         (syms_of_mule_charset): Add `remove-char-attribute'.
3651         (MIN_CHAR_GREEK): Deleted.
3652         (MAX_CHAR_GREEK): Likewise.
3653         (MIN_CHAR_CYRILLIC): Likewise.
3654         (MAX_CHAR_CYRILLIC): Likewise.
3655         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3656         MAX_CHAR_GREEK for `greek-iso8859-7'.
3657
3658         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3659         (MAX_CHAR_GREEK): Likewise.
3660         (MIN_CHAR_CYRILLIC): Likewise.
3661         (MAX_CHAR_CYRILLIC): Likewise.
3662
3663 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3664
3665         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3666         format is used without `ucs' property.
3667         (Fdecode_char): Fix problem with GR representation.
3668         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3669         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3670
3671 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3672
3673         * mule-charset.c (make_builtin_char): New function.
3674         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3675         (Fset_charset_mapping_table): Modify for new representation of
3676         code-point.
3677         (Fdecode_char): New function.
3678         (syms_of_mule_charset): Add new builtin function `decode-char' in
3679         UTF-2000.
3680
3681         * char-ucs.h (make_builtin_char): New prototype.
3682         (DECODE_CHAR): New inline function.
3683         (MAKE_CHAR): Use `DECODE_CHAR'.
3684
3685 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3686
3687         * text-coding.c (parse_charset_conversion_specs): Use
3688         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3689         `XCHARSET_TYPE'.
3690         (iso2022_designate): Likewise.
3691
3692         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3693         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3694
3695         * mule-charset.c (Vcharset_ucs): New variable.
3696         (print_charset): Change design; use `CHARSET_CHARS' and
3697         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3698         (make_charset): Change signature to specify `chars' and
3699         `dimension' instead of `type'.
3700         (range_charset_code_point): Modify for 256^n-set.
3701         (encode_builtin_char_1): Encode as `ucs' in default.
3702         (Fmake_charset): Modify for `make_charset'.
3703         (Fmake_reverse_direction_charset): Likewise.
3704         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3705         UTF-2000.
3706         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3707         for `make_charset'.
3708
3709         * char-ucs.h (Vcharset_ucs): New variable.
3710         (LEADING_BYTE_UCS): New macro.
3711         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3712         and `chars' to `unsigned short' from `unsigned int'.
3713         (CHARSET_TYPE): Deleted.
3714         (XCHARSET_TYPE): Deleted.
3715
3716 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3717
3718         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3719
3720         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3721         (ENCODE_CHAR): New macro.
3722
3723 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3724
3725         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3726         to 0.14 (Kawachi-Katakami).
3727
3728 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3729
3730         * text-coding.c (char_encode_shift_jis): Modify for
3731         `charset_code_point'.
3732         (char_encode_iso2022): Likewise.
3733
3734         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3735         (integer) instead of list of <Lisp_Object>s (integers) as the
3736         format of code-point of a coded-charset.
3737         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3738         (encode_builtin_char_1): New function; delete
3739         `split_builtin_char'.
3740         (charset_code_point): Return <int> instead of <Lisp_Object>.
3741         (Fsplit_char): Don't use `SPLIT_CHAR'.
3742
3743         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3744         prototype for `split_builtin_char'.
3745         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3746         (charset_code_point): Likewise.
3747         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3748         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3749
3750 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3751
3752         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3753         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3754
3755 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3756
3757         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3758
3759         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3760         (MAX_CHAR_OBS_94x94): Deleted.
3761
3762 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3763
3764         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3765
3766         * char-ucs.h (MAX_CHAR_BMP): New macro.
3767
3768 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3769
3770         * text-coding.c: Sync with r21-2-24.
3771
3772 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3773
3774         * file-coding.c: Modify for UTF-2000.
3775
3776 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3777
3778         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3779         to 0.13 (Takaida).
3780
3781 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3782
3783         * mule-charset.c (split_builtin_char): Delete builtin support for
3784         `katakana-jisx0201'.
3785         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3786         BMP area in builtin representation.
3787
3788         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3789         `Vcharset_katakana_jisx0201'.
3790
3791 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3792
3793         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3794         (Qisolated): New variable.
3795         (Qinitial): New variable.
3796         (Qmedial): New variable.
3797         (Qfinal): New variable.
3798         (Qvertical): New variable.
3799         (Qsmall): New variable.
3800         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3801         `Qvertical' and `Qsmall'.
3802         (Qmojikyo_pj_[1 .. 21]): New variable.
3803         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3804         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3805         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3806         .. 21]'.
3807
3808 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3809
3810         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3811         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3812         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3813
3814 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3815
3816         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3817         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3818         BMP.
3819         (Qjapanese_jisx0208_1990): New variable.
3820         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3821         (complex_vars_of_mule_charset): Add new coded-charset
3822         `japanese-jisx0208-1990'.
3823
3824         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3825         (MIN_CHAR_JIS_X0208_1990): New macro.
3826         (MAX_CHAR_JIS_X0208_1990): New macro.
3827
3828 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3829
3830         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3831         coded-charset is not found.
3832
3833 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3834
3835         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3836         (Fdefine_char): Use `Fmake_char'.
3837
3838 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3839
3840         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3841         (Vcharset_hiragana_jisx0208): Deleted.
3842         (Vcharset_katakana_jisx0208): Deleted.
3843         (Qideograph_daikanwa): New variable.
3844         (Qhiragana_jisx0208): Deleted.
3845         (Qkatakana_jisx0208): Deleted.
3846         (split_builtin_char): Split `ideograph-daikanwa'.
3847         (Fsplit_char): New implementation for UTF-2000.
3848         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3849         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3850         (complex_vars_of_mule_charset): Add new coded-charset
3851         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3852         `katakana-jisx0208'.
3853
3854         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3855         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3856         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3857         (MIN_CHAR_DAIKANWA): New macro.
3858         (MAX_CHAR_DAIKANWA): New macro.
3859
3860 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3861
3862         * data.c (Fstring_to_number): Don't recognize floating point if
3863         base is not 10.
3864
3865 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3866
3867         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3868
3869 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3870
3871         * mule-charset.c (Qsquare): New variable.
3872         (to_char_code): Add `Qsquare'.
3873         (syms_of_mule_charset): Add new symbol `square'.
3874
3875 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3876
3877         * mule-charset.c (Qcircle): New variable.
3878         (to_char_code): Add `Qcircle'.
3879         (syms_of_mule_charset): Add new symbol `circle'.
3880
3881 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3882
3883         * mule-charset.c (Qfont): New variable.
3884         (to_char_code): Add `Qfont'.
3885         (syms_of_mule_charset): Add new symbol `font'.
3886
3887 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3888
3889         * mule-charset.c (Qsub): New variable.
3890         (to_char_code): Add `Qsub'.
3891         (syms_of_mule_charset): Add new symbol `sub'.
3892
3893 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3894
3895         * mule-charset.c (Fput_char_attribute): Convert each element of
3896         VALUE to GL position if ATTRIBUTE is a GR-set,
3897
3898 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3899
3900         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3901         coded-charset is a GR-set.
3902
3903 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3904
3905         * mule-charset.c (Fput_char_attribute): Check each element of
3906         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3907
3908 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3909
3910         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3911         UTF-2000.
3912         (Qethiopic_ucs): New variable in UTF-2000.
3913         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3914         (complex_vars_of_mule_charset): Add new coded-charset
3915         `ethiopic-ucs' in UTF-2000.
3916
3917         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3918         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3919         9)'.
3920         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3921         10)'.
3922         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3923
3924 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3925
3926         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3927         `ascii'.
3928
3929 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3930
3931         * mule-charset.c (Vcharacter_variant_table): New variable.
3932         (Q_ucs): New variable.
3933         (Fchar_variants): New function.
3934         (Fput_char_attribute): Register `->ucs' value to
3935         `Vcharacter_variant_table'.
3936         (syms_of_mule_charset): Add new function `char-variants' and new
3937         symbol `->ucs'.
3938         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3939
3940 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3941
3942         * mule-charset.c (get_char_code_table): Allow negative character
3943         code.
3944         (put_char_code_table): Likewise.
3945         (Vcharacter_composition_table): New variable.
3946         (Q_decomposition): New variable.
3947         (Qwide): New variable.
3948         (Qnarrow): New variable.
3949         (Qcompat): New variable.
3950         (QnoBreak): New variable.
3951         (Qsuper): New variable.
3952         (Qfraction): New variable.
3953         (to_char_code): New function.
3954         (Fget_composite_char): New function.
3955         (Fput_char_attribute): Register `->decomposition' value to
3956         `Vcharacter_composition_table'.
3957         (syms_of_mule_charset): Add new function `get-composite-char', new
3958         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3959         `super' and `fraction'.
3960         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3961
3962 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3963
3964         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3965         character; copy the return value.
3966
3967 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3968
3969         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3970
3971         * mule-charset.c (range_charset_code_point): Must use make_int.
3972         (split_builtin_char): New function.
3973
3974 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3975
3976         * mule-charset.c (char_byte_table): Change name from
3977         "char-code-table" to "char-byte-table".
3978         (mark_char_code_table): New function.
3979         (char_code_table_equal): New function.
3980         (char_code_table_hash): New function.
3981         (char_code_table_description): New constant.
3982         (char_code_table): New type.
3983         (make_char_code_table): New function.
3984         (copy_char_code_table): New function.
3985         (get_char_code_table): Modify for `char_code_table' type.
3986         (put_char_code_table): Likewise.
3987         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3988         (Kashiwara).
3989
3990         * char-ucs.h (char_code_table): New type.
3991         (XCHAR_CODE_TABLE): New macro.
3992         (XSETCHAR_CODE_TABLE): New macro.
3993         (CHAR_CODE_TABLE_P): New macro.
3994         (GC_CHAR_CODE_TABLE_P): New macro.
3995         (struct Lisp_Char_Code_Table): New structure.
3996
3997 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3998
3999         * mule-charset.c (Fmake_charset): Setup byte_offset for
4000         {94|96}^n-set.
4001
4002 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4003
4004         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4005         character.
4006
4007 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4008
4009         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4010         is found.
4011
4012 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4013
4014         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4015         charset, it is regarded as a charset.
4016         (put_char_attribute): New function in UTF-2000.
4017         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4018         charset, mapping-table of the charset is modified.
4019         (Fdefine_char): New function in UTF-2000.
4020         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4021         `Fput_char_attribute'.
4022         (syms_of_mule_charset): Add new function `define-char' and new
4023         symbol `ucs' in UTF-2000.
4024         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4025
4026 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4027
4028         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4029         non-UTF-2000 configuration.
4030
4031 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4032
4033         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4034         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4035
4036         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4037         deleted.
4038         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4039         (Fset_charset_mapping_table): Likewise.
4040
4041         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4042         (CHARSET_ENCODING_TABLE): Delete.
4043         (XCHARSET_ENCODING_TABLE): Delete.
4044         (charset_code_point): New interface.
4045
4046 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4047
4048         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4049         instead of `charset_get_byte1' and `charset_get_byte2'.
4050
4051         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4052         (charset_get_byte2): Deleted.
4053
4054 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4055
4056         * char-ucs.h (SPLIT_CHAR): New inline function.
4057         (breakup_char_1): Use `SPLIT_CHAR'.
4058
4059         * mule-charset.c (range_charset_code_point): New function.
4060         (charset_code_point): New function.
4061
4062         * char-ucs.h (range_charset_code_point): New interface.
4063         (breakup_char_1): Use `range_charset_code_point'.
4064
4065 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4066
4067         * mule-charset.c (Fmake_charset): Delete unused local variable
4068         `code_offset'.
4069
4070         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4071         (breakup_char_1): Find a charset and code-point in
4072         `Vcharacter_attribute_table'.
4073
4074 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4075
4076         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4077         to 0.10 (Yao).
4078
4079 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4080
4081         * mule-charset.c (Vcharacter_attribute_table): New variable.
4082         (Fchar_attribute_alist): New function.
4083         (Fget_char_attribute): New function.
4084         (Fput_char_attribute): New function.
4085         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4086         too.
4087         (syms_of_mule_charset): Add new function `char-attribute-alist',
4088         `get-char-attribute' and `put-char-attribute'.
4089         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4090
4091 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4092
4093         * mule-charset.c (Fmake_charset): Just use
4094         `get_unallocated_leading_byte'.
4095
4096         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4097         sets; don't use final-byte based number for private sets.
4098
4099 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4100
4101         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4102         integer.
4103
4104 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4105
4106         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4107         to 0.9.
4108
4109 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4110
4111         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4112         of `CHAR_LEADING_BYTE' in UTF-2000.
4113
4114         * insdel.c (find_charsets_in_bufbyte_string): Use
4115         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4116         (find_charsets_in_emchar_string): Likewise.
4117
4118         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4119         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4120
4121         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4122         (CHAR_CHARSET_ID): New macro.
4123
4124 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4125
4126         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4127         charset-id - MIN_LEADING_BYTE.
4128         (put_char_table): Likewise.
4129
4130 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4131
4132         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4133         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4134         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4135         (CHARSET_ID_OFFSET): New macro.
4136         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4137         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4138         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4139         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4140         4).
4141         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4142         5).
4143         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4144         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4145         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4146         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4147         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4148
4149 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4150
4151         * mule-charset.c (next_allocated_leading_byte): New variable in
4152         UTF-2000.
4153         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4154         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4155         (get_unallocated_leading_byte): Simply use
4156         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4157         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4158         UTF-2000.
4159
4160         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4161         (MAX_LEADING_BYTE_PRIVATE): New macro.
4162         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4163         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4164
4165 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4166
4167         * mule-charset.c (Fmake_charset): Allocate final-byte based
4168         charset-id for 94-set, 96-set and 94x94-set.
4169
4170 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4171
4172         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4173         ambiguous `else'.
4174         (Fmake_charset): Likewise.
4175         (complex_vars_of_mule_charset): Modify the font registry of
4176         `ucs-bmp' not to match `Ethiopic-Unicode'.
4177
4178 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4179
4180         * mule-charset.c (complex_vars_of_mule_charset): Add font
4181         registory of `ucs-bmp'.
4182
4183 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4184
4185         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4186         coded-charsets in `default-coded-charset-priority-list' when
4187         breaking up a character.
4188
4189         * mule-charset.c (Vcharset_latin_viscii): New variable.
4190         (Qlatin_viscii): New variable.
4191         (make_charset): Don't use `decoding_table'.
4192         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4193         byte_offset.
4194         (Fset_charset_mapping_table): New implementation.
4195         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4196         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4197         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4198         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4199         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4200         charset `latin_viscii'.
4201
4202         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4203         (CHARSET_TYPE_94X94): Change to 1 from 2.
4204         (CHARSET_TYPE_96): Change to 2 from 1.
4205         (CHARSET_TYPE_128): New macro.
4206         (CHARSET_TYPE_128X128): Change to 5 from 4.
4207         (CHARSET_TYPE_256): New macro.
4208         (CHARSET_TYPE_256X256): Change to 7 from 5.
4209         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4210
4211 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4212
4213         * text-coding.c (char_encode_shift_jis): Refer
4214         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4215         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4216
4217         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4218         (char_byte_table_equal): New function in UTF-2000.
4219         (char_byte_table_hash): New function in UTF-2000.
4220         (char_byte_table_description): New constant in UTF-2000.
4221         (char_byte_table): New type in UTF-2000.
4222         (make_char_byte_table): New function in UTF-2000.
4223         (copy_char_byte_table): New function in UTF-2000.
4224         (make_char_code_table): New macro in UTF-2000.
4225         (get_char_code_table): New function in UTF-2000.
4226         (put_char_code_table): New function in UTF-2000.
4227         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4228         (charset_description): Add setting in UTF-2000.
4229         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4230         `CHARSET_TO_BYTE1_TABLE(cs)'.
4231         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4232         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4233         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4234         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4235         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4236         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4237         `CHARSET_TO_BYTE2_TABLE(cs)'.
4238
4239         * char-ucs.h (char_byte_table): New type.
4240         (XCHAR_BYTE_TABLE): New macro.
4241         (XSETCHAR_BYTE_TABLE): New macro.
4242         (CHAR_BYTE_TABLE_P): New macro.
4243         (GC_CHAR_BYTE_TABLE_P): New macro.
4244         (struct Lisp_Char_Byte_Table): New structure.
4245         (get_char_code_table): New interface.
4246         (Emchar_to_byte_table): Deleted.
4247         (get_byte_from_character_table): Deleted.
4248         (struct Lisp_Charset): Add `encoding_table'; delete
4249         `to_byte1_table' and `to_byte2_table'.
4250         (CHARSET_ENCODING_TABLE): New macro.
4251         (CHARSET_TO_BYTE1_TABLE): Deleted.
4252         (CHARSET_TO_BYTE2_TABLE): Deleted.
4253         (XCHARSET_ENCODING_TABLE): New macro.
4254         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4255         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4256
4257 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4258
4259         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4260         `vietnamese-viscii-*'.
4261
4262 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4263
4264         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4265         (Qvietnamese_viscii_upper): New variable.
4266         (Fdefine_charset_alias): New function.
4267         (syms_of_mule_charset): Add new function `define-charset-alias'.
4268         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4269         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4270         `latin-viscii-*'.
4271
4272 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4273
4274         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4275         (MAX_CHAR_OBS_94x94): New macro.
4276         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4277         for 94x94 sets.
4278
4279         * mule-charset.c (put_byte_from_character_table): Change unit size
4280         from 128 to 256.
4281         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4282         not defined.
4283         (Fmake_reverse_direction_charset): Modify dummy argument of
4284         `make_charset' for non-UTF-2000 environment.
4285
4286 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4287
4288         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4289
4290         * mule-charset.c (destroy_byte_from_character_table): New macro.
4291         (latin_jisx0201_to_ucs): Deleted.
4292         (latin_iso8859_2_to_ucs): Deleted.
4293         (latin_iso8859_3_to_ucs): Deleted.
4294         (latin_iso8859_4_to_ucs): Deleted.
4295         (latin_iso8859_9_to_ucs): Deleted.
4296         (latin_viscii_lower_to_ucs): Deleted.
4297         (latin_viscii_upper_to_ucs): Deleted.
4298         (mark_charset): Mark `cs->decoding_table'.
4299         (Fcharset_mapping_table): Fix DOC-string.
4300         (Fset_charset_mapping_table): New function.
4301         (syms_of_mule_charset): Add nwe function
4302         `set-charset-mapping-table'.
4303         (complex_vars_of_mule_charset): Don't setup and use
4304         `latin_*_to_ucs'.
4305
4306 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4307
4308         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4309         charset.
4310
4311 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4312
4313         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4314         (Vcharset_katakana_jisx0208): New variable.
4315         (Qhiragana_jisx0208): New variable.
4316         (Qkatakana_jisx0208): New variable.
4317         (make_charset): Add new argument `byte_offset'.
4318         (charset_get_byte1): Modify for new coded-charset definition; use
4319         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4320         `XCHARSET_BYTE_OFFSET'.
4321         (Fmake_charset): Modify for `make_charset'.
4322         (Fmake_reverse_direction_charset): Likewise.
4323         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4324         `katakana-jisx0208'.
4325         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4326         `.'  in font registry of charset `katakana-jisx0201',
4327         `latin-jisx0201', `vietnamese-viscii-lower' and
4328         `vietnamese-viscii-upper'; modify DOC-string of charset
4329         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4330         registry of charset `japanese-jisx0208' not to use font for JIS
4331         X0208:1990; add new charset `hiragana-jisx0208' and
4332         `katakana-jisx0208'.
4333
4334         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4335         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4336         (struct Lisp_Charset): Add `byte_offset'.
4337         (CHARSET_BYTE_OFFSET): New macro.
4338         (XCHARSET_UCS_MIN): New macro.
4339         (XCHARSET_UCS_MAX): New macro.
4340         (XCHARSET_CODE_OFFSET): New macro.
4341         (XCHARSET_BYTE_OFFSET): New macro.
4342         (MIN_CHAR_HIRAGANA): New macro.
4343         (MAX_CHAR_HIRAGANA): New macro.
4344         (MIN_CHAR_KATAKANA): New macro.
4345         (MAX_CHAR_KATAKANA): New macro.
4346         (MAKE_CHAR): Modify for new coded-charset definition; use
4347         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4348         `XCHARSET_BYTE_OFFSET'.
4349
4350 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4351
4352         * mule-charset.c (CHAR96): Deleted.
4353         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4354         <Lisp_Object>.
4355         (latin_iso8859_2_to_ucs): Likewise.
4356         (latin_iso8859_3_to_ucs): Likewise.
4357         (latin_iso8859_4_to_ucs): Likewise.
4358         (latin_iso8859_9_to_ucs): Likewise.
4359         (latin_viscii_lower_to_ucs): Likewise.
4360         (latin_viscii_upper_to_ucs): Likewise.
4361         (latin_tcvn5712_to_ucs): Commented out.
4362         (make_charset): Change type of argument `decoding_table' from
4363         <Emchar*> to <Lisp_Object> [vector of characters].
4364         (Fmake_charset): Modify for `make_charset'.
4365         (Fmake_reverse_direction_charset): Likewise.
4366         (Fcharset_mapping_table): New function in UTF-2000.
4367         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4368         UTF-2000.
4369         (complex_vars_of_mule_charset): Modify for type change of
4370         `*_to_ucs'; modify for `make_charset'.
4371
4372         * char-ucs.h (struct Lisp_Charset): Change type of
4373         `decoding_table' from <Emchar*> to <Lisp_Object>.
4374         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4375
4376 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4377
4378         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4379         error with non-UTF-2000-Mule.
4380
4381 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4382
4383         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4384         in lisp again].
4385         (Vcharset_chinese_cns11643_4): Likewise.
4386         (Vcharset_chinese_cns11643_5): Likewise.
4387         (Vcharset_chinese_cns11643_6): Likewise.
4388         (Vcharset_chinese_cns11643_7): Likewise.
4389         (Qchinese_cns11643_3): Likewise.
4390         (Qchinese_cns11643_4): Likewise.
4391         (Qchinese_cns11643_5): Likewise.
4392         (Qchinese_cns11643_6): Likewise.
4393         (Qchinese_cns11643_7): Likewise.
4394         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4395         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4396         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4397         (complex_vars_of_mule_charset): Likewise.
4398
4399 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4400
4401         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4402         96-set.
4403         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4404         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4405
4406 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4407
4408         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4409         0xFF60.
4410         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4411         (breakup_char_1): Likewise.
4412
4413         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4414         one of them includes the specified character.
4415
4416 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4417
4418         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4419
4420 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4421
4422         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4423
4424 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4425
4426         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4427         definition for non-UTF-2000 Mule.
4428         (latin_iso8859_3_to_ucs): Likewise.
4429         (latin_iso8859_4_to_ucs): Likewise.
4430         (latin_iso8859_9_to_ucs): Likewise.
4431         (latin_jisx0201_to_ucs): Likewise.
4432         (MIN_CHAR_THAI): Likewise.
4433         (MAX_CHAR_THAI): Likewise.
4434         (MIN_CHAR_GREEK): Likewise.
4435         (MAX_CHAR_GREEK): Likewise.
4436         (MIN_CHAR_HEBREW): Likewise.
4437         (MAX_CHAR_HEBREW): Likewise.
4438         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4439         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4440         (MIN_CHAR_CYRILLIC): Likewise.
4441         (MAX_CHAR_CYRILLIC): Likewise.
4442
4443 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4444
4445         * char-ucs.h (breakup_char_1): Use
4446         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4447         thai-tis620 and katakana-jisx0201 area.
4448
4449 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4450
4451         * char-ucs.h (breakup_char_1): Use
4452         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4453         area.
4454
4455         * text-coding.c (reset_encoding_stream): Fixed.
4456         (char_encode_ucs4): Delete `& 255'.
4457
4458         * char-ucs.h (breakup_char_1): Use
4459         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4460
4461 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4462
4463         * file-coding.c (Fmake_coding_system): Don't set up
4464         `codesys->fixed.size'.
4465         (encode_coding_no_conversion): Don't refer
4466         `str->codesys->fixed.size'.
4467
4468 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4469
4470         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4471         (latin_a_char_to_byte1): Deleted.
4472         (latin_a_char_to_byte2): Deleted.
4473
4474 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4475
4476         * mule-charset.c (make_charset): Add new argument `ucs_min',
4477         `ucs_max' and `code_offset'.
4478         (charset_get_byte1): New implementation [delete specific charset
4479         depended implementations].
4480         (Fmake_charset): Modify for `make_charset'.
4481         (Fmake_reverse_direction_charset): Likewise.
4482         (complex_vars_of_mule_charset): Likewise.
4483
4484         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4485         `code_offset'.
4486         (CHARSET_UCS_MIN): New macro.
4487         (CHARSET_UCS_MAX): New macro.
4488         (CHARSET_CODE_OFFSET): New macro.
4489         (MAKE_CHAR): Delete charset depended definitions [except
4490         katakana-jisx0201].
4491
4492 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4493
4494         * char-ucs.h (breakup_char_1): Use
4495         `Vdefault_coded_charset_priority_list' for C0-Controls,
4496         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4497
4498 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4499
4500         * char-ucs.h (charset_get_byte1): New function.
4501         (XCHARSET_GET_BYTE1): Deleted.
4502         (charset_get_byte2): New function.
4503         (XCHARSET_GET_BYTE2): Deleted.
4504         (Vdefault_coded_charset_priority_list): New external variable.
4505         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4506         `Vdefault_preferred_coded_charset_list'.
4507
4508         * mule-charset.c (charset_get_byte1): New function.
4509         (charset_get_byte2): New function.
4510         (Vdefault_coded_charset_priority_list): New variable.
4511         (vars_of_mule_charset): Add new variable
4512         `default-coded-charset-priority-list'.
4513
4514 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4515
4516         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4517         (XCHARSET_GET_BYTE2): New inline function.
4518         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4519         `XCHARSET_GET_BYTE2'.
4520
4521 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4522
4523         * mule-charset.c (make_charset): Initialize
4524         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4525         NULL if table is not defined.
4526
4527 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4528
4529         * text-coding.c (char_encode_shift_jis): Use
4530         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4531         `ucs_to_latin_jisx0201'.
4532
4533         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4534         (ucs_to_latin_iso8859_2): Deleted.
4535         (ucs_to_latin_iso8859_3): Deleted.
4536         (ucs_to_latin_iso8859_4): Deleted.
4537         (ucs_to_latin_iso8859_9): Deleted.
4538         (ucs_to_latin_viscii_lower): Deleted.
4539         (ucs_to_latin_viscii_upper): Deleted.
4540         (ucs_to_latin_tcvn5712): Deleted.
4541         (make_charset): Add new argument `decoding_table'; set up
4542         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4543         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4544         `decoding_table' is defined in UTF-2000.
4545         (Fmake_charset): Modify for `make_charset'.
4546         (Fmake_reverse_direction_charset): Likewise.
4547         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4548         and `GENERATE_96_SET'.
4549
4550         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4551         (ucs_to_latin_jisx0201): Deleted.
4552         (latin_iso8859_2_to_ucs): Deleted.
4553         (ucs_to_latin_iso8859_2): Deleted.
4554         (latin_iso8859_3_to_ucs): Deleted.
4555         (ucs_to_latin_iso8859_3): Deleted.
4556         (latin_iso8859_4_to_ucs): Deleted.
4557         (ucs_to_latin_iso8859_4): Deleted.
4558         (latin_iso8859_9_to_ucs): Deleted.
4559         (ucs_to_latin_iso8859_9): Deleted.
4560         (latin_viscii_lower_to_ucs): Deleted.
4561         (ucs_to_latin_viscii_lower): Deleted.
4562         (latin_viscii_upper_to_ucs): Deleted.
4563         (ucs_to_latin_viscii_upper): Deleted.
4564         (struct Lisp_Charset): Renamed `encoding_table' to
4565         `to_byte1_table'; add `to_byte2_table'.
4566         (CHARSET_DECODING_TABLE): New macro.
4567         (CHARSET_TO_BYTE1_TABLE): New macro.
4568         (CHARSET_TO_BYTE2_TABLE): New macro.
4569         (XCHARSET_DECODING_TABLE): New macro.
4570         (XCHARSET_TO_BYTE1_TABLE): New macro.
4571         (XCHARSET_TO_BYTE2_TABLE): New macro.
4572         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4573         tables.
4574         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4575         don't use `ucs_to_*' tables.
4576
4577 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4578
4579         * text-coding.c (Fmake_coding_system): Don't set up
4580         `codesys->fixed.size'.
4581         (encode_coding_no_conversion): Use `if' instead of `switch'.
4582
4583         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4584
4585 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4586
4587         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4588         (Fmake_charset): Modify for `make_charset'.
4589         (Fmake_reverse_direction_charset): Likewise.
4590         (complex_vars_of_mule_charset): Likewise.
4591
4592 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4593
4594         * text-coding.c (char_encode_shift_jis): Use table
4595         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4596
4597 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4598
4599         * text-coding.c (text_encode_generic): Use `if' instead of
4600         `switch'.
4601         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4602         decode JIS-Latin.
4603
4604 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4605
4606         * text-coding.c (encode_coding_sjis): Deleted.
4607         (char_encode_shift_jis): New function.
4608         (char_finish_shift_jis): New function.
4609         (reset_encoding_stream): Set up `encode_char' and `finish' for
4610         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4611         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4612         (char_encode_utf8): Treat `eol_type'.
4613
4614 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4615
4616         * file-coding.c (decode_coding_iso2022): Use
4617         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4618
4619 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4620
4621         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4622         to 0.7 (Hirano).
4623
4624 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4625
4626         * char-lb.h (CHAR_COLUMNS): New macro.
4627
4628 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4629
4630         * text-coding.c (char_encode_ucs4): New function.
4631         (char_finish_ucs4): New function.
4632         (encode_coding_ucs4): Deleted.
4633         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4634         (text_encode_generic): Delete local variable `charset' and `half'.
4635         (ucs_to_mule_table): Deleted.
4636         (mule_to_ucs_table): Deleted.
4637         (Fset_ucs_char): Deleted.
4638         (ucs_to_char): Deleted.
4639         (Fucs_char): Deleted.
4640         (Fset_char_ucs): Deleted.
4641         (Fchar_ucs): Deleted.
4642         (decode_ucs4): Deleted.
4643         (mule_char_to_ucs4): Deleted.
4644         (encode_ucs4): Deleted.
4645         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4646         (decode_coding_utf8): Likewise.
4647         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4648         (char_encode_iso2022): Fixed.
4649         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4650         `Fset_char_ucs' and `Fchar_ucs'.
4651         (complex_vars_of_file_coding): Don't initialize
4652         `ucs_to_mule_table'.
4653
4654         * objects-tty.c (tty_initialize_font_instance): Don't use
4655         `XCHARSET_COLUMNS'.
4656
4657         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4658         UTF-2000.
4659
4660         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4661         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4662
4663         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4664         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4665         (emchar_string_displayed_columns): Likewise.
4666
4667         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4668         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4669         (string_column_at_point): Likewise.
4670         (Fmove_to_column): Likewise.
4671
4672         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4673         `encoding_table' and `decoding_table'.
4674         (CHARSET_REP_BYTES): Deleted.
4675         (XCHARSET_REP_BYTES): Deleted.
4676         (XCHARSET_COLUMNS): Deleted.
4677         (CHAR_COLUMNS): New macro.
4678         (lookup_composite_char): Deleted unconditionally.
4679         (composite_char_string): Likewise.
4680
4681 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4682
4683         * char-ucs.h (Emchar_to_byte_table): New type.
4684         (get_byte_from_character_table): New function interface.
4685         (Vcharset_latin_jisx0201): New variable.
4686         (latin_jisx0201_to_ucs): New variable.
4687         (ucs_to_latin_jisx0201): New variable.
4688         (Vcharset_latin_iso8859_2): New variable.
4689         (latin_iso8859_2_to_ucs): New variable.
4690         (ucs_to_latin_iso8859_2): New variable.
4691         (Vcharset_latin_iso8859_3): New variable.
4692         (latin_iso8859_3_to_ucs): New variable.
4693         (ucs_to_latin_iso8859_3): New variable.
4694         (Vcharset_latin_iso8859_4): New variable.
4695         (latin_iso8859_4_to_ucs): New variable.
4696         (ucs_to_latin_iso8859_4): New variable.
4697         (Vcharset_latin_iso8859_9): New variable.
4698         (latin_iso8859_9_to_ucs): New variable.
4699         (ucs_to_latin_iso8859_9): New variable.
4700         (Vcharset_latin_viscii_lower): New variable.
4701         (latin_viscii_lower_to_ucs): New variable.
4702         (ucs_to_latin_viscii_lower): New variable.
4703         (Vcharset_latin_viscii_upper): New variable.
4704         (latin_viscii_upper_to_ucs): New variable.
4705         (ucs_to_latin_viscii_upper): New variable.
4706         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4707         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4708         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4709         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4710         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4711         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4712         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4713         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4714         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4715         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4716
4717         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4718         (Vcharset_latin_viscii_upper): New variable.
4719         (make_byte_from_character_table): New function.
4720         (put_byte_from_character_table): New function.
4721         (get_byte_from_character_table): New function.
4722         (CHAR96): New macro.
4723         (ucs_to_latin_jisx0201): New variable.
4724         (latin_jisx0201_to_ucs): New variable.
4725         (ucs_to_latin_iso8859_2): New variable.
4726         (latin_iso8859_2_to_ucs): New variable.
4727         (ucs_to_latin_iso8859_3): New variable.
4728         (latin_iso8859_3_to_ucs): New variable.
4729         (ucs_to_latin_iso8859_4): New variable.
4730         (latin_iso8859_4_to_ucs): New variable.
4731         (ucs_to_latin_iso8859_9): New variable.
4732         (latin_iso8859_9_to_ucs): New variable.
4733         (ucs_to_latin_viscii_lower): New variable.
4734         (latin_viscii_lower_to_ucs): New variable.
4735         (ucs_to_latin_viscii_upper): New variable.
4736         (latin_viscii_upper_to_ucs): New variable.
4737         (ucs_to_latin_tcvn5712): New variable.
4738         (latin_tcvn5712_to_ucs): New variable.
4739         (Qlatin_viscii_lower): New variable.
4740         (Qlatin_viscii_upper): New variable.
4741         (syms_of_mule_charset): Set up new symbol
4742         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4743         (complex_vars_of_mule_charset): Set up new charset
4744         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4745         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4746         `ucs_to_<CHARSET>' tables.
4747
4748 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4749
4750         * text-coding.c: New file.
4751
4752 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4753
4754         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4755
4756         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4757         (MAKE_CHAR): Modify for `ucs-bmp'.
4758         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4759         non-MULE characters of BMP.
4760
4761 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4762
4763         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4764         to 0.6.
4765
4766 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4767
4768         * lstream.h:
4769         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4770         - Include character.h for `CHAR_ASCII_P'.
4771
4772         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4773
4774         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4775         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4776
4777         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4778         (BYTE_C0_P): Likewise.
4779         (BYTE_C1_P): Likewise.
4780         (Lstream_get_emchar_1): Likewise.
4781         (Lstream_fput_emchar): Likewise.
4782         (Lstream_funget_emchar): Likewise.
4783         (copy_internal_to_external): Likewise.
4784         (copy_external_to_internal): Likewise.
4785
4786         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4787         (BYTE_C0_P): Likewise.
4788         (BYTE_C1_P): Likewise.
4789         (Lstream_get_emchar_1): Likewise.
4790         (Lstream_fput_emchar): Likewise.
4791         (Lstream_funget_emchar): Likewise.
4792         (copy_internal_to_external): Likewise.
4793         (copy_external_to_internal): Likewise.
4794
4795         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4796         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4797
4798         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4799         (BYTE_ASCII_P): Moved to mb-1byte.h.
4800
4801 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4802
4803         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4804
4805         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4806         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4807         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4808         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4809         (VALIDATE_CHARPTR_FORWARD): Likewise.
4810         (simple_charptr_emchar): Moved to mb-multibyte.h.
4811         (simple_set_charptr_emchar): Likewise.
4812         (simple_charptr_copy_char): Likewise.
4813         (non_ascii_charptr_emchar): Likewise.
4814         (non_ascii_set_charptr_emchar): Likewise.
4815         (non_ascii_charptr_copy_char): Likewise.
4816         (charptr_emchar): Moved to mb-*byte.h.
4817         (set_charptr_emchar): Likewise.
4818         (charptr_copy_char): Likewise.
4819
4820         * mb-1byte.h, mb-multibyte.h: New files.
4821
4822 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4823
4824         * mb-utf-8.h (MULTIBYTE): New macro.
4825         (MAX_EMCHAR_LEN): Moved from buffer.h.
4826         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4827
4828         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4829
4830         * mb-lb.h, multibyte.h: New files.
4831
4832         * char-1byte.h (Charset_ID): Moved from buffer.h.
4833         (MIN_LEADING_BYTE): Likewise.
4834         (LEADING_BYTE_ASCII): Likewise.
4835         (NUM_LEADING_BYTES): Likewise.
4836         (CHARSETP): Likewise.
4837         (CHARSET_BY_LEADING_BYTE): Likewise.
4838         (XCHARSET_LEADING_BYTE): Likewise.
4839         (XCHARSET_GRAPHIC): Likewise.
4840         (XCHARSET_COLUMNS): Likewise.
4841         (XCHARSET_DIMENSION): Likewise.
4842         (CHAR_CHARSET): Likewise.
4843         (CHAR_LEADING_BYTE): Likewise.
4844         (BREAKUP_CHAR): Likewise.
4845         (Vcharset_ascii): Likewise.
4846
4847         * buffer.h: Include multibyte.h unconditionally.
4848         (VALID_CHARPTR_P): Moved to multibyte.h.
4849         (ASSERT_VALID_CHARPTR): Likewise.
4850         (REAL_INC_CHARPTR): Likewise.
4851         (REAL_INC_CHARBYTIND): Likewise.
4852         (REAL_DEC_CHARPTR): Likewise.
4853         (INC_CHARPTR): Likewise.
4854         (INC_CHARBYTIND): Likewise.
4855         (DEC_CHARPTR): Likewise.
4856         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4857         (VALIDATE_CHARPTR_FORWARD): Likewise.
4858         (charptr_n_addr): Likewise.
4859         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4860         (simple_charptr_emchar): Moved to multibyte.h.
4861         (simple_set_charptr_emchar): Likewise.
4862         (simple_charptr_copy_char): Likewise.
4863         (non_ascii_charptr_emchar): Likewise.
4864         (non_ascii_set_charptr_emchar): Likewise.
4865         (non_ascii_charptr_copy_char): Likewise.
4866         (charptr_emchar): Likewise.
4867         (set_charptr_emchar): Likewise.
4868         (charptr_copy_char): Likewise.
4869         (charptr_emchar_n): Likewise.
4870         (Charset_ID): Moved to char-1byte.h.
4871         (Vcharset_ascii): Likewise.
4872         (CHAR_CHARSET): Likewise.
4873         (CHAR_LEADING_BYTE): Likewise.
4874         (LEADING_BYTE_ASCII): Likewise.
4875         (NUM_LEADING_BYTES): Likewise.
4876         (MIN_LEADING_BYTE): Likewise.
4877         (CHARSETP): Likewise.
4878         (CHARSET_BY_LEADING_BYTE): Likewise.
4879         (XCHARSET_LEADING_BYTE): Likewise.
4880         (XCHARSET_GRAPHIC): Likewise.
4881         (XCHARSET_COLUMNS): Likewise.
4882         (XCHARSET_DIMENSION): Likewise.
4883         (BREAKUP_CHAR): Likewise.
4884
4885 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4886
4887         * character.h: Add document about interface for characters.
4888
4889         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4890         (MAKE_CHAR): Delete comment about
4891         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4892         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4893         (BREAKUP_CHAR): Modify name of arguments.
4894         (CHAR_CHARSET): Modify name of argument.
4895
4896         * buffer.h: Delete document about Emchar accessors.
4897
4898 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4899
4900         * character.h (CHAR_INTP): Moved from buffer.h
4901         (CHAR_OR_CHAR_INTP): Likewise.
4902         (XCHAR_OR_CHAR_INT): Likewise.
4903         (CHECK_CHAR_COERCE_INT): Likewise.
4904
4905         * buffer.h (CHAR_INTP): Moved to character.h
4906         (CHAR_OR_CHAR_INTP): Likewise.
4907         (XCHAR_OR_CHAR_INT): Likewise.
4908         (CHECK_CHAR_COERCE_INT): Likewise.
4909
4910 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4911
4912         * character.h:
4913         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4914         - Include char-1byte.h, char-lb.h or char-ucs.h.
4915
4916         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4917
4918         * buffer.h: Include character unconditionally.
4919         (valid_char_p): Moved to char-*.h.
4920         (non_ascii_valid_char_p): Moved to char-lb.h.
4921
4922         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4923
4924 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4925
4926         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4927         in UTF-2000 because it is not ported yet and not to use
4928         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4929         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4930         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4931
4932         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4933         (CHAR_ASCII_P): Moved from character.h.
4934
4935         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4936         (CHAR_ASCII_P): Likewise.
4937         (CHAR_FIELD1_MASK): Deleted.
4938         (CHAR_FIELD2_MASK): Deleted.
4939         (CHAR_FIELD3_MASK): Deleted.
4940         (MAX_CHAR_BASIC_LATIN): New macro.
4941         (CHAR_FIELD1): Deleted.
4942         (CHAR_FIELD2_INTERNAL): Deleted.
4943         (CHAR_FIELD3_INTERNAL): Deleted.
4944         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4945         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4946         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4947         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4948         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4949         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4950         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4951         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4952         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4953         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4954         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4955         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4956         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4957         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4958         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4959         (MIN_CHAR_COMPOSITION): Deleted.
4960         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4961         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4962
4963 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4964
4965         * buffer.h: Include mb-utf-8.h in UTF-2000.
4966
4967         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4968
4969         * mb-utf-8.h: New file.
4970
4971 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4972
4973         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4974         instead of `int'.
4975
4976         * mule-charset.h, buffer.h (Charset_ID): New type.
4977
4978 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4979
4980         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4981         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4982         instead of `MULE_CHAR_PRIVATE_OFFSET',
4983         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4984         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4985         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4986
4987         * character.h (Vcharset_japanese_jisx0212): New variable
4988         definition.
4989
4990 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4991
4992         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4993         (charset_by_attributes): Delete array about direction.
4994         (latin_a_char_to_charset): New variable in UTF-2000.
4995         (latin_a_char_to_byte1): New variable in UTF-2000.
4996         (latin_a_char_to_byte2): New variable in UTF-2000.
4997         (Qucs_bmp): New variable.
4998         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4999         `Bufbyte'.
5000         (next_allocated_2_byte_leading_byte): Likewise.
5001         (non_ascii_set_charptr_emchar): Likewise.
5002         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5003         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5004         `charset_by_attributes'.
5005         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5006         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5007         and `CHARSET_BY_LEADING_BYTE'.
5008         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5009         `utf-2000-version' to `vars_of_mule_charset'.
5010         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5011         define `leading-code-private-11' in UTF-2000; move setting of
5012         `utf-2000-version' from `syms_of_mule_charset'.
5013         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5014         UTF-2000.
5015
5016         * character.h (Charset_ID): New type.
5017         (LEADING_BYTE_UCS_BMP): New macro.
5018         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5019         (CHARSET_ID_OFFSET_94): New macro.
5020         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5021         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5022         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5023         final-byte.
5024         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5025         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5026         (CHARSET_ID_OFFSET_96): New macro.
5027         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5028         CHARSET_ID_OFFSET_96 and final-byte.
5029         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5030         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5031         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5032         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5033         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5034         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5035         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5036         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5037         (LEADING_BYTE_THAI_TIS620): Likewise.
5038         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5039         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5040         (CHARSET_ID_OFFSET_94x94): New macro.
5041         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5042         CHARSET_ID_OFFSET_94x94 and final-byte.
5043         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5044         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5045         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5046         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5047         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5048         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5049         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5050         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5051         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5052         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5053         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5054         (CHARSET_TYPE_128X128): New macro.
5055         (CHARSET_TYPE_256X256): New macro.
5056         (XCHARSET_PRIVATE_P): Delete unconditionally.
5057         (charset_by_attributes): Delete array about direction.
5058         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5059         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5060         (MIN_CHAR_94): New macro.
5061         (MAX_CHAR_94): New macro.
5062         (MIN_CHAR_96): New macro.
5063         (MAX_CHAR_96): New macro.
5064         (MIN_CHAR_94x94): New macro.
5065         (MAX_CHAR_94x94): New macro.
5066         (MIN_CHAR_96x96): New macro.
5067         (MAX_CHAR_96x96): New macro.
5068         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5069         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5070         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5071         - 32)'.
5072         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5073         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5074         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5075         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5076         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5077         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5078         `XCHARSET_LEADING_BYTE' to make code-point.
5079         (latin_a_char_to_charset): New variable.
5080         (latin_a_char_to_byte1): New variable.
5081         (latin_a_char_to_byte2): New variable.
5082         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5083         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5084         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5085
5086         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5087         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5088         (find_charsets_in_emchar_string): Likewise.
5089         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5090
5091         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5092         `int'.
5093         (decode_coding_iso2022): Likewise.
5094
5095         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5096         of `unsigned char'.
5097
5098         * redisplay.c (redisplay_text_width_emchar_string): Use
5099         `Charset_ID' instead of `unsigned char'.
5100         (redisplay_frame_text_width_string): Likewise.
5101
5102         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5103         `unsigned char'.
5104
5105         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5106         instead of `unsigned char'.
5107         (face_cachel_charset_font_metric_info): Likewise.
5108
5109         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5110         (get_non_ascii_char_table_value): Likewise.
5111         (get_char_table): Likewise.
5112         (put_char_table): Likewise.
5113         (map_over_other_charset): Likewise.
5114         (map_char_table): Likewise.
5115
5116         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5117         instead of `unsigned char'.
5118
5119 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5120
5121         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5122         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5123
5124         * mule-charset.c (leading_code_private_11): Don't define in
5125         UTF-2000.
5126
5127         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5128         in UTF-2000 because it is not ported yet and not to use
5129         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5130
5131 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5132
5133         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5134
5135 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5136
5137         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5138         in UTF-2000.
5139
5140         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5141         of unsigned char to store leading-byte.
5142
5143         * chartab.c (get_non_ascii_char_table_value): Don't use
5144         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5145
5146         * file-coding.c (encode_coding_big5): Delete bogus implementation
5147         in UTF2000.
5148
5149         * character.h (LEADING_BYTE_*): Delete definition for
5150         non-UTF-2000.
5151         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5152         (LEADING_BYTE_PREFIX_P): Deleted.
5153         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5154         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5155         (BUFBYTE_LEADING_BYTE_P): Deleted.
5156         (CHARSET_PRIVATE_P): Deleted unconditionally.
5157         (rep_bytes_by_first_byte): Deleted unconditionally.
5158         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5159         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5160         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5161         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5162         (CHAR_FIELD2): Deleted.
5163         (CHAR_FIELD3): Deleted.
5164         (MAKE_CHAR): Delete definition for non-UTF-2000.
5165         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5166         (breakup_char_1): New implementation.
5167         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5168         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5169
5170 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5171
5172         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5173         condition.
5174
5175 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5176
5177         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5178         (CHARSET_PRIVATE_P): Likewise.
5179         (XCHARSET_PRIVATE_P): Likewise.
5180         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5181
5182         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5183         UTF2000.
5184         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5185
5186 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5187
5188         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5189         (NUM_LEADING_BYTES): Changed from 128 to 256.
5190         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5191         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5192         UTF2000.
5193         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5194
5195         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5196         UTF2000.
5197         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5198         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5199         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5200         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5201         (Qchinese_cns11643_3): New variable in UTF2000.
5202         (Qchinese_cns11643_4): New variable in UTF2000.
5203         (Qchinese_cns11643_5): New variable in UTF2000.
5204         (Qchinese_cns11643_6): New variable in UTF2000.
5205         (Qchinese_cns11643_7): New variable in UTF2000.
5206         (syms_of_mule_charset): Define `chinese-cns11643-3',
5207         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5208         and `chinese-cns11643-7' in UTF2000.
5209         (vars_of_mule_charset): Initialize
5210         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5211         + 1 in UTF2000.
5212         (complex_vars_of_mule_charset): Setup charset
5213         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5214         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5215
5216 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5217
5218         * mule-charset.c: Move setting for `leading-code-private-11' from
5219         `syms_of_mule_charset' to `vars_of_mule_charset'.
5220
5221 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5222
5223         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5224         and `NUM_LEADING_BYTES' in assert.
5225
5226 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5227
5228         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5229         instead of 128.
5230         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5231         `NUM_LEADING_BYTES' instead of 128.
5232
5233 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5234
5235         * mule-charset.h (charset_by_leading_byte): Use
5236         `NUM_LEADING_BYTES' instead of 128.
5237         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5238
5239         * mule-charset.c (charset_by_leading_byte): Use
5240         `NUM_LEADING_BYTES' instead of 128.
5241         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5242
5243         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5244         128.
5245
5246 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5247
5248         * mule-charset.c (syms_of_mule_charset): Update to
5249         0.4 (Shin-Imamiya).
5250
5251 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5252
5253         * file-coding.c (encode_coding_sjis): New implementation for
5254         UTF2000.  (decode_coding_sjis): Ditto.
5255
5256 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5257
5258         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5259         Don't define in UTF2000.
5260
5261         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5262         defined.
5263
5264         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5265         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5266         MULE.
5267
5268 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5269
5270         * config.h.in (CHAR_IS_UCS4): New macro.
5271
5272         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5273         conventional MULE representation.
5274         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5275
5276         * mule-charset.h: Reverted to original.
5277
5278         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5279         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5280         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5281
5282         * character.h: New file.
5283
5284         * file-coding.c (Fmake_coding_system): Set 1 to
5285         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5286         defined.
5287         (encode_coding_no_conversion): New implementation for UTF2000.
5288
5289         * file-coding.h (struct Lisp_Coding_System): Add new member
5290         `fixed.size'.
5291
5292 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5293
5294         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5295         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5296         (encode_coding_iso2022): New implementation for UTF2000.
5297
5298 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5299
5300         * mule-canna.c (c2mu): New implementation for UTF2000.
5301         (m2c): Likewise.
5302
5303 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5304
5305         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5306
5307 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5308
5309         * file-coding.c (reset_encoding_stream): Set 0 to
5310         `str->iso2022.current_char_boundary' in UTF2000.
5311         (encode_utf8): Don't define in UTF2000.
5312         (encode_coding_utf8): New implementation for UTF-8 representation
5313         of UTF2000.
5314         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5315
5316 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5317
5318         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5319
5320         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5321         UTF2000.
5322         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5323
5324         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5325
5326         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5327         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5328         as UTF-8 in UTF2000.
5329         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5330         (non_ascii_valid_char_p): Don't define in UTF2000.
5331         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5332         (Lstream_get_emchar_1): Likewise.
5333         (utf-2000-version): New variable in UTF2000.
5334
5335         * lread.c (read_escape): Add new reader `u'.
5336
5337         * insdel.c (three_to_one_table): Don't define in UTF2000.
5338         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5339         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5340         UTF2000.
5341         (bytind_to_bufpos_func): Likewise.
5342         (buffer_mule_signal_inserted_region): Likewise.
5343         (vars_of_insdel): Don't initialize `three_to_one_table'.
5344         (init_buffer_text): Use `buf->text->mule_size' instead of
5345         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5346         UTF2000.
5347
5348         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5349         UTF-8 representation in UTF2000.
5350         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5351         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5352         (decode_coding_iso2022): Don't define local variable `lb' in
5353         UTF2000; don't use LEADING_BYTE in UTF2000; use
5354         `DECODE_ADD_UCS_CHAR' in UTF2000.
5355         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5356
5357         * config.h.in (UTF2000): New macro.
5358
5359         * buffer.h (struct buffer_text): Add new member `mule_size' and
5360         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5361         (valid_char_p): Return always 1 in UTF2000.
5362         (MAX_EMCHAR_LEN): 6 in UTF2000.
5363         (three_to_one_table): Don't define in UTF2000.
5364         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5365         UTF2000.
5366         (real_bytind_to_bufpos): Likewise.
5367
5368         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5369
5370 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5371
5372         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5373         representation change.
5374         (Vutf_2000_version): New variable.
5375         (leading_code_private_11): New variable.
5376         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5377         `leading-code-private-11'.
5378
5379         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5380         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5381         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5382         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5383         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5384         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5385         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5386         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5387         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5388         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5389         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5390         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5391         (MIN_CHAR_GREEK): New macro.
5392         (MAX_CHAR_GREEK): New macro.
5393         (MIN_CHAR_CYRILLIC): New macro.
5394         (MAX_CHAR_CYRILLIC): New macro.
5395         (MIN_CHAR_HEBREW): New macro.
5396         (MAX_CHAR_HEBREW): New macro.
5397         (MIN_CHAR_THAI): New macro.
5398         (MAX_CHAR_THAI): New macro.
5399         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5400         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5401         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5402         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5403         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5404         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5405         (CHAR_FIELD2): New inline function.
5406         (CHAR_FIELD3): New inline function.
5407         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5408         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5409         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5410         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5411         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5412         (MIN_CHAR_COMPOSITION): Likewise.
5413         (CHAR_LEADING_BYTE): Modified for character representation change.
5414         (MAKE_CHAR): Likewise.
5415
5416         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5417         (Vcharset_greek_iso8859_7): Likewise.
5418         (Vcharset_cyrillic_iso8859_5): Likewise.
5419         (Vcharset_hebrew_iso8859_8): Likewise.
5420         (Vcharset_thai_tis620): Likewise.
5421         (Vcharset_katakana_jisx0201): Likewise.
5422
5423 2004-02-02  Vin Shelton <acs@xemacs.org>
5424
5425         * XEmacs 21.4.15 is released
5426
5427 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
5428
5429         * device-x.c (x_error_handler): Don't call stderr_out
5430
5431 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
5432
5433         * buffer.c (other-buffer): Clarify documentation of order of
5434         arguments for FSF Emacs.
5435
5436 2003-10-11  Olivier Galibert  <galibert@pobox.com>
5437
5438         * window.c (Fdelete_window): Dirty the mirror structure _before_
5439         marking the window deleted.
5440
5441 2003-09-15  Jerry James  <james@xemacs.org>
5442
5443         * event-msw.c (debug_mswin_messages): Conditionally compile
5444         messages missing from the Cygwin headers.
5445
5446 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
5447
5448         * data.c (eq_with_ebola_notice): Fix typo in comment.
5449         (Ftrue_list_p): Improve docstring.
5450
5451 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
5452
5453         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
5454
5455 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
5456
5457         * search.c (trivial_regexp_p): Regexps containing "\{" are
5458         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
5459         Stefan Monnier for suggesting a diagnosis.
5460
5461 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
5462
5463         * elhash.c (make-hash-table): Clarify use of :test #'equal.
5464
5465 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
5466
5467         * search.c (Fsearch_forward):
5468         (Fsearch_backward):
5469         Document negative count.
5470
5471 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
5472
5473         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
5474
5475 2003-09-13  Martin Buchholz  <martin@xemacs.org>
5476
5477         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
5478
5479 2003-09-15  Vin Shelton  <acs@xemacs.org>
5480
5481         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
5482         21.5.
5483
5484 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
5485
5486         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
5487         (re_search_2): Match the first byte of Bufbyte, not Emchar.
5488         (re_match_2_internal): Use TRANSLATE instead of
5489         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
5490         non-ASCII char case conversion.
5491
5492 2003-09-08  Mike Sperber  <mike@xemacs.org>
5493
5494         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
5495         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
5496
5497 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
5498
5499        * .gdbinit (pobj): fix printing of symbol name.
5500
5501 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
5502
5503         * frame-x.c (x_layout_widgets): When resizing is about to cause
5504         frame size slip, mark it for redisplay.
5505
5506 2003-08-18  Jerry James  <james@xemacs.org>
5507
5508         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
5509
5510 2003-09-03  Vin Shelton <acs@xemacs.org>
5511
5512         * XEmacs 21.4.14 is released
5513
5514 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5515
5516         * config.h.in (REGEX_MALLOC): Make it configure'able.
5517
5518 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5519
5520         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5521         linking.
5522         * sysdll.c (dll_init):
5523         * sysdll.c (dll_open):
5524         * sysdll.c (dll_close):
5525         * sysdll.c (dll_function):
5526         * sysdll.c (dll_variable):
5527         * sysdll.c (dll_error):
5528         Add support for loading bundles using Darwin/MacOSX
5529         native API.
5530
5531 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5532
5533         * process.c (start-process-internal): Document coding systems.
5534
5535 2003-07-30  Jerry James  <james@xemacs.org>
5536
5537         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5538
5539 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5540
5541         * event-msw.c (mswindows_enqueue_mouse_button_event):
5542         * event-msw.c (mswindows_wnd_proc):
5543           enqueue button event when scrollwheel event isn't handled by 
5544           mswindows_handle_mousewheel_event, such as when the scrollbars
5545           are not showing.
5546
5547 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5548
5549         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5550
5551 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5552
5553         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5554
5555 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5556
5557         * regex.c (re_match_2_internal): Fix matching degenerate word
5558         boundaries.
5559
5560 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5561
5562         * XEmacs 21.4.13 is released
5563
5564 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5565
5566         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5567         * lisp.h (<inttypes.h>):
5568         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5569         the definition.
5570
5571 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5572
5573         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5574         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5575         Result: "temacs can only be run in -batch mode."
5576         Fix: Check xemacs executable candidate for directory-ness.
5577
5578 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5579
5580         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5581           they conflict with <sys/types.h>.
5582
5583 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5584
5585         * database.c: Berkeley DB wants __STDC__ to be defined.
5586
5587 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5588
5589         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5590
5591 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5592
5593         * process-unix.c (unix_send_process): Fix C++ compile error.
5594
5595 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5596
5597         * Added .dylib as an acceptable shared library file extension
5598         * to support MacOSX.
5599
5600 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5601
5602         * EmacsFrameP.h (EmacsFramePart):
5603         Kludge to allow compiling with Motif1, but linking with Motif2.
5604
5605 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5606
5607         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5608
5609
5610 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5611
5612         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5613
5614 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5615
5616         * sysdll.c: Included lisp.h to define needed alloca_array.
5617
5618 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5619
5620         Make XEmacs redisplay 10 times faster.
5621         If, that is, you're using a slow X connection and MoveOpaque.
5622         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5623         Use compress_motion = TRUE.
5624         * EmacsFrame.c (emacsFrameClassRec): 
5625         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5626         * EmacsManager.c (emacsManagerClassRec):
5627         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5628
5629 2003-01-30  Vin Shelton  <acs@xemacs.org>
5630
5631         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5632
5633 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5634
5635         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5636         Patch by Martin Buchholz.
5637
5638 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5639
5640         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5641         Thanks to icc for warning and Martin Buchholz for reporting.
5642
5643 2003-01-29  Vin Shelton <acs@xemacs.org>
5644
5645         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5646
5647         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5648         remember to multiply by the element size.
5649
5650 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5651
5652         * XEmacs 21.4.12 "Portable Code" is released.
5653
5654 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5655
5656         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5657         * s/cygwin.sc: new linker file.
5658
5659 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5660
5661         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5662
5663         * redisplay-x.c (x_output_string): Use X11-specified types.
5664         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5665         * emacs.c (__free_hook): Use typeof with Intel compiler.
5666         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5667
5668 2003-01-08  Andy Piper  <andy@xemacs.org>
5669
5670         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5671         reserve size during unexec().
5672
5673 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5674
5675         * process-unix.c (unix_create_process): Don't let outchannel block.
5676
5677 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5678
5679         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5680         Needed for IsBadReadPtr().
5681
5682 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5683
5684         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5685
5686 2002-12-14  Ben Wing  <ben@xemacs.org>
5687
5688         * callint.c: Declaration error.
5689         * dumper.c (pdump):
5690         * dumper.c (pdump_load): Warning fix.
5691         * process.c: GCPRO error.
5692         * glyphs.c (unmap_subwindow):
5693         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5694         * event-stream.c (maybe_kbd_translate): Wrong argument to
5695         character_to_event().
5696
5697         * alloc.c (garbage_collect_1):
5698         * emacs.c:
5699         * emacs.c (debug_can_access_memory):
5700         * emacs.c (fatal_error_signal):
5701         * emacs.c (mswindows_handle_hardware_exceptions):
5702         * emacs.c (main_1):
5703         * emacs.c (main):
5704         * emacs.c (assert_failed):
5705         * emacs.c (syms_of_emacs):
5706         * lisp.h:
5707         * print.c:
5708         * print.c (std_handle_out_va):
5709         * print.c (write_string_to_stdio_stream):
5710         * print.c (write_fmt_string):
5711         * print.c (printing_badness):
5712         * print.c (printing_major_badness):
5713         * print.c (print_internal):
5714         * print.c (debug_print_no_newline):
5715         * print.c (debug_backtrace):
5716         Be more defensive in handling bad values when printing.  Add code
5717         from trunk involving inhibit_non_essential_printing_operations.
5718         When going down or in debug_print(), don't do external conversion
5719         and such and try really, really hard when printing to avoid core
5720         dumping.  Add force-debugging-signal, debug_break().
5721
5722 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5723
5724         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5725         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5726
5727 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5728
5729         * database.c: Fix open_database. Berkeley DB API has changed in
5730         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5731
5732 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5733
5734         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5735
5736 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5737
5738         * event-Xt.c (Xt_timeout):
5739         (Xt_timeout_callback):
5740         (emacs_Xt_add_timeout):
5741         (emacs_Xt_remove_timeout):
5742         (Xt_timeout_to_emacs_event):
5743         Turn completed_timeouts from a stack into a queue.  Fixes
5744         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5745
5746 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5747
5748         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5749         * emacs.c (main): Assert that mmap'd allocation is disabled.
5750
5751 2002-10-14  Andy Piper  <andy@xemacs.org>
5752
5753         * glyphs-widget.c (layout_query_geometry): add in fiddle
5754         factor. Include border text in width layout calculation.
5755         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5756
5757 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5758
5759         * XEmacs 21.4.10 "Military Intelligence" is released.
5760
5761 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5762
5763         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5764         using the NAS private array SoundFileInfo that no longer exists in
5765         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5766         and earlier.  This is broken for some versions between 1.5a and
5767         1.5f.
5768
5769 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5770
5771         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5772
5773         * emacs.c (shut_down_emacs): Improve crash message.
5774
5775 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5776
5777         * file-coding.c (determine_real_coding_system): Check for coding
5778         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5779         shebangs and Python PEP 263.
5780
5781 2002-10-08  Andy Piper  <andy@xemacs.org>
5782
5783         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5784         if static sizes haven't been set.
5785
5786 2002-08-30  Mike Alexander  <mta@arbortext.com>
5787
5788         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5789         to close a socket.
5790
5791 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5792
5793         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5794
5795 2002-09-20  Mike Sperber <mike@xemacs.org>
5796
5797         (This partially gets back my patch from 2002-07-20 without the
5798         bug.)
5799         * callproc.c (child_setup): Remove Ben's comment noting confusion
5800         over the file descriptors >= 3: close_process_descs() doesn't
5801         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5802         * process-unix.c (unix_create_process): Call
5803         begin_dont_check_for_quit to inhibit unwanted interaction (and
5804         thus breaking of X event synchronicity) in the child.
5805
5806 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5807
5808         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5809         widget.
5810
5811 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5812
5813         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5814         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5815         the xemacs process did not exit, but looped infinitely here.  This
5816         fixes that problem.
5817
5818 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5819
5820         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5821         (find_context): Improve comments.
5822
5823         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5824         (re_match_2): An XCHAR_TABLE operation was missing.
5825
5826         Many of the following changes were inspired by Andy Piper's (now
5827         obsolete) patch to make syntax-table text property lookup optional.
5828
5829         [Documentation]
5830
5831         * syntax.h (top level): Document semantics of syntax flags.
5832         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5833         * syntax.c, syntax.h (top level): Document syntax cache better in
5834         comments.
5835
5836         [Instrument syntax caching (temporary change)]
5837
5838         * syntax.h (enum syntax_cache_statistics_functions, struct
5839         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5840         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5841         * syntax.c (scan_words, Fforward_comment, scan_lists,
5842         Fbackward_prefix_characters):
5843         * font-lock.c (find_context):
5844         Use them to instrument syntax caching. 
5845         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5846         syntax_cache_statistics_function_names): New type and variables.
5847         * syntax.c (update_syntax_cache): Update and report statistics.
5848
5849         [Major syntax cache optimizations]
5850
5851         syntax.c (lookup_syntax_properties): Default off.
5852
5853         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5854         * syntax.c (update_syntax_cache):
5855         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5856
5857         [Minor syntax cache optimizations and code clarifications]
5858
5859         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5860         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5861         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5862         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5863         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5864         (Code clarification.)
5865
5866         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5867         scan_lists): Compute code from syncode, use Boolean macros instead
5868         of redundant masking operations.  (Code clarification; any decent
5869         compiler can do this optimization.)
5870
5871         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5872         for clarity.
5873
5874         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5875         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5876         use F*_single_property_change instead of F*_extent_change.
5877         Currently F*_single_property_change is _much_ less efficient.
5878
5879         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5880         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5881         syntax_cache.object properly, don't leave Qt or Qnil.
5882         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5883         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5884         tests for Qt or Qnil.
5885
5886 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5887
5888         * redisplay.c (point_in_line_start_cache): 
5889         * extents.c (print_extent_1):
5890         Fix warnings.
5891
5892         * extents.c (Fset_extent_property): Document `syntax-table' property.
5893
5894         * extents.h (Fnext_single_property_change): EXFUN it.
5895
5896 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5897
5898         * search.c (clear_unused_search_regs): New static function.
5899         (search_buffer): 
5900         (simple_search): 
5901         (boyer_moore):
5902         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5903         Minor clarifications in comments.
5904
5905         * regex.c (re_match_2_internal): Ensure no stale submatches.
5906
5907 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5908
5909         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5910
5911 2002-08-29  Jerry James  <james@xemacs.org>
5912
5913         * lisp.h: structrures -> structures.
5914
5915 2002-06-03  Andy Piper  <andy@xemacs.org>
5916
5917         * frame.c (frame_conversion_internal): add conversion appropriate
5918         for setting frame dimensions in pixels.
5919
5920         * console.h (struct console_methods): add device-specific widget
5921         layout functions.
5922
5923         * emacs.c (main_1): initialize glyph vars.
5924
5925         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5926         (handle_focus_event_2): new function. Allow focus to
5927         be set to a particular window and widget.
5928         (enqueue_focus_event): new function. Create a
5929         synthetic focus event.
5930         (emacs_Xt_handle_magic_event): call
5931         handle_focus_event_2.
5932
5933         * frame.c (Fset_frame_pixel_height): new function. Allow
5934         pixel-based sizing. Does the right thing on character-oriented
5935         displays.
5936         (Fset_frame_pixel_width): ditto.
5937         (Fset_frame_pixel_size): ditto.
5938         (syms_of_frame): declare.
5939
5940         * general-slots.h: add :vertically-justify and
5941         :horizontally-justify.
5942
5943         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5944         (mswindows_widget_border_width): new function.
5945         (mswindows_combo_box_instantiate): set border widths.
5946         (console_type_create_glyphs_mswindows): declare.
5947
5948         * glyphs-widget.c:
5949         (check_valid_justification): allow vertical and horizontal
5950         justification.
5951         (widget_border_width): new function. Call device methods.
5952         (widget_instance_border_width): ditto.
5953         (logical_unit_height): new function. Determine the height of a
5954         logical-unit. Logical units are intended to provide grid-like
5955         layout for subcontrols in a layout. If the layout is
5956         :vertically-justify top then subcontrols will be positioned on
5957         logical-unit boundaries, thus allowing adjacent subcontrols to
5958         line up.
5959         (widget_logical_unit_height): ditto for widgets.
5960         (redisplay_widget): misc cleanup.
5961         (widget_spacing): new function. Call device specific
5962         methods. Intended to be the default gap between adjacent widgets.
5963         (widget_query_geometry): use new spacing functions to determine
5964         appropriate geometry.
5965         (initialize_widget_image_instance): initialize horizontal and
5966         vertical justification.
5967         (widget_instantiate): use logica-units where appropriate for
5968         sizing large widgets.
5969         (button_query_geometry): use widget_instance_border_width.
5970         (tree_view_query_geometry): ditto.
5971         (tab_control_query_geometry): ditto.
5972         (edit_field_query_geometry): new function.
5973         (layout_update): pick up :justify, :horizontally-justify and
5974         :vertically-justify none of which worked previously. :justify is
5975         used as a fallback for both horizontal and vertical justification.
5976         (layout_query_geometry): use logical units to size appropriately.
5977         (layout_layout): ditto.
5978         (Fwidget_logical_to_character_width): new function. Allow users to
5979         convert from logical units to characters so that frame sizes can
5980         be set appropriately.
5981         (Fwidget_logical_to_character_height): ditto.
5982         (syms_of_glyphs_widget): declare.
5983         (image_instantiator_edit_fields): add edit_field_query_geometry.
5984         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5985         :horizontally-justify.
5986         (specifier_vars_of_glyphs_widget): new function. Declare
5987         Vwidget_border_width which is not yet used.
5988
5989         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5990         (x_widget_border_width): new function.
5991         (x_widget_instantiate): create a sensible name for widgets.
5992         (console_type_create_glyphs_x): declare x_widget_border_width.
5993
5994         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5995         (struct Lisp_Image_Instance): add :vertically-justify and
5996         :horizontally-justify.
5997         (LAYOUT_JUSTIFY_TOP): new.
5998         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5999         (ROUND_UP): new macro. Round argument up to next integral
6000         interval.
6001
6002         * redisplay-output.c (redisplay_output_layout): misc formatting.
6003
6004         * symsinit.h: declare specifier_vars_of_glyphs_widget.
6005
6006 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
6007
6008         * XEmacs 21.4.9 "Informed Management" is released.
6009
6010 2002-08-19  Andy Piper  <andy@xemacs.org>
6011
6012         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
6013         win32 format.
6014
6015         * realpath.c (xrealpath): normalize drive spec also so that dir
6016         sep chars are not mixed on cygwin.
6017
6018 2002-08-06  Jerry James  <james@xemacs.org>
6019
6020         * window.c (Fsplit_window): Count only half of the divider width
6021         against the left window when splitting horizontally. 
6022
6023 2002-06-24  Andy Piper  <andy@xemacs.org>
6024
6025         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
6026         toolbar was cleared.
6027
6028         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
6029         function. Split out from mswindows_output_frame_toolbars.
6030         (mswindows_output_frame_toolbars): move clear pieces to
6031         mswindows_output_frame_toolbars.
6032
6033         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
6034         out from gtk_output_frame_toolbars.
6035         (gtk_output_frame_toolbars): move clear pieces to
6036         gtk_clear_frame_toolbars.
6037
6038         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
6039         the frame is cleared. How this ever worked before is a mystery.
6040         (x_output_frame_toolbars): Only output toolbars.
6041         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
6042
6043         * gutter.c (update_gutter_geometry):
6044         Mark frame layout changed.
6045         (update_frame_gutter_geometry, update_frame_gutters):
6046         Respect frame_layout_changed.
6047
6048         * console.h (struct console_methods): add
6049         clear_frame_toolbars_method.
6050
6051         * redisplay.c (redisplay_frame): call
6052         update_frame_toolbars_geometry and re-order update_frame_toolbars.
6053
6054         * toolbar.h: declare update_frame_toolbars_geometry.
6055
6056         * toolbar.c (update_frame_toolbars_geometry): new function. Split
6057         out from update_frame_toolbars.  Call clear_frame_toolbars.
6058         (update_frame_toolbars): only output, do not change geometry.
6059
6060         * redisplay.c: add frame_layout_changed.
6061
6062         * redisplay.h: add frame_layout_changed.
6063         (CLASS_RESET_CHANGED_FLAGS): set it.
6064         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
6065         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
6066         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
6067
6068         * device.h (struct device): add frame_layout_changed.
6069         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
6070
6071         * frame.h (struct frame): add frame_layout_changed.
6072         (MARK_FRAME_LAYOUT_CHANGED): new.
6073
6074 2002-06-30  Mike Alexander  <mta@arbortext.com>
6075
6076         * event-msw.c (mswindows_need_event): Don't wait for a new message
6077         if the queue is not empty.  Suggested by Paul Moore.
6078
6079 2002-06-12  Andy Piper  <andy@xemacs.org>
6080
6081         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
6082         for printing on accurately.
6083
6084 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
6085
6086         * event-msw.c (mswindows_wnd_proc): Add a handler for the
6087         WM_ACTIVATE message. Make sure that the frame is visible if the
6088         window is visible. This seemss to fix the problem where XEmacs
6089         appears to freeze after switching desktops with certain virtual
6090         window managers.
6091         (debug_output_mswin_message): Added code to output message
6092         parameters for WM_WINDOWPOSCHANGED, 
6093         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
6094
6095 2002-05-25  Andy Piper  <andy@xemacs.org>
6096
6097         * select-x.c (vars_of_select_x): Fix docstring of
6098         x-selection-strict-motif-ownership
6099
6100 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6101
6102         * keymap.c (get_keymap):
6103         Add comment about do_autoload GCPROs own args.
6104
6105 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6106
6107         * bytecode.c (execute_optimized_program): check_opcode ifdef
6108         ERROR_CHECK_BYTE_CODE.
6109
6110 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6111
6112         Thanks to Ben Wing and Michael Sperber.
6113
6114         * eval.c (Fcommand_execute):
6115         (Feval):
6116         (Ffuncall):
6117         (Fmacroexpand_internal):
6118         (function_argcount):
6119         callint.c (Fcall_interactively):
6120         Add comment about do_autoload GCPROs own args.
6121
6122         * (do_autoload): GCPRO both args as well as local Lisp_Object.
6123
6124         * eval.c (Ffuncall): Extra braces to placate GCC.
6125
6126 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
6127
6128         * backtrace.h (grow_specpdl):
6129         (SPECPDL_RESERVE):
6130         * EmacsFrame.c (EmacsFrameSetValues):
6131         * eval.c (grow_specpdl):
6132         * ExternalShell.c (hack_event_masks_1):
6133         * glyphs-x.c (convert_EImage_to_XImage): 
6134         (x_finalize_image_instance):
6135         * ralloc.c (page_size):
6136         (r_alloc_sbrk):
6137         * xgccache.c (gc_cache_hash):
6138         Fix unsigned comparison warnings.
6139
6140 2002-07-29  Jerry James  <james@xemacs.org>
6141
6142         * lread.c (locate_file): Any nonnegative return value indicates
6143         success if MODE is nonnegative.
6144
6145 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
6146
6147         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
6148         argument. 
6149
6150 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
6151
6152         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
6153
6154         * dumper.c (pdump_get_indirect_count):
6155         (pdump_scan_by_alignment):
6156         (pdump_dump_root_struct_ptrs):
6157         (pdump_dump_rtables):
6158         (pdump_dump_root_objects):
6159         (pdump):
6160         * nas.c (WaveOpenDataForReading):
6161         * fns.c (print_bit_vector):
6162         * font-lock.c (SINGLE_SYNTAX_STYLE):
6163         * glyphs.c (check_for_ignored_expose):
6164         (find_matching_subwindow):
6165         * glyphs-eimage.c:
6166         * imgproc.c (get_histogram):
6167         * redisplay.c (point_in_line_start_cache):
6168         * redisplay-output.c (redisplay_unmap_subwindows):
6169         * symbols.c (defsymbol_massage_name_1):
6170         (defkeyword_massage_name):
6171         (deferror_massage_name_and_message):
6172         * redisplay-x.c (x_output_string): 
6173         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
6174         * frame.h (struct frame):
6175         * filelock.c (current_lock_owner):
6176         * doprnt.c (emacs_doprnt_1):
6177         * lisp.h (struct Lisp_Bit_Vector):
6178         (DO_REALLOC):
6179         Fix warnings.
6180
6181 2002-02-13  Ben Wing  <ben@xemacs.org>
6182
6183         * event-stream.c (reset_key_echo):
6184         * event-stream.c (reset_this_command_keys):
6185         * event-stream.c (execute_command_event):
6186         If console is dead as a result of C-x 5 0, then post-command stuff
6187         needs to be careful and do only non-console-specific stuff.
6188
6189 2002-07-01  Mike Sperber <mike@xemacs.org>
6190
6191         * process-unix.c (unix_send_process): Mark coding_outstream as
6192         non-open upon SIGPIPE.
6193
6194         * event-stream.c (Fnext_event): Reorder switch cases to something
6195         that makes sense.
6196
6197 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
6198
6199         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
6200         Don't bogusly reinitialize ascii_character property.
6201
6202 2002-07-08  Mike Sperber <mike@xemacs.org>
6203
6204         * process.c (Fstart_process_internal): Do error checking before we
6205         fork off the child, so the child can't muck with the state of the
6206         parent.
6207
6208 2002-07-08  Mike Sperber <mike@xemacs.org>
6209
6210         * ralloc.c (init_ralloc): Allocate properly for pdump.
6211
6212 2002-06-12  Andy Piper  <andy@xemacs.org>
6213
6214         * glyphs.c (query_string_geometry): check the string.
6215
6216         * glyphs-widget.c (widget_logical_unit_height): cope with nil
6217         widget names.
6218
6219 2002-06-17  Jerry James  <james@xemacs.org>
6220
6221         * sysdll.c: Remove RTLD_GLOBAL initialization.
6222         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
6223
6224 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
6225
6226         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
6227
6228 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
6229
6230         * sysdep.c (sys_rename): Make sys_rename work for the case where
6231         Windows rename sets errno to EACCES if target file exists.
6232
6233 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
6234
6235         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6236         Fix detection of metric units to work on Win95
6237
6238 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
6239
6240         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
6241
6242 2002-04-25  Andy Piper  <andy@xemacs.org>
6243
6244         * redisplay.c (create_text_block): Remove extra comment trailer.
6245
6246 2002-04-24  Andy Piper  <andy@xemacs.org>
6247
6248         * redisplay.c (create_text_block): Don't actually add propagation
6249         data if the line ends after we have added a glyph.
6250
6251 2002-04-22  Andy Piper  <andy@xemacs.org>
6252
6253         * extents.c (extent_fragment_update): check for glyphs we have
6254         previously displayed.
6255         * extents.c (print_extent_1): warning removal.
6256         * extents.h: change prototype.
6257         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
6258         widths correctly for wide glyphs.
6259         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6260         * redisplay.c (prop_type): add PROP_GLYPH.
6261         * redisplay.c (struct prop_block): add glyph type
6262         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6263         to the propagation data.
6264         * redisplay.c (create_text_block): if there is a glyph in the
6265         propagation data use it to salt extent_fragment_update.
6266         * redisplay.c (create_string_text_block): ditto.
6267
6268 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6269
6270         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6271         * redisplay-output.c (compare_runes): Compare them.
6272         * redisplay.c: Update copyright date.
6273         * redisplay.c (pos_data): Add need_baseline_computation field.
6274         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6275         need_baseline_computation; zero yoffset. Set max_pixmap_height
6276         for all pixmaps, not just automatically positioned ones.
6277         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6278         * redisplay.c (calculate_baseline): New, compute textual baseline.
6279         * redisplay.c (add_glyph_rune): Call them.
6280         * redisplay.c (create_text_block): Likewise.
6281         * redisplay.c (create_overlay_glyph_block): Likewise.
6282         * redisplay.c (add_margin_runes): Likewise.
6283         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6284
6285         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6286         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6287         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6288         * redisplay-msw.c (mswindows_output_string): Likewise.
6289         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6290         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6291         * redisplay-x.c (x_output_display_block): Likewise.
6292
6293 2002-03-28  Ben Wing  <ben@xemacs.org>
6294
6295         * redisplay.c: Fixed bug in redisplay
6296         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6297         and down of the lines, since they're bigger than the line
6298         size. (It was seen most obviously when there's a horizontal scroll
6299         bar, e.g. do C-h a glyph or something like that.) The problem was
6300         that the glyph-contrib-p setting on glyphs was ignored even if it
6301         was set properly, which it wasn't until now.
6302
6303 2002-04-24  Andy Piper  <andy@xemacs.org>
6304
6305         * lisp.h (Dynarr_end): Fix definition.
6306
6307 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6308
6309         * redisplay.c (mark_redisplay): Remove call to
6310         update_frame_window_mirror.
6311
6312 2001-11-15  Andy Piper  <andy@xemacs.org>
6313
6314         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6315         cygwin (again).
6316
6317 2002-02-13  Andy Piper  <andy@xemacs.org>
6318
6319         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6320         we did in fact enqueue the XM_MAPFRAME event.
6321
6322 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6323
6324         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6325         to fix problem switching between virtual desktops under virtuawin
6326         virtual window manager.
6327
6328 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6329
6330         * event-msw.c: Typo fix.
6331         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6332         magic XM_MAPFRAME event has been sent.
6333
6334 2001-11-23  Andy Piper  <andy@xemacs.org>
6335
6336         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6337
6338 2001-11-21  Andy Piper  <andy@xemacs.org>
6339
6340         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6341         mouse events outside the frame.
6342
6343 2002-03-20  Andy Piper  <andy@xemacs.org>
6344
6345         * menubar-msw.c (mswindows_popup_menu): warning removal.
6346         * dialog-msw.c (dialog_popped_down): ditto.
6347
6348 2001-12-11  Andy Piper  <andy@xemacs.org>
6349
6350         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6351         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6352         popup_up_p.
6353         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6354         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6355         * menubar-msw.c (mswindows_popup_menu): ditto.
6356
6357 2001-10-29  Andy Piper  <andy@xemacs.org>
6358
6359         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6360         cancels.
6361
6362 2002-01-03  Andy Piper  <andy@xemacs.org>
6363
6364         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6365         letters.
6366         (xrealpath): ditto.
6367
6368 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6369
6370         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6371         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6372         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6373         Detect and handle case where machine is set up for metric units
6374
6375 2002-04-02  Andy Piper  <andy@xemacs.org>
6376
6377         * dired-msw.c (mswindows_get_files): 
6378         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6379         completely handled by XEmacs. Suggested by Thomas Vogler
6380         <mail@thomas-vogler.de>.
6381
6382 2001-11-14  Andy Piper  <andy@xemacs.org>
6383
6384         * nt.c (REG_ROOT): change registry key to XEmacs.
6385
6386 2002-04-27  Andy Piper  <andy@xemacs.org>
6387
6388         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6389
6390 2002-04-26  Andy Piper  <andy@xemacs.org>
6391
6392         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6393         behavior.
6394
6395 2002-03-14  Mike Alexander  <mta@arbortext.com>
6396
6397         * event-msw.c (mswindows_unwait_process): New, remove process from
6398         wait list
6399         * process-nt.c (nt_finalize_process_data): Call
6400         mswindows_unwait_process
6401         * console-msw.h: Declare mswindows_unwait_process
6402
6403 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6404
6405         * editfns.c (Fdecode_time):
6406         (Fformat_time_string):
6407         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6408         (make_time): Warning elimination (change arg name).
6409
6410 2001-11-24  Andy Piper  <andy@xemacs.org>
6411
6412         * window.c (Fsplit_window): Doc return type.
6413
6414 2002-04-01  Andy Piper  <andy@xemacs.org>
6415
6416         * emacs.c (Fkill_emacs): Only output message box in interactive
6417         mode.
6418
6419 2002-04-26  Andy Piper  <andy@xemacs.org>
6420  
6421         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6422         cygwin.
6423
6424 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6425
6426         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6427         bit platform.
6428
6429 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6430
6431         * XEmacs 21.4.8 "Honest Recruiter" is released.
6432
6433 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6434
6435         Supersedes 2002-04-17 patch.
6436
6437         * process.h (PROCESS_LIVE_P): Use the process status as
6438         evidence of health, not the state of the input stream.
6439         (PROCESS_READABLE_P): Say if the process is readable
6440         from. (It may be dead nonetheless.)
6441         (CHECK_READABLE_PROCESS): Test for that condition.
6442
6443         * process.c (create_process): Use PROCESS_READABLE_P.
6444         (read_process_output, set_process_filter): Likewise.
6445
6446         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6447         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6448
6449         This code is #if 0'd, this is not the time to add new functions:
6450
6451         * process.c (Fprocess_readable_p): Report readability status.
6452         * process.c (Qprocess_readable_p): New, associated symbol...
6453         * process.c (syms_of_process): ... initialize it.
6454
6455 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6456
6457         * XEmacs 21.4.7 "Economic Science" is released.
6458
6459 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6460
6461         * process.h (PROCESS_LIVE_P): Use the process status as
6462         evidence of health, not the state of the input stream.
6463
6464 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6465
6466         * sysdep.c (sys_siglist): change "signum" to "signal"
6467
6468 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6469
6470         * s/darwin.h: New file.
6471         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6472         
6473 2002-04-23  Andreas Jaeger  <aj@suse.de>
6474
6475         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6476         which use lib64 for 64-bit libs.
6477         (START_FILES): Likewise.
6478
6479 2002-02-11  Mike Sperber  <mike@xemacs.org>
6480
6481         * device-x.c: 
6482         (x_IO_error_handler):
6483         (x_init_device): Temporarily keep device in static variable
6484         `device_being_initialized' so we can recover gracefully from
6485         internal XOpenDevice failure.  (XOpenDevice is documented to
6486         return NULL on failure, but sometimes calls the IO error handler
6487         instead.)
6488
6489 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6490
6491         * dired.c (Ffile_name_all_completions): Change documentation --
6492         remove reference to completion-ignored-extensions.
6493         * dired.c (vars_of_dired): Change documentation for
6494         completion-ignored-extensions -- remove reference to
6495         file-name-all-completions.
6496
6497 2002-03-06  Jerry James  <james@xemacs.org>
6498
6499         * emodules.c (emodules_load): Fix multiple loading of same module.
6500
6501 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6502         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6503         RTLD_LAZY to avoid incorrect symbol binding when using nested
6504         shared libraries on Solaris.
6505
6506 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6507
6508         * fileio.c (Ffind_file_name_handler): Improve docstring.
6509
6510 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6511
6512         * fns.c (Fmapconcat): Improve docstring.
6513
6514 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6515
6516         * device-gtk.c: Add prototype for
6517         emacs_gtk_selection_clear_event_handle.
6518         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6519         selection.  Setup signal handler for "selection_clear_event"
6520         (emacs_gtk_selection_clear_event_handle).
6521
6522         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6523         other applications owning the clipboard (based on
6524         x_handle_selection_clear).
6525
6526 2001-12-23  William M. Perry  <wmperry@gnu.org>
6527
6528         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6529         
6530 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6531
6532         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6533
6534 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6535
6536         * XEmacs 21.4.6 "Common Lisp" is released.
6537
6538 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6539
6540         * search.c (Freplace_match): Add missing sub-expression functionality.
6541
6542         * buffer.c (decode_buffer): Add a check for pointer type to
6543         decode_buffer, before gcc's CSE optimization reorders a
6544         dereference in front of the allow_string test.
6545
6546 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6547
6548         * window.c (window_loop): Fix bug that sometimes prevented
6549         window_loop() from iterating across multiple devices.  Also, at
6550         Ben's request, changed infloop-detecting code to abort() instead
6551         of silently terminating window_loop().
6552
6553 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6554
6555         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6556         * editfns.c (make_time): New function.
6557         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6558         * lisp.h (make_time): Prototype and comment it.
6559         * dired.c (wasteful_word_to_lisp): Deprecate.
6560         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6561
6562 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6563
6564         * fileio.c (auto_save_1): Use current coding system, not
6565         escape-quoted.
6566
6567 2001-11-13  Ben Wing  <ben@xemacs.org>
6568
6569         * window.c:
6570         * window.c (window_truncation_on):
6571         * window.c (syms_of_window):
6572         truncate-partial-width-windows should respect the buffer being
6573         displayed, like other redisplay vars.
6574
6575 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6576
6577         * event-stream.c (Fread_key_sequence): save current buffer.
6578
6579 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6580
6581         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6582
6583 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6584
6585         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6586
6587 2001-10-26  Mike Alexander  <mta@arbortext.com>
6588
6589         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6590
6591 2001-10-25  Andy Piper  <andy@xemacs.org>
6592
6593         * ChangeLog:
6594         * dialog-msw.c (handle_directory_proc): new function.
6595          (handle_directory_dialog_box): new fucntion.
6596          (handle_file_dialog_box): use new directory dialog support.
6597          (mswindows_make_dialog_box_internal): ditto.
6598         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6599         handling.
6600         (mswindows_find_frame): make global.
6601         * fileio.c (Fexpand_file_name): build fix.
6602         * general-slots.h: add Qdirectory.
6603         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6604         handling.
6605         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6606         cygwin not leaving win32 paths unchanged.
6607         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6608         cygwin runtime to do path conversion.
6609         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6610         (syms_of_win32): add new function.
6611         * window.c (window_loop): build fix.
6612
6613 2001-10-15  Andy Piper  <andy@xemacs.org>
6614
6615         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6616
6617 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6618
6619         * XEmacs 21.4.5 "Civil Service" is released.
6620
6621 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6622
6623         * glyphs-x.c: Force buffer-tab highlight update when moving the
6624         buffer, avoiding an ugly black border, used for keyboard focus
6625         indication, on a widget that can never have keyboard focus, the
6626         buffer tab.
6627
6628 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6629
6630         * process-unix.c (unix_open_multicast_group): Remove too much
6631         conversion between host and network byte order.
6632
6633 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6634
6635         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6636         before replacing them.
6637
6638         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6639         operation.
6640
6641         * src/window.c (undedicate_windows): Use it.
6642         * src/window.h: Add prototype.
6643
6644 2001-09-17  Ben Wing  <ben@xemacs.org>
6645
6646         * fileio.c (normalize_filename):
6647         * fileio.c (Fexpand_file_name):
6648         Fix various C++ compile errors in Andy's recent code.
6649         
6650         * callint.c (Fcall_interactively):
6651         * editfns.c (Ftemp_directory):
6652         * editfns.c (Fuser_full_name):
6653         * emacs.c (argmatch):
6654         * lread.c (locate_file_map_suffixes):
6655         * redisplay-x.c (x_ring_bell):
6656         Fix sign-compare warnings.
6657         
6658 2001-09-08  Andy Piper  <andy@xemacs.org>
6659
6660         * fileio.c (normalize_filename): copied from nt.c
6661         * (Ffile_name_directory): enable win32 paths under cygwin.
6662         * (Ffile_name_nondirectory): ditto.
6663         * (directory_file_name): ditto.
6664         * (Fexpand_file_name): ditto.
6665         * (Ffile_truename): ditto.
6666         * (Fsubstitute_in_file_name): ditto.
6667         * (Ffile_name_absolute_p): ditto.
6668         * (Ffile_readable_p): ditto.
6669
6670 2001-09-08  Andy Piper  <andy@xemacs.org>
6671
6672         * device-msw.c (mswindows_finish_init_device): remove dde
6673         initialization.
6674         * device-msw.c (mswindows_init_dde): factor out from
6675         mswindows_finish_init_device()
6676         * device-msw.c (init_mswindows_very_early): new function
6677         initialize but don't enable dde.
6678         * emacs.c (main_1): call init_mswindows_very_early.
6679         * event-msw.c:
6680         * event-msw.c (mswindows_dde_callback): only execute when we are
6681         ready.
6682         * symsinit.h: declare init_mswindows_very_early.
6683
6684 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6685
6686         [sjt: This has been in 21.5 for months with no complaints.]
6687
6688         * console.h (struct console_methods): Added flags member.
6689         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6690         (CONMETH_IMPL_FLAG):
6691         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6692         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6693
6694         * device.c (window_system_pixelated_geometry): Use the above macros.
6695
6696         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6697         implememntation flag.
6698         * device.h (DEVICE_DISPLAY_P): Use it.
6699
6700         * frame.c (delete_frame_internal): Use the above macro.
6701
6702         * redisplay.c (redisplay_device): Use it.
6703         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6704         (redisplay_frame): Ditto.
6705
6706         * device-msw.c (mswindows_device_implementation_flags): Removed.
6707         (msprinter_device_implementation_flags): Removed.
6708         (console_type_create_device_mswindows): Removed references to
6709         implementation_flags methods, set implementation flags here.
6710         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6711
6712         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6713         (console_type_create_device_gtk): Removed method declaration.
6714         Added commented out statement which semantically matches the
6715         commented out statement in the above removed method.
6716
6717 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6718
6719         The attached patch fixes a few warnings. 
6720
6721         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6722         * src/frame-gtk.c: guard against GNOME calls in GTK only
6723         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6724         * src/select-gtk.c: prototype lisp_to_time
6725
6726 2001-06-08  Ben Wing  <ben@xemacs.org>
6727
6728         ------ gc-in-window-procedure fixes ------
6729         
6730         * alloc.c:
6731         * alloc.c (struct post_gc_action):
6732         * alloc.c (register_post_gc_action):
6733         * alloc.c (run_post_gc_actions):
6734         * alloc.c (garbage_collect_1):
6735         Create "post-gc actions", to avoid those dreaded "GC during window
6736         procedure" problems.
6737
6738         * event-msw.c:
6739         Abort, clean and simple, when GC in window procedure.  We want
6740         to flush these puppies out.
6741
6742         * glyphs-msw.c:
6743         * glyphs-msw.c (finalize_destroy_window):
6744         * glyphs-msw.c (mswindows_finalize_image_instance):
6745         Use a post-gc action when destroying subwindows.
6746
6747         * lisp.h:
6748         Declare register_post_gc_action().
6749
6750         * scrollbar-msw.c:
6751         * scrollbar-msw.c (unshow_that_mofo):
6752         Use a post-gc action when unshowing scrollbar windows, if in gc.
6753
6754         * redisplay.c (mark_redisplay):
6755         Add comment about the utter evilness of what's going down here.
6756
6757         ------ cygwin setitimer fixes ------
6758         
6759         * Makefile.in.in (sheap_objs):
6760         * Makefile.in.in (profile_objs):
6761         * Makefile.in.in (objs):
6762         Compile profile.c only when HAVE_SETITIMER.
6763         
6764         * nt.c (mswindows_sigset):
6765         * nt.c (mswindows_sighold):
6766         * nt.c (mswindows_sigrelse):
6767         * nt.c (mswindows_sigpause):
6768         * nt.c (mswindows_raise):
6769         * nt.c (close_file_data):
6770         Style fixes.
6771         
6772         * nt.c:
6773         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6774         
6775         * profile.c:
6776         * profile.c (Fstart_profiling):
6777         * profile.c (Fstop_profiling):
6778         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6779         instead of just plain setitimer().
6780         
6781         * signal.c:
6782         * signal.c (set_one_shot_timer):
6783         * signal.c (alarm):
6784         Define qxe_setitimer() as an encapsulation around setitimer() --
6785         call setitimer() directly unless Cygwin or MS Win, in which case
6786         we use our simulated version in win32.c.
6787         
6788         * systime.h:
6789         * systime.h (struct itimerval):
6790         * systime.h (ITIMER_REAL):
6791         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6792         comment about "qxe" and the policy regarding encapsulation.
6793
6794         * win32.c:
6795         * win32.c (setitimer_helper_proc):
6796         * win32.c (setitimer_helper_period):
6797         * win32.c (setitimer_helper):
6798         * win32.c (mswindows_setitimer):
6799         Move setitimer() emulation here, so Cygwin can use it.
6800         Rename a couple of functions and variables to be longer and more
6801         descriptive.  In setitimer_helper_proc(), send the signal
6802         using either mswindows_raise() or (on Cygwin) kill().  If for
6803         some reason we are still getting lockups, we'll change the kill()
6804         to directly invoke the signal handlers.
6805
6806         ------ windows shell fixes ------
6807         
6808         * callproc.c:
6809         * ntproc.c:
6810         Comments about how these two files must die.
6811
6812         * callproc.c (init_callproc):
6813         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6814         not just COMSPEC. (more correct and closer to FSF.) Don't
6815         force a value for SHELL into the environment. (Comments added
6816         to explain why not.)
6817         
6818         * nt.c (init_user_info):
6819         Don't shove a fabricated SHELL into the environment.  See above.
6820
6821 2001-06-01  Ben Wing  <ben@xemacs.org>
6822
6823         * Makefile.in.in (ldflags):
6824         eliminate that pesky "defaulting to 00401000" warning.
6825         * nt.h:
6826         eliminate warnings.
6827
6828 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6829
6830         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6831         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6832
6833 2001-04-24  Jerry James <james@xemacs.org>
6834
6835         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6836         correct order.
6837
6838 2001-06-01  Ben Wing  <ben@xemacs.org>
6839
6840         * event-msw.c (debug_mswin_messages):
6841         conditionalize the messages that were causing compile errors.
6842         (if only macros could generate #ifdef statements ...)
6843
6844 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6845
6846         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6847
6848 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6849
6850         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6851
6852 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6853
6854         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6855         * process-unix.c (unix_canonicalize_host_name):
6856         sysdep.c (init_system_name):
6857         Use it to conditionally support IPv6 canonicalization.
6858
6859 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6860
6861         * event-msw.c:
6862         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6863
6864 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6865
6866         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6867         attempt is made to scroll when no scroll bar is available.
6868
6869 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6870
6871         * input-method-motif.c (XIM_delete_frame): New callback.
6872         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6873         got deleted from 21.4.3.)
6874
6875 2001-06-01  Ben Wing  <ben@xemacs.org>
6876
6877         * nt.c (mswindows_utime):
6878         * nt.c (close_file_data):
6879         fix off-by-one-indirection error.
6880
6881 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6882
6883         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6884         because set_file_times() now takes Lisp_Object path, instead of
6885         char*.
6886         * nt.c: Include buffer.h.
6887         * nt.c (convert_from_time_t): New.
6888         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6889         not set mtime correctly.
6890         * nt.h: Declare mswindows_utime().
6891         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6892         path, instead of char*.
6893         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6894
6895 2001-05-30  Ben Wing  <ben@xemacs.org>
6896
6897         For 21.4:
6898
6899         (Stephen, just take all event-msw.c patches.  This includes
6900         the "iconify" fix below.)
6901
6902         * event-msw.c:
6903         * event-msw.c (mswindows_dequeue_dispatch_event):
6904         * event-msw.c (assert):
6905         * event-msw.c (emacs_mswindows_quit_p):
6906         * event-msw.c (debug_mswin_messages):
6907         * event-msw.c (debug_output_mswin_message):
6908         * event-msw.c (vars_of_event_mswindows):
6909         Fix yet more problems with C-g handling.
6910         Implement debug-mswindows-events.
6911         
6912 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6913
6914         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6915         
6916 2001-05-23  Ben Wing  <ben@xemacs.org>
6917
6918         * event-msw.c (winsock_writer):
6919         * event-msw.c (winsock_closer):
6920         prior kludgy code was clobbering the buffer, thinking it was
6921         "unused" space to store an unneeded return value; instead, use
6922         the variable we've already got staring us in the face.
6923
6924 2001-05-17  Andy Piper  <andy@xemacs.org>
6925
6926         * sysfile.h: don't assume that file attributes are boolean
6927
6928 2001-05-23  Ben Wing  <ben@xemacs.org>
6929
6930         * device-msw.c (msprinter_init_device):
6931         signal an error rather than crash with an unavailable network
6932         printer (from Mike Alexander).
6933         
6934         * event-msw.c:
6935         * event-msw.c (struct winsock_stream):
6936         * event-msw.c (winsock_writer):
6937         * event-msw.c (winsock_closer):
6938         * event-msw.c (make_winsock_stream_1):
6939         cleanup headers.  fix (hopefully) an error with data corruption
6940         when sending to a network connection.
6941
6942         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6943         to handle the ~user prefix by (a) always assuming we're referencing
6944         ourselves and not even verifying the user -- hence any file with
6945         a tilde as its first char is invalid! (b) if there wasn't a slash
6946         following the filename, the pointer was set *past* the end of
6947         file and we started reading from uninitialized memory.  Now we
6948         simply treat these as files, always.
6949
6950         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6951         
6952 2001-05-19  Ben Wing  <ben@xemacs.org>
6953
6954         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6955
6956         * process-nt.c:
6957         * process-nt.c (vars_of_process_nt):
6958         remove unused mswindows-quote-process-args.  rec for 21.4.
6959         
6960 2001-05-12  Ben Wing  <ben@xemacs.org>
6961
6962         * event-msw.c (mswindows_dde_callback):
6963         * event-msw.c (mswindows_wnd_proc):
6964         eliminate cygwin warnings.
6965
6966 2001-05-06  Ben Wing  <ben@xemacs.org>
6967
6968         * console-msw.h:
6969         * device-msw.c:
6970         * device-msw.c (print_dialog_worker):
6971         * device-msw.c (mswindows_handle_print_dialog_box):
6972         * device-msw.c (syms_of_device_mswindows):
6973         * dialog-msw.c (mswindows_make_dialog_box_internal):
6974         * general-slots.h:
6975         implement printing the selection when it's selected.
6976
6977 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6978
6979         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6980
6981 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6982
6983         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6984         EMACS_INT is signed.
6985
6986 2001-04-15  Michael Lausch  <mla@1012surf.net>
6987
6988         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6989         gtk_widget_request_size() to give scrollbar >0 width for
6990         GTK >1.2.8.
6991
6992 2001-05-30  William M. Perry  <wmperry@gnu.org>
6993
6994         * event-gtk.c: Check for buttons as modifier keys.
6995
6996 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6997
6998         * s\mingw32.h:
6999         Properly find MinGW's <process.h> inside Cygwin's restructured
7000         include directories.  Don't try to include <cygwin/version.h>
7001         since we are dropping support for MinGW in versions of Cygwin
7002         earlier than b21.
7003         * nt.c:
7004         Drop support for MinGW in versions of Cygwin before b21.
7005         * sysdep.c:
7006         Properly find MinGW's <process.h> inside Cygwin's restructured
7007         include directories.
7008         * syswindows.h:
7009         Drop support for MinGW in versions of Cygwin before b21.
7010         * unexcw.c:
7011         Even though a.out.h is no longer detected by configure, allow
7012         MinGW to use it until we figure out how to do the job with Win32.
7013
7014 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
7015
7016         * syntax.c (find_start_of_comment):
7017         Fix `unbalanced parentheses' bug when dealing with mixed comment
7018         styles in c++/java/etc. mode
7019
7020 2001-05-29  Mike Alexander  <mta@arbortext.com>
7021
7022         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
7023         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
7024
7025 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
7026
7027         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
7028
7029 2001-03-31  Mike Sperber <mike@xemacs.org>
7030
7031         * search.c (Freplace_match): Support FSF-style specification of
7032         match subexpression when applied to a buffer.
7033
7034 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7035
7036         * event-stream.c (is_scrollbar_event): add missing semicolon
7037
7038 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
7039
7040         * Makefile.in.in: Use TAR macro instead of hardcoding
7041           tar.  Allows use of GNU tar instead of system tar
7042
7043 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7044
7045         * event-stream.c (is_scrollbar_event): add missing semicolon
7046
7047 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7048
7049         * XEmacs 21.4.3 "Academic Rigor" is released.
7050
7051 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7052
7053         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
7054
7055 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7056
7057         * buffer.c (Vcase_fold_search): Remove obsolete
7058           comment about non ASCII case-fold-search.  This
7059           bug has been fixed by case-table changes.
7060
7061 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
7062
7063         * event-msw.c: Restore include of events-mod.h.
7064
7065 2001-04-22   zhaoway  <zw@debian.org>
7066
7067         * event-stream.c (is_scrollbar_event): Noop returning 0 if
7068         !HAVE_SCROLLBARS.
7069
7070 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
7071
7072         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
7073
7074 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
7075
7076         * mule-charset.c (Fmake_charset): Add missing else.
7077
7078 2001-04-23  Ben Wing  <ben@xemacs.org>
7079
7080         * event-msw.c (FAKE_MOD_QUIT):
7081         * event-msw.c (mswindows_dequeue_dispatch_event):
7082         * event-msw.c (mswindows_wnd_proc):
7083         * event-msw.c (emacs_mswindows_quit_p):
7084         Get critical quit working.
7085
7086 2001-05-05  Ben Wing  <ben@xemacs.org>
7087
7088         * console-msw.h:
7089         * device-msw.c:
7090         * device-msw.c (mswindows_get_default_margin):
7091         * frame-msw.c (mswindows_size_frame_internal):
7092         * frame-msw.c (msprinter_init_frame_1):
7093         * frame-msw.c (vars_of_frame_mswindows):
7094         Change top/bottom margin defaults to 0.5 inches.
7095
7096 2001-05-01  Martin Buchholz  <martin@xemacs.org>
7097
7098         Fix link error with gcc 3.0 on Linux.
7099         * terminfo.c (UP): Remove.
7100         * terminfo.c (BC): Remove.
7101         * terminfo.c (PC): Remove.
7102         They weren't used, and in any case, these symbols should be
7103         defined in the *library*.
7104
7105 2001-05-03  Martin Buchholz  <martin@xemacs.org>
7106
7107         * s/aix4.h: Fix crash with xlc -O3.
7108         Improve comment explaining how -O3 works.
7109
7110 2001-04-15  Ben Wing  <ben@xemacs.org>
7111
7112         * event-stream.c:
7113         * event-stream.c (Fnext_event):
7114         * event-stream.c (is_scrollbar_event):
7115         * event-stream.c (execute_command_event):
7116         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
7117         crash' problem.  His fix introduces other problems.  We filter
7118         out scrollbar events specifically, making them somewhat invisible
7119         to command-building, and not appearing in `this-command-keys'.
7120         More work is still needed (see comments in event-stream.c), but
7121         this fixes all the major problems.
7122
7123 2001-04-20  Ben Wing  <ben@xemacs.org>
7124
7125         * .cvsignore: Added stuff for Windows.
7126
7127 2001-04-28  Ben Wing  <ben@xemacs.org>
7128
7129         * buffer.c (Ferase_buffer):
7130         * editfns.c (buffer_insert1):
7131         * editfns.c (Finsert_before_markers):
7132         * editfns.c (Finsert_string):
7133         * editfns.c (Finsert_char):
7134         * editfns.c (Fdelete_region):
7135         * editfns.c (Fwiden):
7136         * editfns.c (Fnarrow_to_region):
7137         remove bogus lines setting zmacs_region_stays to 0.
7138         
7139 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7140
7141         * process-unix.c (unix_open_network_stream): If connect() fails
7142         invalidate file descriptor after closing it.
7143
7144 2001-03-08  Mike Alexander  <mta@arbortext.com>
7145
7146         * event-msw.c (mswindows_need_event_in_modal_loop):
7147         Don't dispatch a message if we didn't get one.
7148         (mswindows_need_event):
7149         Terminate the correct process when one exits instead of the first
7150         one on Vprocess_list and look for process termination when in
7151         mswindows_protect_modal_loop.
7152
7153 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
7154
7155         * XEmacs 21.4.1 "Copyleft" is released.
7156
7157 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7158
7159         * input-method-motif.c (XIM_delete_frame): New callback.
7160         (XIM_init_frame): Register it.
7161
7162 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7163
7164         * XEmacs 21.4.0 "Solid Vapor" is released.
7165
7166 2001-04-15  Ben Wing  <ben@xemacs.org>
7167
7168         * cmdloop.c (call_command_loop):
7169         Fix braino in bit-rotting code.
7170         
7171 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
7172
7173         * extents.c (Fset_extent_endpoints): Force creation of extent info
7174         in buffer_or_string.
7175
7176         * extents.c (process_extents_for_insertion_mapper): Correctly
7177         check for open-open zero-length extents.
7178
7179 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7180
7181         * lisp.h: New typedefs Memory_count, Element_count.
7182         * regex.c:
7183         * regex.h:
7184         Sign-compare warning elimination: several unsigned -> signed.
7185         Based on work by Ben Wing <ben@xemacs.org>.
7186
7187 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
7188
7189         * XEmacs 21.2.47 "Zephir" is released.
7190
7191 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
7192
7193         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
7194
7195 2001-04-03  Mike Sperber <mike@xemacs.org>
7196
7197         * search.c: Revert previous patch due because of release.
7198
7199 2001-03-30  Ben Wing  <ben@xemacs.org>
7200
7201         * s\cygwin32.h:
7202         Add missing killpg prototype.
7203
7204         * elhash.c:
7205         Add a comment about fixing problems when a new entry is added
7206         while mapping.
7207
7208         * frame-msw.c (mswindows_init_frame_1):
7209         Fix compile warnings.
7210
7211         * menubar.c (vars_of_menubar):
7212         Provide `menu-accelerator-support' to indicate that we properly
7213         support %_ in menu specifications, so that package code can
7214         conditionalize on this (and remove %_ from menu specifications
7215         on older versions).
7216
7217         * event-msw.c:
7218         * scrollbar-msw.c:
7219         * scrollbar-msw.c (can_scroll):
7220         * scrollbar-msw.h:
7221         Fix handling of mouse wheel under Windows to follow standards --
7222         now scrolls window under pointer, not selected window.
7223
7224 2001-03-31  Mike Sperber <mike@xemacs.org>
7225
7226         * search.c (Freplace_match): Support FSF-style specification of
7227         match subexpression when applied to a buffer.
7228
7229 2001-03-15  Martin Buchholz  <martin@xemacs.org>
7230
7231         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
7232         function to modify KEYMAP, so map over a copy of the hash table.
7233
7234 2001-03-21  Martin Buchholz <martin@xemacs.org>
7235
7236         * XEmacs 21.2.46 "Urania" is released.
7237
7238 2001-03-20  Dan Holmsand  <dan@eyebee.com>
7239
7240         * realpath.c (xrealpath): Make file-truename work with symlinks to
7241         /cygdrive paths on cygwin. Always lowercase drive-letters on
7242         native windows.
7243         (cygwin_readlink): Don't try to find canonical filename unless
7244         file exists.
7245
7246 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
7247
7248         * ChangeLog: Log GTK merge.
7249
7250         * dumper.c:
7251         * select-x.c:
7252         * specifier.c:
7253         * symeval.h:
7254         Revert gratuitous whitespace changes from GTK merge.
7255
7256         * emacs.c: Document end of complex #ifdef @ l. 1495.
7257
7258
7259 2001-03-12  Andy Piper  <andy@xemacs.org>
7260
7261         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7262         have to do likewise.
7263
7264 2001-03-12  Andy Piper  <andy@xemacs.org>
7265
7266         * sysdep.c: we only support mingw now.
7267
7268 2001-03-09  Andy Piper  <andy@xemacs.org>
7269
7270         * unexcw.c (copy_executable_and_dump_data_section): making approx
7271         overrun a warning only.
7272
7273 2001-03-10  William M. Perry  <wmperry@aventail.com>
7274
7275         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7276         satisfy Stephen's identical-after-cpp plea.
7277
7278 2001-03-02  Ben Wing  <ben@xemacs.org>
7279
7280         * cmds.c:
7281         * cmds.c (Fforward_char):
7282         * syntax.c:
7283         * window.c:
7284
7285         Augment documentation of the most common motion commands to make
7286         note of the shifted-motion support.
7287         
7288 2001-03-02  Ben Wing  <ben@xemacs.org>
7289
7290         * nt.c (mswindows_fstat):
7291         * nt.c (mswindows_stat):
7292         * search.c (boyer_moore):
7293         Fix compile warnings under Windows.
7294         
7295         * sysdep.c (sys_readdir):
7296         Fix buggy filename-conversion code under Mule.
7297
7298 2001-03-09  William M. Perry  <wmperry@aventail.com>
7299
7300         * Makefile.in.in:
7301         * config.h.in:
7302         * console.c:
7303         * console.h:
7304         * device.c:
7305         * device.h:
7306         * dragdrop.c:
7307         * emacs.c:
7308         * event-stream.c:
7309         * events.c:
7310         * events.h:
7311         * faces.c:
7312         * frame.h:
7313         * general-slots.h:
7314         * glyphs.c:
7315         * gutter.c:
7316         * inline.c:
7317         * lisp.h:
7318         * lrecord.h:
7319         * make-src-depend:
7320         * redisplay-output.c:
7321         * redisplay.c:
7322         * symsinit.h:
7323         * sysfile.h:
7324         * toolbar.c:
7325         * window.c:
7326         The Great GTK Merge.
7327
7328         * ChangeLog.GTK:
7329         * console-gtk.c:
7330         * console-gtk.h:
7331         * device-gtk.c:
7332         * emacs-marshals.c:
7333         * emacs-widget-accessors.c:
7334         * event-gtk.c:
7335         * frame-gtk.c:
7336         * gccache-gtk.c:
7337         * gccache-gtk.h:
7338         * glade.c:
7339         * glyphs-gtk.c:
7340         * glyphs-gtk.h:
7341         * gtk-glue.c:
7342         * gtk-xemacs.c:
7343         * gtk-xemacs.h:
7344         * gui-gtk.c:
7345         * gui-gtk.h:
7346         * menubar-gtk.c:
7347         * native-gtk-toolbar.c:
7348         * objects-gtk.c:
7349         * objects-gtk.h:
7350         * redisplay-gtk.c:
7351         * scrollbar-gtk.c:
7352         * scrollbar-gtk.h:
7353         * select-gtk.c:
7354         * toolbar-gtk.c:
7355         * ui-byhand.c:
7356         * ui-gtk.c:
7357         * ui-gtk.h:
7358         The Great GTK Merge: new files.
7359
7360 2001-02-26  Ben Wing  <ben@xemacs.org>
7361
7362         Reapplied Lstream change.
7363
7364 2001-02-26  Ben Wing  <ben@xemacs.org>
7365
7366         Undid the last change, since it is more controversial than I
7367         thought.  It should be back in at some point soon.
7368         
7369 2001-02-25  Ben Wing  <ben@xemacs.org>
7370
7371         * buffer.c:
7372         * callproc.c (Fold_call_process_internal):
7373         * event-msw.c (ntpipe_slurp_reader):
7374         * event-msw.c (ntpipe_shove_writer):
7375         * event-msw.c (winsock_reader):
7376         * event-msw.c (winsock_writer):
7377         * file-coding.c:
7378         * file-coding.c (detect_eol_type):
7379         * file-coding.c (detect_coding_type):
7380         * file-coding.c (determine_real_coding_system):
7381         * file-coding.c (Fdetect_coding_region):
7382         * file-coding.c (decoding_reader):
7383         * file-coding.c (decoding_writer):
7384         * file-coding.c (mule_decode):
7385         * file-coding.c (Fdecode_coding_region):
7386         * file-coding.c (encoding_reader):
7387         * file-coding.c (encoding_writer):
7388         * file-coding.c (mule_encode):
7389         * file-coding.c (Fencode_coding_region):
7390         * file-coding.c (detect_coding_sjis):
7391         * file-coding.c (decode_coding_sjis):
7392         * file-coding.c (encode_coding_sjis):
7393         * file-coding.c (detect_coding_big5):
7394         * file-coding.c (decode_coding_big5):
7395         * file-coding.c (encode_coding_big5):
7396         * file-coding.c (detect_coding_ucs4):
7397         * file-coding.c (decode_coding_ucs4):
7398         * file-coding.c (encode_coding_ucs4):
7399         * file-coding.c (detect_coding_utf8):
7400         * file-coding.c (decode_coding_utf8):
7401         * file-coding.c (encode_coding_utf8):
7402         * file-coding.c (detect_coding_iso2022):
7403         * file-coding.c (decode_coding_iso2022):
7404         * file-coding.c (encode_coding_iso2022):
7405         * file-coding.c (decode_coding_no_conversion):
7406         * file-coding.c (encode_coding_no_conversion):
7407         * glyphs-x.c (write_lisp_string_to_temp_file):
7408         * gpmevent.c (tty_get_foreign_selection):
7409         * lisp.h:
7410         * lstream.c:
7411         * lstream.c (Lstream_flush_out):
7412         * lstream.c (Lstream_adding):
7413         * lstream.c (Lstream_write_1):
7414         * lstream.c (Lstream_write):
7415         * lstream.c (Lstream_raw_read):
7416         * lstream.c (Lstream_read_more):
7417         * lstream.c (Lstream_read):
7418         * lstream.c (Lstream_unread):
7419         * lstream.c (Lstream_fputc):
7420         * lstream.c (stdio_reader):
7421         * lstream.c (stdio_writer):
7422         * lstream.c (filedesc_reader):
7423         * lstream.c (filedesc_writer):
7424         * lstream.c (lisp_string_reader):
7425         * lstream.c (struct fixed_buffer_stream):
7426         * lstream.c (make_fixed_buffer_input_stream):
7427         * lstream.c (make_fixed_buffer_output_stream):
7428         * lstream.c (fixed_buffer_reader):
7429         * lstream.c (fixed_buffer_writer):
7430         * lstream.c (struct resizing_buffer_stream):
7431         * lstream.c (resizing_buffer_writer):
7432         * lstream.c (dynarr_writer):
7433         * lstream.c (lisp_buffer_reader):
7434         * lstream.c (lisp_buffer_writer):
7435         * lstream.h:
7436         * lstream.h (lstream_implementation):
7437         * lstream.h (struct lstream):
7438         * md5.c (Fmd5):
7439         * process-nt.c (nt_send_process):
7440         * process-unix.c (unix_send_process):
7441         
7442         Correct Lstream lossage due to mixing of signed and unsigned
7443         quantities.  All Lstream uses of size_t and ssize_t are now a
7444         single signed data type Lstream_data_count.  This fixes problems
7445         under Windows with sending large quantities of data to a process,
7446         and may well fix other subtle bugs.
7447
7448 2001-02-23  Martin Buchholz <martin@xemacs.org>
7449
7450         * XEmacs 21.2.45 "Thelxepeia" is released.
7451
7452 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7453
7454         * lisp-union.h (XSETINT): 
7455         (XSETCHAR):
7456         (XSETOBJ): 
7457         Reverse previous change of 2001-02-06.
7458
7459 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7460
7461         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7462         buffers.
7463         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7464         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7465         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7466         * regex.c (POS_AS_IN_BUFFER): removed
7467         * regex.c (re_search_2):
7468         * regex.c (re_match_2):
7469         Don't use an offset of 1 when calculating buffer positions, since
7470         `BI_BUF_BEGV' does it already.
7471
7472 2001-02-18  Wim Dumon  <wim@easics.be>
7473
7474         * insdel.c (prepare_to_modify_buffer): Also check for
7475         supersession when clash-detection is enabled. 
7476
7477 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7478
7479         * regex.c (re_match_2_internal):
7480         Convert temp characters from 'const unsigned char' to 're_char'.
7481         Fix crashing bug with extended characters under mule.
7482         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7483         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7484         font-lock, pdump, and new syntax-table code.
7485         * syntax.c (find_start_of_comment):
7486         (find_end_of_comment):
7487         (forward-comment):
7488         Fix crashing bugs involving moving beyond end of buffer.
7489         * syntax.c (find_start_of_comment):
7490         Fixed logic to allow proper detection of cases where the same
7491         character is used to end both a two-char comment start and a
7492         two-char comment end sequence. Fixes `(forward-comment -1)'.
7493         * syntax.c (find_start_of_comment):
7494         Return position just past last comment-end character for all cases
7495         (previously was only done for two-char comment-end sequences).
7496         * syntax.c (forward-comment):
7497         Take value returned from `find_end_of_comment', rather than
7498         incrementing it.
7499         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7500         Properly deal with BUFFERP (syntax_cache.object)
7501
7502 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7503
7504         * alloc.c (Fgarbage_collect): 
7505         * alloc.c (make_bit_vector_from_byte_vector):
7506         -Wsign-compare-correctness.
7507
7508 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7509
7510         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7511         (XSETCHAR): Likewise.
7512         (XSETOBJ): Likewise.
7513
7514 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7515
7516         * mule-canna.c (canna-func-delete_previous): 
7517         Rename to canna-func-delete-previous.
7518
7519 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7520
7521         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7522
7523 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7524
7525         * font-lock.c (find_context): Fix C++ compile errors introduced by
7526         recent patch
7527
7528 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7529
7530         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7531         pragma, but earlier ones barf on the same pragma.
7532
7533 2001-02-06  Mike Sperber <mike@xemacs.org>
7534
7535         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7536         `configure-mule-lisp-directory'.
7537
7538 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7539
7540         Make sure dump-id.c is compiled in the same way as other .c's.
7541         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7542         * dump-id.h: Remove.
7543         * emacs.c: Move dump-id.h into dumper.h.
7544         * dumper.h: Move dump-id.h into dumper.h.
7545         * Makefile.in.in:
7546         Use standard .c.o rule for building dump-id.o.
7547         Remove preprocessor flags from link command.
7548         Add dump-id.o to ${otherobjs} if PDUMP.
7549
7550 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7551
7552         Port FSF 20.7 syntax table improvements.
7553         * syntax.c.
7554         * syntax.h.
7555
7556         Fixups for new syntax table stuff.
7557         * dired.c: Include syntax.c.
7558         (Fdirectory_files): Initialize regex_match_object and
7559         regex_emacs_buffer.
7560         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7561         and Fget_char_property.
7562
7563         Use ported FSF 20.7 syntax table improvements.
7564         * font-lock.c.
7565         * regex.c.
7566         * search.c.
7567         
7568 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7569
7570         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7571         Unixware's enum boolean from sys/types.h.
7572
7573 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7574
7575         Fix support for building with latest Purify.
7576         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7577         (PURIFY_FLAGS): Likewise.
7578
7579 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7580
7581         * fileio.c (lisp_string_set_file_times): New.
7582         * fileio.c (Fcopy_file): Use it.
7583         Fixes bug:
7584         (copy-file filename non-ascii-filename t t)
7585         ==> No such file or directory, non-ascii-filename
7586
7587 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7588
7589         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7590         USHRT_MAX seems clearer than ~0 anyways.
7591
7592 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7593
7594         dumper improvements.  Inspired by Olivier.
7595         * dumper.c (pdump_max_align): New.
7596         * dumper.c (pdump_add_entry): Use pdump_max_align.
7597         * dumper.c (pdump_get_entry_list): Likewise.
7598         * dumper.c (pdump_scan_by_alignment): Likewise.
7599         Don't iterate through unnecessary alignments.
7600         * dumper.c (pdump_file_get): No need to align result of malloc().
7601         * dumper.c (pdump_mallocadr): Remove.  
7602         The result of malloc() is guaranteed to be maximally aligned.
7603         * dumper.c: s/elmt/elt/g;
7604         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7605         * dumper.c (pdump_alert_undump_object): Likewise.
7606         * dumper.c (pdump_align_table): 
7607         Don't support alignments > 64.
7608         Store ALIGNOF's, not shift counts, in table.
7609
7610 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7611
7612         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7613         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7614         * systime.h: Use HAVE_UTIME.
7615         * sysdep.c (struct utimbuf): Remove.
7616         * sysdep.c (set_file_times): Prefer utime() to utimes().
7617         * config.h.in (HAVE_UTIME): New.
7618         * config.h.in (HAVE_UTIME_H): Remove.
7619         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7620
7621 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7622
7623         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7624
7625 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7626
7627         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7628
7629 2001-02-08  Martin Buchholz <martin@xemacs.org>
7630
7631         * XEmacs 21.2.44 "Thalia" is released.
7632
7633 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7634
7635         Fixes crashes in kill-emacs on some systems.
7636         * process-unix.c (unix_kill_child_process):
7637         It's OK for kill() to fail with ESRCH.
7638
7639 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7640
7641         Contortions to make .gdbinit tricks work on most systems.
7642         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7643         * alloc.c (dbg_valmask): Make non-const.
7644         * alloc.c (dbg_typemask): Make non-const.
7645         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7646         * alloc.c (dbg_valbits): Make non-const.
7647         * alloc.c (dbg_gctypebits): Make non-const.
7648         * .gdbinit (decode_object): Make it work with AIX cc.
7649
7650 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7651
7652         * elhash.c (make_general_lisp_hash_table):
7653         Use simpler and more efficient calloc to clear entries.
7654
7655 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7656
7657         * window.c (window_scroll): Work around an AIX C compiler bug.
7658         Fixes 'scroll-up' does nothing problem with xlC.
7659
7660 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7661
7662         * .gdbinit: Remove obsolete comment.
7663
7664 2001-01-31  Mike Alexander  <mta@arbortext.com>
7665
7666         * select.c (Fown_selection_internal): Set owned_p for device
7667         method correctly.
7668
7669 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7670
7671         Port to g++ 2.97.
7672         "not" cannot be used as a macro name as it is an operator in C++
7673         * config.h.in: Stop #defining `not'.
7674         * chartab.c (check_category_char): not ==> not_p
7675         * chartab.h: Likewise.
7676         * regex.c (re_match_2_internal): Likewise.
7677
7678 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7679
7680         * lisp-disunion.h: Fix up comments.
7681
7682 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7683
7684         * keymap.c (define_key_check_and_coerce_keysym):
7685         (syms_of_keymap):
7686         Support mouse-6 and mouse-7 bindings in the obvious way.
7687
7688 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7689
7690         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7691
7692 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7693
7694         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7695         Previous patch missed DEFVAR_INT_MAGIC.
7696         Make sure future DEFVAR_foo use correct types.
7697         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7698         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7699         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7700         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7701         * (DEFVAR_INT): Likewise.
7702         * redisplay.c (vertical_clip): Should be of type Fixnum.
7703         * redisplay.c (horizontal_clip): Likewise.
7704         * lisp.h (dump_add_opaque_int): New.
7705         (dump_add_opaque_fixnum): New.
7706
7707 2001-01-29  Andy Piper  <andy@xemacs.org>
7708
7709         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7710         since they can be eval'ed
7711
7712 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7713
7714         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7715         Oops, XEmacs redefines `class'.  Use `typename' instead.
7716
7717 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7718
7719         * dumper.c: Fix C++ compile errors.
7720
7721 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7722
7723         * tparam.c: Use correct prototypes.
7724
7725 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7726
7727         * sysproc.h: #include util.h for NetBSD's openpty.
7728
7729 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7730
7731         More 64-bit correctness.
7732         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7733         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7734         Fix up comments.
7735         This finally finishes the 64-bit SGI port.
7736         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7737         * symbols.c: Fix up comments and type casts.
7738         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7739         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7740         * symeval.h (Fixnum): New type.
7741         * symeval.h (symbol_value_type): Fix up comment.
7742
7743         * commands.h:
7744         * nt.c:
7745         * emacs.c:
7746         * data.c:
7747         * redisplay.c:
7748         * abbrev.c:
7749         * dired-msw.c:
7750         * event-Xt.c:
7751         * eldap.c:
7752         * window.c:
7753         * sound.c:
7754         * event-stream.c:
7755         * eval.c:
7756         * buffer.c:
7757         * mule-canna.c: A million DEFVAR_INTs here...
7758         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7759         * extents.c:
7760         * cmdloop.c:
7761         * lisp.h:
7762         * select-x.c:
7763         * console-x.h:
7764         * event-msw.c:
7765         * mule-wnnfns.c:
7766         * hpplay.c:
7767         * ralloc.c:
7768         * alloc.c:
7769         * keymap.c:
7770         * profile.c:
7771         s/int/Fixnum/g in DEFVAR_INT declarations.
7772
7773 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7774
7775         Port pdump to SGI alignment-sensitive environment.
7776         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7777         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7778         properly aligned.
7779         Define and use aligned reading and writing macros.
7780         Use buffered stdio instead of posix i/o for faster dumping.
7781         Eliminate kludgy 256 byte space for header.
7782         Read and write from dump file using structs for alignment safety.
7783         * dumper.c (pdump_align_stream): New.
7784         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7785         * dumper.c (PDUMP_READ_ALIGNED): New.
7786         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7787         * dumper.c (pdump_static_Lisp_Object): New struct.
7788         * dumper.c (pdump_static_pointer): New struct.
7789         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7790         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7791         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7792         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7793
7794         * dumper.c (pdump_backtrace):
7795         * dumper.c (pdump_get_indirect_count):
7796         * dumper.c (pdump_register_object):
7797         * dumper.c (pdump_register_struct):
7798         * dumper.c (pdump_reloc_one):
7799         * dumper.c (pdump_scan_by_alignment):
7800         * dumper.c (pdump_dump_from_root_struct_ptrs):
7801         * dumper.c (pdump_dump_opaques):
7802         * dumper.c (pdump_dump_rtables):
7803         * dumper.c (pdump_dump_from_root_objects):
7804         * dumper.c (pdump):
7805         * dumper.c (pdump_load_finish):
7806         Use aligned reading and writing.
7807
7808         * dumper.c (pdump_free): Make static.
7809         * dumper.c (pdump_hFile): Likewise.
7810         * dumper.c (pdump_hMap): Likewise.
7811
7812 2001-01-26  Martin Buchholz <martin@xemacs.org>
7813
7814         * XEmacs 21.2.43 "Terspichore" is released.
7815
7816 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7817
7818         Type fiddling for window_config.saved_windows_count
7819         * window.c (struct window_config): 
7820         Make saved_windows_count member unsigned.
7821         * window.c (sizeof_window_config_for_n_windows): 
7822         Make parameter unsigned.
7823         * window.c (mark_window_config):
7824         * window.c (window_config_equal):
7825         * window.c (free_window_configuration):
7826         * window.c (Fset_window_configuration):
7827         * window.c (count_windows):
7828         * window.c (Fcurrent_window_configuration):
7829         * window.c (reinit_vars_of_window):
7830         Update all callers and users.
7831
7832 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7833
7834         Alignment correctness for flexible arrays.
7835         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7836         Make alignment-correct. Add interesting comments.
7837         * alloc.c (size_vector):
7838         * alloc.c (make_vector_internal):
7839         * alloc.c (make_bit_vector_internal):
7840         * alloc.c (sweep_bit_vectors_1):
7841         * fns.c (size_bit_vector):
7842         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7843         * window.c (sizeof_window_config_for_n_windows): 
7844         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7845
7846 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7847
7848         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7849
7850 2001-01-23  Andy Piper  <andy@xemacs.org>
7851
7852         * select.c (Fown_selection_internal): pass owned_p
7853
7854         * select-msw.c (mswindows_own_selection): New Signature.
7855
7856         * console.h (struct console_methods): add owned_p to
7857         _own_selection.
7858
7859         * select-x.c (x_own_selection): pass owned_p
7860         (hack_motif_clipboard_selection): use owned_p
7861         (vars_of_select_x): new variable -
7862         x_selection_strict_motif_ownership.
7863
7864 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7865
7866         * specifier.h (specifier_data_offset): Remove pointless parens.
7867         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7868
7869 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7870
7871         Make Lisp_Object sizeof methods be alignment-correct.
7872         pdump must restore objects to the same alignment as the C compiler
7873         assumes.  It really matters on SGIs.
7874         * lstream.c (aligned_sizeof_lstream): New.
7875         (sizeof_lstream): Use aligned_sizeof_lstream.
7876         (Lstream_new): Likewise.
7877         * opaque.c (aligned_sizeof_opaque): New.
7878         (sizeof_opaque): Use aligned_sizeof_opaque.
7879         (make_opaque): Likewise.
7880         * specifier.c (aligned_sizeof_specifier): New.
7881         (sizeof_specifier): Use aligned_sizeof_specifier.
7882         (make_specifier_internal): Likewise.
7883
7884 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7885
7886         * lstream.h (struct lstream): Use max_align_t for trailing data.
7887         * specifier.h (struct Lisp_Specifier): Likewise.
7888
7889 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7890
7891         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7892         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7893         (CCL_SUSPEND): Likewise.
7894         (CCL_INVALID_CMD): Likewise.
7895         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7896         (ccl_driver): Likewise.
7897         (CCL_WRITE_CHAR): Macro hygiene.
7898         (CCL_WRITE_STRING): Macro hygiene.
7899
7900 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7901
7902         Port "portable" dumper to SunOS 4 and HP-UX.
7903         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7904         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7905         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7906
7907 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7908
7909         * lisp.h (ALIGNOF): A better definition for C++.
7910
7911 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7912
7913         Macro hygiene.
7914         Fix printf warnings: int format, long int arg.
7915         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7916         (PUSH_FAILURE_POINT): Use correct printf formats.
7917         (POP_FAILURE_POINT): Use correct printf formats.  
7918         Use do {...} while (0)
7919
7920 2001-01-20  Martin Buchholz <martin@xemacs.org>
7921
7922         * XEmacs 21.2.42 "Poseidon" is released.
7923
7924 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7925
7926         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7927
7928 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7929
7930         De-kludgify FIXED_TYPE free list frobbing.
7931         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7932         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7933         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7934         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7935         * alloc.c (LRECORD_FREE_P): New.
7936         * alloc.c (MARK_LRECORD_AS_FREE): New.
7937         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7938         * alloc.c (STRUCT_FREE_P): Deleted.
7939         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7940         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7941         * alloc.c (STRING_CHARS_FREE_P): New.
7942         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7943         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7944         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7945         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7946         * alloc.c (resize_string): Use new definitions.
7947         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7948         * alloc.c (verify_string_chars_integrity): Use new definitions.
7949         * alloc.c (compact_string_chars): Use new definitions.
7950         * alloc.c: Update monster comments.
7951         * lrecord.h (lrecord_type): Add some new lrecord types for
7952         alloc.c's use.
7953
7954 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7955
7956         Improve alignment hackery.
7957         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7958         (max_align_t): Moved from opaque.h - general purpose.
7959         (ALIGN_PTR): Use size_t, not long.
7960         * opaque.h (max_align_t): Move to lisp.h.
7961
7962 2001-01-18  Norbert Koch  <nk@LF.net>
7963
7964         * gui.h: Fix and add prototypes to fix build problems.
7965
7966 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7967
7968         temacs is going away, so `dump-temacs' is now a bad name.
7969         * .dbxrc (dump-temacs): Rename to `dmp'.
7970         * .gdbinit (dump-temacs): Rename to `dmp'.
7971
7972 2001-01-17  Andy Piper  <andy@xemacs.org>
7973
7974         * glyphs.c (print_image_instance): comment to make martin happy.
7975
7976         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7977         change.
7978
7979         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7980         activation.
7981         (mswindows_tab_control_redisplay): warning suppression.
7982
7983         * glyphs-widget.c (widget_update): re-write to cope with updated
7984         items.
7985         (widget_instantiate): use new gui_item functions.
7986         (tab_control_update): deleted.
7987         (progress_gauge_update): deleted.
7988         (image_instantiator_progress_guage): take out update reference.
7989         (image_instantiator_tree_view): ditto.
7990         (image_instantiator_tab_control): ditto.
7991
7992         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7993         Right the new way.
7994         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7995         return whether anything was changed.
7996         (update_gui_item_keywords): as it sounds.
7997
7998         * gui.h: declare widget_gui_parse_item_keywords.
7999
8000         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
8001         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
8002
8003 2001-01-17  Martin Buchholz <martin@xemacs.org>
8004
8005         * XEmacs 21.2.41 "Polyhymnia" is released.
8006
8007 2001-01-16  Didier Verna  <didier@xemacs.org>
8008
8009         * glyphs.c (image_instantiate): don't use fallbacks when
8010         instantiating a face's background pixmap by inheritance.
8011
8012 2001-01-14  Mike Sperber <mike@xemacs.org>
8013
8014         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
8015         Conditionalize accordingly.
8016
8017 2001-01-16  Martin Buchholz  <martin@xemacs.org>
8018
8019         * dumper.c (pdump_file_get): Fix a compiler warning.
8020
8021 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8022
8023         Make Purify happy when pdumping.
8024         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
8025         iniitalizing all bits of new lisp object memory.
8026         * symbols.c (Fmake_local_variable): Likewise.
8027         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
8028         * symbols.c (Fdefvaralias): Likewise.
8029         * mule-charset.c (vars_of_mule_charset): Likewise.
8030
8031 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8032         Add the `-nd' flag when running pre-dump operations under the debugger.
8033         * .dbxrc (run-temacs): Add `-nd'.
8034         * .dbxrc (update-elc): Likewise.
8035         * .dbxrc (dump-temacs): Likewise.
8036         * .gdbinit (run-temacs): Likewise.
8037         * .gdbinit (check-temacs): Likewise.
8038         * .gdbinit (update-elc): Likewise.
8039         * .gdbinit (dump-temacs): Likewise.
8040
8041 2001-01-14  Martin Buchholz  <martin@xemacs.org>
8042
8043         Allow building 64-bit executables on AIX with GNU malloc, e.g.
8044         export OBJECT_MODE=64
8045         configure --pdump --use-union-type=no
8046         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
8047         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
8048
8049         * miscplay.c (sndcnv8U_2mono):
8050         Avoid two uses of `++' in the same expression.
8051         Suppresses a GCC warning.
8052
8053 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8054
8055         Make sure future compilers don't miscompile alloc.c.
8056         * alloc.c:
8057         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
8058         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
8059
8060 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8061
8062         * dumper.c: A little post-pdump-rename comment fixup.
8063
8064 2001-01-09  Jerry James  <james@eecs.ku.edu>
8065
8066         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
8067
8068 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8069
8070         * *.[ch]: Globally rename symbols using the following `pdump-rename'
8071         script:
8072         #!/bin/sh
8073         replace_symbol () {
8074           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
8075         }
8076
8077         replace_symbol pdump_wire_lists pdump_weak_object_chains
8078         replace_symbol pdump_wire_list dump_add_weak_object_chain
8079
8080         replace_symbol pdump_wires pdump_root_objects
8081         replace_symbol pdump_wire dump_add_root_object
8082
8083         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
8084         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
8085
8086         replace_symbol dumpstructinfos pdump_root_struct_ptrs
8087         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
8088         replace_symbol dumpstructinfo pdump_root_struct_ptr
8089         replace_symbol dumpstruct dump_add_root_struct_ptr
8090
8091         replace_symbol dumpopaque dump_add_opaque
8092         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
8093         replace_symbol dumpopaqueinfos pdump_opaques
8094         replace_symbol dumpopaqueinfo pdump_opaque
8095
8096         replace_symbol nb_structdump nb_root_struct_ptrs
8097         replace_symbol nb_opaquedump nb_opaques
8098
8099         replace_symbol align_table pdump_align_table
8100         replace_symbol dump_header pdump_header
8101
8102         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
8103         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
8104
8105
8106 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8107
8108         * s/aix4.h: Keep the C for AIX compiler from overaggressively
8109         optimizing bytecount_to_charcount().
8110
8111 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8112
8113         * config.h.in:
8114         (HAVE_DLFCN_H): Removed.
8115         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
8116
8117 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8118
8119         Portable dumper maintainability improvements.
8120         * alloc.c (staticpro):
8121         * alloc.c (staticpro_nodump):
8122         * alloc.c (garbage_collect_1):
8123         * alloc.c (reinit_alloc_once_early):
8124         * alloc.c (init_alloc_once_early):
8125         * alloc.c: Move dumper functions to alloc.c.
8126         * dumper.c (pdump_backtrace):
8127         * dumper.c (pdump_dump_structs):
8128         * dumper.c (pdump_dump_opaques):
8129         * dumper.c (pdump_dump_rtables):
8130         * dumper.c (pdump_dump_wired):
8131         * dumper.c (pdump):
8132         * dumper.c (pdump_load_check):
8133         * dumper.c (pdump_load_finish):
8134         * dumper.c (pdump_file_unmap):
8135         * dumper.c (pdump_file_get):
8136         * dumper.c (pdump_resource_free):
8137         * dumper.c (pdump_resource_get):
8138         * dumper.c (pdump_file_free):
8139         * dumper.c (pdump_file_try):
8140         * dumper.c (pdump_load):
8141         Remove fixed size limits on staticpro(), staticpro_nodump(),
8142         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
8143         Remove custom code for dumping lrecord_implementations_table - use
8144         dumpopaque instead.
8145         Remove (most of the) custom code for dumping staticpros - dump it
8146         like any other dynarr.
8147
8148         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
8149         * dumper.c: Moved functions from alloc.c.
8150         * alloc.c (dumpstruct): Moved to dumper.c.
8151         * alloc.c (dumpopaque): Likewise.
8152         * alloc.c (pdump_wire): Likewise.
8153         * alloc.c (pdump_wire_list): Likewise.
8154
8155         * lisp.h (Dynarr_sizeof): New.
8156         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
8157         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
8158         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
8159
8160         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
8161         * lisp.h (dumpopaque): ditto.
8162         * lisp.h (pdump_wire): ditto.
8163         * lisp.h (pdump_wire_list): ditto.
8164
8165 2001-01-09  Martin Buchholz  <martin@xemacs.org>
8166
8167         * make-src-depend (PrintPatternDeps):
8168         Use `sort' to make output independent of perl version.
8169
8170 2001-01-08  Martin Buchholz  <martin@xemacs.org>
8171
8172         Port to Netbsd 1.5.
8173         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
8174         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
8175
8176 2001-01-03  Didier Verna  <didier@xemacs.org>
8177
8178         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
8179         that `focus_frame' is alive before thinking of calling
8180         `redisplay_redraw_cursor' on it.
8181
8182 2001-01-08  Martin Buchholz <martin@xemacs.org>
8183
8184         * XEmacs 21.2.40 is released.
8185
8186 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8187
8188         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
8189
8190 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8191
8192         * alloc.c (dbg_valmask): Make const.
8193         * alloc.c (dbg_typemask): Make const.
8194         * alloc.c (dbg_USE_UNION_TYPE): Make const.
8195         * alloc.c (dbg_valbits): Make const.
8196         * alloc.c (dbg_gctypebits): Make const.
8197
8198 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
8199
8200         * redisplay-x.c (x_bevel_area):
8201         redisplay.h (struct rune):
8202         Typo fixes in comments.
8203
8204 2001-01-05  Andy Piper  <andy@xemacs.org>
8205
8206         * glyphs-x.c (x_redisplay_widget): use size changed for offset
8207         adjustment.
8208
8209         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
8210
8211 2001-01-05  Martin Buchholz  <martin@xemacs.org>
8212
8213         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
8214
8215         * mule-ccl.c (stack_idx_of_map_multiple):
8216         Non const global data must not be initialized!
8217         Found by MIYASHITA Hisashi.
8218
8219 2001-01-02  Andy Piper  <andy@xemacs.org>
8220
8221         * frame.c (change_frame_size): make sure frame size is always
8222         marked as changed.
8223
8224         * glyphs.c (image_instance_layout): minor code reuse.
8225
8226         * window.c (Fcurrent_window_configuration): revert previous
8227         change.
8228
8229 2001-01-02  Martin Buchholz  <martin@xemacs.org>
8230
8231         * glyphs.h:
8232         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
8233
8234 2000-12-31  Andy Piper  <andy@xemacs.org>
8235
8236         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
8237         when widget gets unmapped.
8238
8239         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
8240         function. Make sure widgets losing focus don't just drop it.
8241         (handle_focus_event_1): record the widget with focus.
8242
8243 2000-12-31  Andy Piper  <andy@xemacs.org>
8244
8245         * window.c (allocate_window): use
8246         make_image_instance_cache_hash_table.
8247         (make_dummy_parent): ditto.
8248         (Fset_window_configuration): ditto.
8249
8250         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
8251
8252         * glyphs.c (process_image_string_instantiator): use
8253         INSTANTIATOR_TYPE.
8254         (get_image_instantiator_governing_domain): ditto.
8255         (normalize_image_instantiator): ditto.
8256         (instantiate_image_instantiator): ditto.
8257         (make_image_instance_1): ditto.
8258         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8259         (instantiator_eq_equal): new function for use with instance hash
8260         tables.
8261         (instantiator_eq_hash): ditto.
8262         (make_image_instance_cache_hash_table): create a suitable hash
8263         table for storing image instances.
8264
8265         * elhash.h (hash_table_weakness): new internal weakness type
8266         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8267         declare new functions.
8268
8269         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8270         another weakness type for glyphs.
8271         (make_standard_lisp_hash_table): new function split out from
8272         make_general_lisp_hash_table.
8273         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8274         (hash_table_instantiate): ditto.
8275         (Fmake_hash_table): ditto.
8276
8277 2000-12-31  Martin Buchholz <martin@xemacs.org>
8278
8279         * XEmacs 21.2.39 is released.
8280
8281 2000-12-29  Andy Piper  <andy@xemacs.org>
8282
8283         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8284
8285         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8286         the frame has changed so that we pick up geometry changes such as
8287         menubar visibility.
8288
8289 2000-12-28  Andy Piper  <andy@xemacs.org>
8290
8291         * lastfile.c (my_ebss): make a char array so we can pad the
8292         bss. Fixes cygwin unexec.
8293
8294         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8295
8296 2000-12-26  Andy Piper  <andy@xemacs.org>
8297
8298         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8299         comments and try and be more precise about a non-/SIGIO world.
8300         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8301         SIGIO.
8302
8303         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8304         we don't normalize to zero width or height.
8305
8306 2000-12-24  Andy Piper  <andy@xemacs.org>
8307
8308         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8309
8310 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8311
8312         * s/sco5.h: SCO 5 has pty support.
8313
8314 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8315
8316         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8317         input-method-xlib.c contains whole contents of input-method-xfs.c,
8318         so we can use input-method-xlib.c's code for USE_XFONTSET
8319         using #ifdefs.
8320         * input-method-xfs.c: removed.
8321
8322 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8323
8324         * file-coding.h (enum coding_category_type): reorder enumerators to
8325         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8326         (now one greater than largest real coding_category_type enumerator).
8327         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8328         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8329         Fcoding_category_list, Fset_coding_priority_list,
8330         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8331         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8332
8333 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8334
8335         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8336         * redisplay-output.c (redisplay_output_window): Clear top of window
8337         when face is changed.
8338         * redisplay-x.c (x_redraw_exposed_window): Call
8339         redisplay_clear_top_of_window.
8340         * redisplay.h: Publish redisplay_clear_top_of_window.
8341
8342 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8343
8344         * buffer.c (Fkill_buffer): Map over all devices.
8345         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8346         (list_windows): New function.
8347         (list_all_windows): Ditto.
8348         (Freplace_buffer_in_windows): Use them.
8349
8350 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8351
8352         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8353         (Fopen_database): Use `db_create' instead of `db_open'.
8354         (syms_of_database): Initialize Qqueue.
8355
8356 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8357
8358         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8359         buffer_local_face_property.
8360         * buffer.h (struct buffer): New member buffer_local_face_property.
8361         * window.c (Fset_window_buffer):  Mark window's face as changed
8362         when buffer has buffer local face.
8363         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8364         * objects.c (color_after_change): Set buffer_local_face_property
8365         when locale of face specifier is buffer.
8366         * objects.c (font_after_change): Ditto.
8367         * objects.c (face_boolean_after_change): Ditto.
8368         * glyphs.c (image_after_change): Ditto.
8369
8370 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8371
8372         * nt.c (mswindows_fstat): Report file permissions, volume serial
8373         number, etc. Code adapted from FSF Emacs 20.7.
8374
8375 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8376
8377         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8378         of stat when we don't have symbolic links, to make sure
8379         mswindows_stat is called on mswindows.
8380
8381 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8382
8383         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8384
8385 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8386
8387         * doprnt.c (emacs_doprnt_1): More printing fixes.
8388         Make printing of numbers compatible with libc and FSF Emacs.
8389         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8390         Use the system printf to do most of the hard work of formatting,
8391         instead of doprnt_1().
8392         Calculate memory to allocate for format string.
8393         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8394         (doprnt_1): Cleaner code and documentation.
8395
8396 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8397
8398         * Makefile.in.in: Use the loop variable to install headers.
8399
8400 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8401
8402         * window.c (Fsplit_window): Don't invalidate face cache.
8403
8404 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8405
8406         * minibuf.c (Fall_completions): Undo the previous change
8407         which removed checking elements start with space.
8408
8409 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8410
8411         * mule-canna.c: Didier suppression.
8412
8413 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8414
8415         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8416         (warning suppression).  Add English comment translations.
8417
8418 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8419
8420         * unexelfsgi.c (unexec): Better test for mmap failure.
8421
8422 2000-12-05  Martin Buchholz <martin@xemacs.org>
8423
8424         * XEmacs 21.2.38 is released.
8425
8426 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8427
8428         * redisplay.c (bar-cursor): Make a user variable.
8429
8430         * symsinit.h: Add init_postgresql_from_environment.
8431
8432 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8433
8434         * regex.c: Convert to clean C.
8435
8436 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8437
8438         * realpath.c:
8439         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8440         initialization.
8441         (sys_readlink): renamed to system_readlink to avoid conflict with
8442         the other sys_readlink.
8443
8444 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8445
8446         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8447
8448 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8449
8450         * postgresql.c (init_postgresql_from_environment): new function.
8451         (vars_of_postgresql): Move code initializing Lisp variables out and
8452         into init_postgresql_from_environment.
8453         emacs.c (main_1): Call init_postgresql_from_environment if and only
8454         if running a dumped XEmacs.
8455
8456 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8457
8458         * buffer.c: Make find-file-compare-truenames default to true on
8459         windows.
8460
8461         * realpath.c (win32_abs_start):
8462         (cygwin_readlink):
8463         (win32_readlink): New functions.
8464         (xrealpath): Return really real filenames on windows.
8465
8466         * fileio.c (Ffile_truename): Make file-truename work on windows.
8467
8468 2000-11-29  Didier Verna  <didier@xemacs.org>
8469
8470         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8471         * faces.c (update_face_cachel_data): use it.
8472         * faces.c (add_face_cachel): use it. Complete background pixmap
8473         frobbing in face cache if `update_face_cachel_data' has not done so.
8474
8475 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8476
8477         * search.c (string_match_1): Don't set last_thing_searched
8478         when search failed.
8479
8480 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8481
8482         * buffer.c: Include casetab.h
8483         (common_init_complex_vars_of_buffer): Use new case-table object.
8484         * buffer.h: Include casetab.h
8485         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8486         (DOWNCASE_TABLE_OF): Ditto.
8487         * bufslots.h: Remove char-tables and add case-table.
8488         * casetab.c: Include casetab.h
8489         (CASE_TABLE_P): Removed.
8490         (mark_case_table): New function.
8491         (allocate_case_table): New function.
8492         (Fcase_table_p): Use new case-table.
8493         (case_table_char): New function.
8494         (Fget_case_table): Ditto.
8495         (Fput_case_table): Ditto.
8496         (Fput_case_table_pair): Ditto.
8497         (Fcopy_case_table): Ditto.
8498         (Fcurrent_case_table): Return case-table.
8499         (Fstandard_case_table): Return case-table.
8500         (Fset_case_table): Fix doc-string.
8501         (set_case_table): Use case-table
8502         (syms_of_casetab): DEFSUBR new functions.
8503         (complex_vars_of_casetab): Set up standard case-table.
8504         * casetab.h: New file.
8505         * editfns.c: Include casetab.h
8506         (Fcompare_buffer_substrings): Use case-table.
8507         * inline.c: Include casetab.h
8508         * lisp.h: Remove bogus extern.
8509         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8510         * search.c: Include casetab.h
8511         (TRANSLATE_ASCII): Removed.
8512         (TRANSLATE): Unconditionally translate character.
8513         (looking_at_1): Use case-table.
8514         (string_match_1): Ditto.
8515         (fast_string_match): Ditto.
8516         (search_command): Ditto.
8517         (search_buffer): Separate boyer_moore.  Check whether
8518         boyer_moore is possible.
8519         (simple_search): New function.
8520         (boyer_moore): Separated from search_buffer. Translate char.
8521
8522 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8523
8524         * regex.c (RE_TR_ASCII): Removed.
8525         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8526         (PATFETCH): Call PATFETCH_RAW.
8527         (PATFETCH_RAW): Fetch Emchar.
8528         (PATUNFETCH): Decrement charptr.
8529         (GET_BUFFER_SPACE): Rename b to buf_end.
8530         (BUF_PUSH): Ditto.
8531         (BUF_PUSH_2): Ditto.
8532         (BUF_PUSH_3): Ditto.
8533         (EXTEND_BUFFER): Ditto.
8534         (SET_LIST_BIT): Ditto.
8535         (regex_compile): Ditto.  Translate non ASCII char.
8536         (compile_range): Ditto.
8537         (re_search_2): Ditto.
8538         (re_match_2_internal): Compare Emchar.
8539         (bcmp_translate): Ditto.
8540
8541 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8542
8543         * lisp.h (basic char/int typedefs):  comment improvement.
8544
8545 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8546
8547         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8548         unstomp inhibit_site_lisp.  Improve comments.
8549
8550 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8551
8552         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8553
8554 2000-11-28  Andy Piper  <andy@xemacs.org>
8555
8556         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8557         clipped display for windows in the gutter also.
8558         (redisplay_display_boxes_in_window_p): change semantics of return
8559         codes to be more intuitive.
8560
8561         * gutter.h: declare display_boxes_in_gutter_p.
8562
8563         * gutter.c (display_boxes_in_gutter_p): new function for
8564         redisplay.
8565
8566 2000-11-22  Andy Piper  <andy@xemacs.org>
8567
8568         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8569         autodetect domain.
8570
8571 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8572
8573         * callproc.c (Fold_call_process_internal):
8574         * gpm.c (Freceive_gpm_event):
8575         (tty_get_foreign_selection): Might be just warning supression.
8576         * fileio.c (Fwrite_region_internal):
8577         (Fset_visited_file_modtime):
8578         * keymap.c (event_matches_key_specifier_p):
8579         Initialize GCPROed variable.
8580
8581         * menubar-x.c (command_builder_find_menu_accelerator):
8582         Initialize before use.
8583
8584 2000-11-23  Andy Piper  <andy@xemacs.org>
8585
8586         * unexcw.c (unexec): make the resulting executable executable.
8587
8588 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8589
8590         * doc.c (get_doc_string):
8591         Use size_t, not int, for result of XSTRING_LENGTH.
8592
8593         * cmds.c (Fdelete_char):
8594         * cmds.c (Fpoint_at_eol):
8595         * cmds.c (Fself_insert_command):
8596         Use EMACS_INT, not int, for result of XINT.
8597         Someday, someone will want to insert more than 2**31 identical characters.
8598
8599         * cmds.c (Fdelete_char):
8600         * cmds.c (Fdelete_backward_char):
8601         * syntax.c (Fforward_word):
8602         * syntax.c (Fforward_comment):
8603         Make COUNT argument optional, for consistency with forward-char et al.
8604
8605 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8606
8607         * lisp.h:
8608         * print.c (long_to_string):
8609         Return a useful value: the pointer at end of data written.
8610
8611         * doprnt.c:
8612         Use `static const char * const' for constant strings.
8613         (union printf_arg): Delete `i', `ui' members.
8614         (get_doprnt_args):
8615         (emacs_doprnt_1):
8616         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8617         Do all printf-ing via the `l' specifier.
8618         Use EMACS_INT instead of int.
8619         Optimize.
8620
8621 2000-11-20  Didier Verna  <didier@xemacs.org>
8622
8623         * faces.c (update_face_cachel_data): don't frob the background
8624         pixmap when the window is being created. The face is needed but
8625         does not exist yet.
8626
8627 2000-11-20  Andy Piper  <andy@xemacs.org>
8628
8629         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8630         messing with a debug environment.
8631
8632 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8633
8634         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8635
8636 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8637
8638         * casetab.c (Fcase_table_p): Fix compile error and crash.
8639
8640 2000-11-18  Philip Aston  <philipa@mail.com>
8641
8642         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8643
8644 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8645
8646         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8647         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8648
8649 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8650
8651         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8652         * unexelf.c: Use HAVE_ELF_H.
8653         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8654         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8655         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8656         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8657         for testing.
8658         So this is an unexelfsgi.c from a different line of development.
8659
8660 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8661
8662         * regex.c (RE_TR_ASCII): New function.
8663         (RE_TRANSLATE): Call it.
8664
8665 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8666
8667         * buffer.h (TRT_TABLE_OF): Remove assert.
8668         (IN_TRT_TABLE_DOMAIN): Removed.
8669
8670 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8671
8672         * free-hook.c (log_gcpro):
8673         (show_gcprohist): Add support for GCPRO5.
8674
8675 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8676
8677         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8678
8679 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8680
8681         * symeval.h: Declare flush_all_buffer_local_cache.
8682
8683         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8684         (flush_buffer_local_cache): Added.
8685         (flush_all_buffer_local_cache): Added.
8686
8687         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8688
8689         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8690         (pdump_dump_data): Ditto.
8691         (pdump_reloc_one): Ditto.
8692         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8693         before dumping.
8694
8695
8696 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8697
8698         * buffer.c: Remove if 0'ed entry.
8699         * buffer.h: Rewrite TRT to use char-table.
8700         * bufslots.h: Remove mirror tables.
8701         * casetab.c: Remove mirror tables.
8702         (CASE_TABLE_P): New macro.
8703         (Fcase_table_p): Element of a case table is string or char-table.
8704         (make_mirror_trt_table): Removed.
8705         (set_case_table): Setup char-table from strings for backward
8706         compatibility.
8707         * dired.c (Fdirectory_files):
8708         * dired-msw.c: (mswindows_get_files):
8709         * lisp.h: Change prototype of re_pattern_buffer.
8710         * regex.c: (RE_TRANSLATE): New macro.
8711         (TRANSLATE_P): Ditto.
8712         Change translate to type RE_TRANSLATE_TYPE.
8713         * regex.h: Define RE_TRANSLATE_TYPE
8714         * search.c (TRANSLATE): New macro.
8715         (TRANSLATE_ASCII): New macro.
8716         Translate table is changed to Lisp_Object.
8717         (signal_failure): Inhibit return.
8718
8719 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8720
8721         * device-msw.c:
8722         * eldap.c:
8723         * event-Xt.c:
8724         * event-stream.c:
8725         * print.c:
8726         Do UNGCPRO before return.
8727
8728 2000-11-14  Martin Buchholz <martin@xemacs.org>
8729
8730         * XEmacs 21.2.37 is released.
8731
8732 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8733
8734         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8735         Add comments about discarded return value.
8736
8737 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8738
8739         * callint.c:
8740         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8741
8742 2000-10-27  Andy Piper  <andy@xemacs.org>
8743
8744         * gutter.c (Fset_default_gutter_position): default left and right
8745         gutters to visible.
8746         (calculate_gutter_size): calculate resonable heuristic for left
8747         and right gutter sizes.
8748         (specifier_vars_of_gutter): change left and right gutter sizes to
8749         autodetect.
8750         (calculate_gutter_size_from_display_lines): new function.
8751         (output_gutter): check for resizing on left and right gutters.
8752         (clear_gutter): don't special case top and left gutters.
8753         (specifier_vars_of_gutter): use new signature for
8754         set_specifier_caching.
8755
8756         * glyphs-x.c (x_redisplay_widget): spelling fix.
8757         * glyphs.c (specifier_vars_of_glyphs):
8758         * menubar.c (specifier_vars_of_menubar):
8759         * redisplay.c (specifier_vars_of_redisplay):
8760         * toolbar.c (specifier_vars_of_toolbar):
8761         * window.c (specifier_vars_of_window):
8762         * scrollbar.c (specifier_vars_of_scrollbar):
8763         (complex_vars_of_scrollbar): use new signature for
8764         set_specifier_caching.
8765
8766         * specifier.c (set_specifier_caching): include recompute flag.
8767         (recompute_one_cached_specifier_in_window): always recompute if
8768         flag set.
8769         (recompute_one_cached_specifier_in_frame): ditto.
8770
8771         * specifier.h (struct specifier_caching): add recompute flag.
8772
8773 2000-10-24  Andy Piper  <andy@xemacs.org>
8774
8775         * unexcw.c (copy_executable_and_dump_data_section): add new
8776         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8777         5.0 happy.
8778
8779 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8780
8781         * console-x.h (x_device): New member modifier_release_time.
8782         * event-Xt.c (x_handle_sticky_modifiers):
8783         Bound interval modifier keys are sticky.
8784         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8785         * events.h: extern it.
8786
8787 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8788
8789         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8790
8791 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8792
8793         * event-stream.c (execute_command_event): Preserve current_events
8794         and the like when event is misc-user-event.
8795         Inhibit quit during the call to maybe_echo_keys.
8796
8797 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8798
8799         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8800         symlink when buffer is killed.
8801         (inhibit_clash_detection): New variable.
8802
8803 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8804
8805         * console.c (Fset_input_method): Trigger redisplay on tty.
8806
8807 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8808
8809         * process.c (Fprocess_status): Revert to previous behavior:
8810         (process-status "nosuchprocess") ==> nil
8811
8812 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8813
8814         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8815         Work around another GCC 2.95.2 optimizer bug.
8816
8817 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8818
8819         * process.c (Fget_process): Use LIST_LOOP_2.
8820         (kill_buffer_processes): Use LIST_LOOP_2.
8821
8822         * minibuf.c (Fall_completions):
8823         Delete old non-functional code for FSF fourth argument.
8824
8825         * frame.c (frame_matches_frame_spec):
8826         Renamed from `frame_matches_frametype'.  Update all callers.
8827         (device_matches_device_spec):
8828         Renamed from 'device_matches_console_spec'.  Update all callers.
8829
8830         * doc.c (Fsubstitute_command_keys):
8831         Remove buffer overflow crash.  Small code cleanups.
8832
8833         * casetab.c (check_case_table): Simpler code.
8834
8835         * window.c (Freplace_buffer_in_windows):
8836         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8837         (and similar implementation) as Fdelete_windows_on.
8838         Update all callers.
8839
8840         * alloc.c (Fmake_list):
8841         * alloc.c (make_vector):
8842         * alloc.c (Fmake_vector):
8843         * alloc.c (make_bit_vector):
8844         * alloc.c (Fmake_bit_vector):
8845         * alloc.c (Fbit_vector):
8846         * alloc.c (Fmake_string):
8847         * alloc.c (Fpurecopy):
8848         * alloc.c (Fmemory_limit):
8849         * buffer.c:
8850         * buffer.c (Fget_buffer):
8851         * buffer.c (Fkill_buffer):
8852         * buffer.c (complex_vars_of_buffer):
8853         * bytecode.c (Fcompiled_function_stack_depth):
8854         * callint.c (Fprefix_numeric_value):
8855         * event-stream.c:
8856         * event-stream.c (Fread_key_sequence):
8857         * casetab.c:
8858         * casetab.c (Fcase_table_p):
8859         * casetab.c (check_case_table):
8860         * casetab.c (Fset_case_table):
8861         * casetab.c (Fset_standard_case_table):
8862         * chartab.c:
8863         * chartab.c (Fchar_table_type):
8864         * chartab.c (Freset_char_table):
8865         * chartab.c (Fget_char_table):
8866         * chartab.c (Fget_range_char_table):
8867         * chartab.c (Fput_char_table):
8868         * chartab.c (Fmap_char_table):
8869         * chartab.c (Fcategory_table_p):
8870         * chartab.c (Fcheck_category_at):
8871         * chartab.c (Fchar_in_category_p):
8872         * chartab.c (Fcategory_table):
8873         * chartab.c (Fcopy_category_table):
8874         * chartab.c (Fset_category_table):
8875         * chartab.c (Fcategory_designator_p):
8876         * chartab.c (Fcategory_table_value_p):
8877         * cmds.c (Fdelete_char):
8878         * cmds.c (Fdelete_backward_char):
8879         * cmds.c (Fself_insert_command):
8880         * cmds.c (Fself_insert_internal):
8881         * console.c (Fvalid_console_type_p):
8882         * console.c (Fcdfw_console):
8883         * console.c (Fconsole_type):
8884         * console.c (Fconsole_name):
8885         * console.c (Fconsole_device_list):
8886         * console.c (Fconsole_on_window_system_p):
8887         * data.c:
8888         * data.c (Feq):
8889         * data.c (Fold_eq):
8890         * data.c (Fsubr_interactive):
8891         * data.c (Fchar_to_int):
8892         * data.c (Fint_to_char):
8893         * data.c (Fsetcar):
8894         * data.c (Fsetcdr):
8895         * data.c (Fnumber_to_string):
8896         * data.c (Fstring_to_number):
8897         * data.c (Frem):
8898         * database.c (mark_database):
8899         * database.c (finalize_database):
8900         * database.c (Fdatabase_live_p):
8901         * database.c (Fdatabasep):
8902         * device-x.c (Fx_get_resource):
8903         * device.c (Fdfw_device):
8904         * dired.c:
8905         * dired.c (Ffile_name_completion):
8906         * dired.c (Ffile_name_all_completions):
8907         * dired.c (Fuser_name_completion):
8908         * dired.c (Fuser_name_completion_1):
8909         * dired.c (Fuser_name_all_completions):
8910         * doc.c (Fdocumentation):
8911         * doc.c (Fdocumentation_property):
8912         * doc.c (Fsubstitute_command_keys):
8913         * editfns.c:
8914         * editfns.c (Fchar_to_string):
8915         * editfns.c (Fstring_to_char):
8916         * editfns.c (Ftemp_directory):
8917         * editfns.c (Finsert_char):
8918         * editfns.c (Fbuffer_substring_no_properties):
8919         * editfns.c (Fnarrow_to_region):
8920         * editfns.c (Fchar_equal):
8921         * editfns.c (Fchar_Equal):
8922         * editfns.c (Ftranspose_regions):
8923         * emacs.c (Fdump_emacs):
8924         * eval.c (Fthrow):
8925         * eval.c (Fcommand_execute):
8926         * eval.c (Fautoload):
8927         * eval.c (Fbacktrace):
8928         * eval.c (Fbacktrace_frame):
8929         * events.c:
8930         * events.c (Fcopy_event):
8931         * events.c (Fcharacter_to_event):
8932         * events.c (Fevent_button):
8933         * events.c (Fevent_process):
8934         * extents.c:
8935         * extents.c (Fnext_extent_change):
8936         * extents.c (Fextent_property):
8937         * faces.c (Ffacep):
8938         * faces.c (Fmake_face):
8939         * file-coding.c:
8940         * file-coding.c (Fencode_shift_jis_char):
8941         * file-coding.c (Fencode_big5_char):
8942         * fileio.c (Ffile_name_directory):
8943         * fileio.c (Ffile_name_nondirectory):
8944         * fileio.c (Ffile_name_as_directory):
8945         * fileio.c (Fdirectory_file_name):
8946         * fileio.c (Ffile_truename):
8947         * fileio.c (Fsubstitute_in_file_name):
8948         * fileio.c (Ffile_modes):
8949         * fileio.c (Fset_file_modes):
8950         * fileio.c (Fset_default_file_modes):
8951         * fileio.c (Fverify_visited_file_modtime):
8952         * floatfns.c (Facos):
8953         * floatfns.c (Fasin):
8954         * floatfns.c (Fatan):
8955         * floatfns.c (Fcos):
8956         * floatfns.c (Fsin):
8957         * floatfns.c (Ftan):
8958         * floatfns.c (Fbessel_j0):
8959         * floatfns.c (Fbessel_j1):
8960         * floatfns.c (Fbessel_jn):
8961         * floatfns.c (Fbessel_y0):
8962         * floatfns.c (Fbessel_y1):
8963         * floatfns.c (Fbessel_yn):
8964         * floatfns.c (Ferf):
8965         * floatfns.c (Ferfc):
8966         * floatfns.c (Flog_gamma):
8967         * floatfns.c (Fexp):
8968         * floatfns.c (Fexpt):
8969         * floatfns.c (Flog):
8970         * floatfns.c (Flog10):
8971         * floatfns.c (Fsqrt):
8972         * floatfns.c (Fcube_root):
8973         * floatfns.c (Facosh):
8974         * floatfns.c (Fasinh):
8975         * floatfns.c (Fatanh):
8976         * floatfns.c (Fcosh):
8977         * floatfns.c (Fsinh):
8978         * floatfns.c (Ftanh):
8979         * floatfns.c (Fabs):
8980         * floatfns.c (Ffloat):
8981         * floatfns.c (Flogb):
8982         * floatfns.c (Fceiling):
8983         * floatfns.c (Ffloor):
8984         * floatfns.c (Fround):
8985         * floatfns.c (Ftruncate):
8986         * floatfns.c (Ffceiling):
8987         * floatfns.c (Fffloor):
8988         * floatfns.c (Ffround):
8989         * floatfns.c (Fftruncate):
8990         * fns.c (Fstring_equal):
8991         * fns.c (Fstring_lessp):
8992         * fns.c (concat2):
8993         * fns.c (concat3):
8994         * fns.c (vconcat2):
8995         * fns.c (vconcat3):
8996         * fns.c (Fsubstring):
8997         * fns.c (Fassoc):
8998         * fns.c (Fold_assoc):
8999         * fns.c (assoc_no_quit):
9000         * fns.c (Fassq):
9001         * fns.c (Fold_assq):
9002         * fns.c (assq_no_quit):
9003         * fns.c (Frassoc):
9004         * fns.c (Fold_rassoc):
9005         * fns.c (Frassq):
9006         * fns.c (Fold_rassq):
9007         * fns.c (rassq_no_quit):
9008         * fns.c (Fremassoc):
9009         * fns.c (remassoc_no_quit):
9010         * fns.c (Fremassq):
9011         * fns.c (remassq_no_quit):
9012         * fns.c (Fremrassoc):
9013         * fns.c (Fremrassq):
9014         * fns.c (remrassq_no_quit):
9015         * fns.c (Fsort):
9016         * fns.c (Fplist_get):
9017         * fns.c (Fplist_put):
9018         * fns.c (Fplist_remprop):
9019         * fns.c (Fplist_member):
9020         * fns.c (Flax_plist_get):
9021         * fns.c (Flax_plist_put):
9022         * fns.c (Flax_plist_remprop):
9023         * fns.c (Flax_plist_member):
9024         * fns.c (Fequal):
9025         * fns.c (Fold_equal):
9026         * fns.c (Frequire):
9027         * fns.c (Fbase64_encode_region):
9028         * fns.c (Fbase64_encode_string):
9029         * fns.c (Fbase64_decode_region):
9030         * frame.c:
9031         * frame.c (frame_matches_frame_spec):
9032         * frame.c (device_matches_device_spec):
9033         * frame.c (next_frame):
9034         * frame.c (previous_frame):
9035         * frame.c (Fnext_frame):
9036         * frame.c (Fprevious_frame):
9037         * frame.c (Fframe_property):
9038         * frame.c (Fset_frame_height):
9039         * frame.c (Fset_frame_size):
9040         * frame.h:
9041         * glyphs.c:
9042         * glyphs.c (if):
9043         * glyphs.c (decode_error_behavior_flag):
9044         * glyphs.c (Fmake_image_instance):
9045         * indent.c (Findent_to):
9046         * intl.c (Fignore_defer_gettext):
9047         * keymap.c (Fkeymapp):
9048         * keymap.c (Flookup_key):
9049         * lread.c:
9050         * lread.c (Fload_internal):
9051         * lread.c (Feval_buffer):
9052         * lread.c (Feval_region):
9053         * macros.c (Fexecute_kbd_macro):
9054         * marker.c (set_marker_internal):
9055         * marker.c (Fset_marker):
9056         * marker.c (set_marker_restricted):
9057         * marker.c (Fcopy_marker):
9058         * marker.c (noseeum_copy_marker):
9059         * menubar.c:
9060         * menubar.c (Fpopup_menu):
9061         * minibuf.c:
9062         * mule-charset.c (Fcharset_name):
9063         * mule-charset.c (Fchar_charset):
9064         * mule-charset.c (Fchar_octet):
9065         * mule-charset.c (Fsplit_char):
9066         * mule-wnnfns.c (Fwnn_open):
9067         * mule-wnnfns.c (Fwnn_dict_comment):
9068         * mule-wnnfns.c (Fwnn_quit_henkan):
9069         * mule-wnnfns.c (Fwnn_word_toroku):
9070         * mule-wnnfns.c (Fwnn_word_sakujo):
9071         * mule-wnnfns.c (Fwnn_word_use):
9072         * mule-wnnfns.c (Fwnn_hindo_set):
9073         * objects.c:
9074         * objects.c (Fmake_color_instance):
9075         * objects.c (Fmake_font_instance):
9076         * print.c (Fwrite_char):
9077         * process.c:
9078         * process.c (mark_process):
9079         * process.c (print_process):
9080         * process.c (get_process_from_usid):
9081         * process.c (Fprocessp):
9082         * process.c (Fprocess_live_p):
9083         * process.c (Fget_process):
9084         * process.c (Fget_buffer_process):
9085         * process.c (get_process):
9086         * process.c (Fprocess_id):
9087         * process.c (Fprocess_name):
9088         * process.c (Fprocess_command):
9089         * process.c (init_process_io_handles):
9090         * process.c (start_process_unwind):
9091         * process.c (Fstart_process_internal):
9092         * process.c (Fopen_multicast_group_internal):
9093         * process.c (Fset_process_window_size):
9094         * process.c (read_process_output):
9095         * process.c (send_process):
9096         * process.c (Fprocess_tty_name):
9097         * process.c (Fset_process_buffer):
9098         * process.c (Fprocess_buffer):
9099         * process.c (Fprocess_mark):
9100         * process.c (set_process_filter):
9101         * process.c (Fset_process_filter):
9102         * process.c (Fprocess_filter):
9103         * process.c (Fprocess_send_region):
9104         * process.c (Fprocess_send_string):
9105         * process.c (exec_sentinel):
9106         * process.c (Fset_process_sentinel):
9107         * process.c (Fprocess_sentinel):
9108         * process.c (status_notify):
9109         * process.c (Fprocess_status):
9110         * process.c (Fprocess_exit_status):
9111         * process.c (process_send_signal):
9112         * process.c (Fprocess_send_eof):
9113         * process.c (deactivate_process):
9114         * process.c (remove_process):
9115         * process.c (Fdelete_process):
9116         * process.c (kill_buffer_processes):
9117         * process.c (Fprocess_kill_without_query):
9118         * process.c (Fprocess_kill_without_query_p):
9119         * rangetab.c:
9120         * rangetab.c (Fget_range_table):
9121         * rangetab.c (Fput_range_table):
9122         * rangetab.c (Fremove_range_table):
9123         * rangetab.c (Fclear_range_table):
9124         * search.c:
9125         * search.c (Fskip_chars_forward):
9126         * search.c (Fskip_chars_backward):
9127         * search.c (Fskip_syntax_forward):
9128         * search.c (Fskip_syntax_backward):
9129         * search.c (search_command):
9130         * search.c (Freplace_match):
9131         * search.c (Fregexp_quote):
9132         * select.c (Fown_selection_internal):
9133         * select.c (Fselection_owner_p):
9134         * select.c (Fselection_exists_p):
9135         * select.c (Fget_selection_internal):
9136         * specifier.c:
9137         * symbols.c:
9138         * symbols.c (Fintern):
9139         * symbols.c (Fintern_soft):
9140         * symbols.c (Funintern):
9141         * symbols.c (Fapropos_internal):
9142         * symbols.c (Fset_default):
9143         * syntax.c:
9144         * syntax.c (Fsyntax_table_p):
9145         * syntax.c (Fcopy_syntax_table):
9146         * syntax.c (Fset_syntax_table):
9147         * syntax.c (Fchar_syntax):
9148         * syntax.c (syntax_match):
9149         * syntax.c (Fmatching_paren):
9150         * syntax.c (Fforward_word):
9151         * syntax.c (scan_lists):
9152         * syntax.c (Fscan_lists):
9153         * syntax.c (Fscan_sexps):
9154         * syntax.c (Fparse_partial_sexp):
9155         * toolbar.c (Fcheck_toolbar_button_syntax):
9156         * tooltalk.doc:
9157         * window.c:
9158         * window.c (Fwindowp):
9159         * window.c (Fwindow_live_p):
9160         * window.c (Fwindow_point):
9161         * window.c (Fdelete_window):
9162         * window.c (Fnext_window):
9163         * window.c (Fprevious_window):
9164         * window.c (Fother_window):
9165         * window.c (window_loop):
9166         * window.c (Fget_lru_window):
9167         * window.c (Fsplit_window):
9168         * window.c (Fenlarge_window):
9169         * window.c (Fenlarge_window_pixels):
9170         * window.c (Fshrink_window):
9171         * window.c (Fshrink_window_pixels):
9172         * window.c (change_window_height):
9173         * window.c (Fwindow_configuration_p):
9174         * window.c (Fcurrent_window_configuration):
9175         * window.h:
9176         * casefiddle.c (casify_object):
9177         * casefiddle.c (Fupcase):
9178         * casefiddle.c (Fdowncase):
9179         * casefiddle.c (Fcapitalize):
9180         * casefiddle.c (Fupcase_initials):
9181         * casefiddle.c (casify_region_internal):
9182         * casefiddle.c (casify_region):
9183         * casefiddle.c (Fupcase_region):
9184         * casefiddle.c (Fdowncase_region):
9185         * casefiddle.c (Fcapitalize_region):
9186         * casefiddle.c (Fupcase_initials_region):
9187         * casefiddle.c (Fupcase_word):
9188         * casefiddle.c (Fdowncase_word):
9189         * casefiddle.c (Fcapitalize_word):
9190         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
9191         Replace 0 with '\0' when working with bytes.
9192         Replace initial "(" with "\(" in docstrings.
9193
9194 2000-11-01  Martin Buchholz  <martin@xemacs.org>
9195
9196         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
9197
9198         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
9199
9200 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9201
9202         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
9203
9204 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9205
9206         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
9207         correctly.
9208
9209 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9210
9211         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
9212         (inhibit_auto_save_session): New variable.
9213         (vars_of_fileio): Declare and initialize them.
9214         * fileio.c (Fdo_auto_save): Don't create session file if
9215         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
9216
9217 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9218
9219         * sgiplay.c (play_internal): C++ compilability.
9220         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
9221         * callproc.c (Fold_call_process_internal):
9222         Remove unused vars `env', `first'.
9223         * scrollbar.c (update_scrollbar_instance):
9224         #### unused var `current_window'.
9225         * redisplay-tty.c: Put currently unused vars insert_mode_on,
9226         etc. within #ifdef NOT_YET.
9227         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
9228         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
9229         * specifier.c (specifier_instance):
9230         #### unused var `tag'.
9231         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
9232
9233 2000-10-27  Martin Buchholz  <martin@xemacs.org>
9234
9235         * fns.c (Fbutlast):
9236         * fns.c (list_sort):
9237         * fns.c (Ffillarray):
9238         * fns.c (bytecode_nconc2):
9239         * fns.c (Fnconc):
9240         * fns.c (mapcar1):
9241         * fns.c (Fmapconcat):
9242         Be pedantically 64-bit correct.  For the time when someone will
9243         want to have a list with length > 2**32.
9244
9245         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9246         Work around MIPSpro compiler bug.
9247
9248         * process-unix.c (unix_kill_child_process): Add snarky comment.
9249         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
9250
9251         * config.h.in: Oops, _getpt ==> _getpty
9252
9253 2000-10-26  Martin Buchholz  <martin@xemacs.org>
9254
9255         * config.h.in:
9256         * regex.c:
9257         Use void*, not char*, as return type of alloca().
9258
9259         * alloc.c (free_marker): Side effect inside assert expression!
9260
9261 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9262
9263         * mule-charset.c (Fset_charset_ccl_program): To check
9264         if the given ccl program is valid, use setup_ccl_program()
9265         instead of CHECK_VECTOR().
9266         (Fmake_charset): Likewise.
9267
9268 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9269
9270         * faces.c (get_extent_fragment_face_cache_index):
9271         Fix cachel.merged_faces memory leak.
9272
9273 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9274
9275         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9276         Reset MSB of octets obtained by DECODE_SJIS
9277         because of the incompatibility with Emacs.
9278         (ccl_driver)<CCL_ENCODE_SJIS>:
9279         Set MSB of octets before passing them to
9280         ENCODE_SJIS because of the incompatibility
9281         with Emacs.
9282
9283 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9284
9285         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9286         (DECLARE_LRECORD): Undo the last change.
9287         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9288
9289 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9290
9291         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9292         the implementation to lrecord_implementations_table.
9293
9294 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9295
9296         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9297         initial value of `lrecord_type_##c_name' and
9298         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9299         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9300         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9301         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9302         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9303
9304 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9305
9306         * miscplay.c (sndcnv8S_2mono):
9307         (sndcnv2monounsigned):
9308         (sndcnvULaw_2linear):
9309         (sndcnv16swap):
9310         Remove implementation-defined behavior.
9311
9312 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9313
9314         * input-method-xlib.c: Warning suppression.
9315
9316 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9317
9318         * mule-ccl.c: Sync up with Emacs 21.0.90.
9319         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9320         Do nothing.
9321         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9322         Likewise.
9323         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9324         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9325         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9326         leading char belongs to official 2-dimensional charset.
9327         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9328         write the given character as is.  Otherwise,
9329         if it is a multibyte char, convert it by
9330         non_ascii_set_charptr_emchar, then write it.
9331         (CCL_WRITE_STRING): Likewise.
9332         (ccl_get_compiled_code): New function.
9333         (setup_ccl_program): When ccl_prog is invalid,
9334         return -1.
9335         (Fregister_code_conversion_map): New function.
9336         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9337
9338         * mule-ccl.h: Sync up with Emacs 21.0.90.
9339         (Fregister_ccl_program): export it.
9340
9341         * redisplay-msw.c (separate_textual_runs):
9342         If ccl program is not valid, don't do ccl conversion.
9343
9344         * redisplay-x.c (separate_textual_runs): Ditto.
9345
9346         * file-coding.c (Fmake_coding_system):
9347         When type is ccl and value is vector, register it
9348         with a proper symbol.  And checks whether the
9349         given ccl program is valid.
9350         (mule_decode): When calling ccl_driver, if src indicates
9351         NULL pointer, set an empty string instead.
9352         (mule_encode): Likewise.
9353
9354 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9355
9356         The following large batch of changes gets us back to a state of
9357         C++ compilability.  Extbyte is now a char, which means that
9358         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9359
9360         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9361
9362         * sound.c (Fplay_sound): Type correctness.
9363
9364         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9365         (x_get_window_property): Type correctness.
9366         (receive_incremental_selection): unsigned char ==> Extbyte
9367         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9368         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9369         (Fx_store_cutbuffer_internal): Type correctness.
9370
9371         * process-unix.c (try_to_initialize_subtty): Type correctness.
9372
9373         * objects-x.c (x_print_color_instance): Type correctness.
9374         (x_print_font_instance): Type correctness.
9375         (x_list_fonts): SExtbyte ==> Extbyte.
9376         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9377         (x_find_charset_font): SExtbyte ==> Extbyte.
9378         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9379         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9380         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9381         Use bufbyte_strcmp.
9382
9383         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9384         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9385         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9386         (BYTE_C0_P): Use bit ops for char-signedness safety.
9387         (BYTE_C1_P): Use bit ops for char-signedness safety.
9388         (CHARSET_BY_LEADING_BYTE):
9389         (CHARSET_BY_ATTRIBUTES):
9390         Always use inline function.
9391         Use type_checking_assert.
9392         Hide chlook.
9393
9394         * mule-charset.c (non_ascii_charptr_copy_char):
9395         Modify to work with both ASCII and non-ASCII characters.
9396         Improve docs and variable names.
9397         Replace over-clever fall-through switch with a simple loop.
9398         (Lstream_get_emchar_1):
9399         Replace over-clever fall-through switch with a simple loop.
9400
9401         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9402         Warning suppression.
9403
9404         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9405         the return value of Lstream_getc, which could be EOF as well.
9406
9407         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9408
9409         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9410         APIs can be used on Extbytes without casts.  Risky!
9411         (SExtbyte): Remove.
9412         (UExtbyte): Remove.
9413
9414         * input-method-xlib.c (XIM_init_device):
9415         Use Xlib.h instead of IntrinsicP.h.
9416         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9417         which will break in X11R7.
9418         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9419         to call XRegisterIMInstantiateCallback with correct types.
9420
9421         * gui-x.c (button_item_to_widget_value): Type correctness.
9422
9423         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9424
9425         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9426         (xbm_instantiate_1): Type correctness.
9427         (BUILD_GLYPH_INST):  Type correctness.
9428
9429         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9430
9431         * file-coding.c:
9432         (decode_coding_sjis):
9433         (decode_coding_big5):
9434         (decode_coding_ucs4):
9435         (decode_coding_utf8):
9436         (decode_coding_iso2022):
9437         (decode_coding_no_conversion):
9438         Make all decoding functions take an Extbyte * arg.
9439         (encode_coding_sjis):
9440         (encode_coding_big5):
9441         (encode_coding_ucs4):
9442         (encode_coding_utf8):
9443         (encode_coding_iso2022):
9444         (encode_coding_no_conversion):
9445         Make all encoding functions take a Bufbyte * arg.
9446         Use size_t instead of unsigned int for memory sizes.
9447         Only cast to unsigned char whenever dereferencing Extbyte *.
9448
9449         * doc.c (unparesseuxify_doc_string): Type correctness.
9450
9451         * console-x.c (split_up_display_spec):
9452         Rewrite without using details of internal string representation.
9453         (x_semi_canonicalize_device_connection): Type correctness.
9454
9455         * config.h.in:
9456         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9457         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9458         (HAVE_XFREE386): Removed.
9459
9460         * buffer.h (DEC_CHARPTR): `const' correctness.
9461         (bufbyte_strcmp): New.
9462         (bufbyte_memcmp): New.
9463
9464         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9465
9466         * buffer.h (XCHAR_OR_CHAR_INT):
9467         Always use inline function.
9468         Remove redundant type checking assert() - XINT will abort quite nicely.
9469
9470 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9471
9472         * search.c (Freplace_match): Set newtext to an empty string.
9473
9474 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9475
9476         * s/decosf1-3.h: Remove #include of stropts.h
9477         * s/ptx.h: Remove #include of stropts.h
9478         * s/usg5-4.h: Remove #include of stropts.h
9479         * sysproc.h:
9480         * config.h.in:
9481         Use stropts.h, not sys/stropts.h.
9482         Use strtio.h, not sys/strtio.h.
9483
9484 2000-10-04  Martin Buchholz <martin@xemacs.org>
9485
9486         * XEmacs 21.2.36 is released.
9487
9488 2000-09-21  Andy Piper  <andy@xemacs.org>
9489
9490         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9491         changes still involve copying the widget tree.
9492         (update_widget_face): make sure a change is register in the widget
9493         tree. Call update_tab_widget_face appropriately.
9494         (update_tab_widget_face): ditto.
9495         (x_tab_control_redisplay): make sure non-structural changes still
9496         involve copying the widget tree.
9497
9498 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9499
9500         * lread.c (locate_file): Check the path element is non-nil.
9501
9502 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9503
9504         * lisp.h: Warning suppression for SCO compilers.
9505
9506         * redisplay-tty.c (reset_tty_modes): Fix crash.
9507         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9508
9509 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9510
9511         Big signal/process handling overhaul.  Bugs fixed:
9512         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9513         M-x comint-kill-subjob should work for both values nil and t of
9514         process-connection-type. It was broken on most platforms.
9515         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9516         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9517         * process-unix.c: Signal/Process handling overhaul.
9518         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9519         (allocate_pty): Use all available modern methods of allocating
9520         ptys, falling back to old style BSD allocation as a last resort.
9521         Use allegedly more secure Unix98 pty allocation by default.
9522         (allocate_pty_the_old_fashioned_way): New. the last resort.
9523         (unix_create_process): Push ptem, ldterm, ttcompat where
9524         available.  Autoconfiscate.
9525         (try_to_initialize_subtty): New.
9526         (unix_kill_child_process): Proper signal handling for ptys on most
9527         platforms, using special knowledge of AIX, BSD, etc...
9528         (unix_create_process): Always disconnect_controlling_terminal() for
9529         subprocesses, whether using ptys or not.
9530         * process.h: Remove old getpt-dependent PTY code.
9531         * process.c (Fprocess_send_signal): New, obvious generic function.
9532         (decode_signal): New.
9533         (Finterrupt_process):
9534         (Fkill_process):
9535         (Fquit_process):
9536         (Fstop_process):
9537         (Fcontinue_process):
9538         (Fsignal_process): Use decode_signal.
9539         (process_send_signal):
9540         Many docstring corrections.
9541         Allow any signal to be sent to a process object.
9542         * config.h.in: Add symbols for big signal/process overhaul.
9543         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9544         * sysproc.h: Include process-related headers, where available:
9545         sys/stropts.h sys/strtio.h pty.h libutil.h
9546         * s/irix4-0.h:
9547         * s/irix5-0.h:
9548         * s/cygwin32.h:
9549         * s/gnu.h:
9550         * s/linux.h:
9551         * s/hpux.h:
9552         * s/aix3-1.h:
9553         Remove old S&M pty stuff.
9554         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9555         * systty.h: Simplify cpp hackery, improve comments.
9556         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9557
9558         * editfns.c (Fformat_time_string):
9559         Be a little more paranoid with the return value of ctime.
9560
9561         * fileio.c (check_executable):
9562         (check_writable):
9563         Use symbolic constants X_OK, W_OK.
9564
9565         * console-x.c (split_up_display_spec): Fix a warning.
9566
9567 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9568
9569         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9570         * ntproc.c (sys_spawnve): make_string ==> build_string
9571         Small clarity improvements.
9572
9573 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9574
9575         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9576
9577         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9578
9579         * config.h.in (HAVE_STRCASECMP): Remove.
9580
9581 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9582
9583         * redisplay-output.c (redisplay_output_pixmap):
9584         Cleaner and possibly more 64-bit correct code.
9585
9586 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9587
9588         * dumper.c (pdump_load_finish): move restoration of
9589         `noninteractive1' to emacs.c (main_1).
9590         * emacs.c (main_1): protect LISP-visible command-line flags
9591         from pdump_load().
9592
9593 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9594
9595         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9596         DUMP_TARGET instead of literal program names.
9597
9598 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9599
9600         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9601
9602 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9603
9604         * *: Spelling mega-patch
9605
9606 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9607
9608         * fns.c (bad_bad_turtle):
9609         Delete "Eek!" comment, since we fixed the bug to which it refers.
9610
9611 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9612
9613         * alloca.c: Replace REGISTER with register.
9614
9615 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9616
9617         * file-coding.c (ucs_to_char): Use countof.
9618
9619 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9620
9621         * file-coding.c: (ucs_to_char):
9622         (complex_vars_of_file_coding):
9623         Use countof instead of sizeof.
9624         Use CHECK_NATNUM instead of CHECK_INT.
9625
9626         * sysdep.c (strcasecmp): Remove.
9627         * device-x.c (ascii_strcasecmp): New.
9628         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9629         Avoid using non-standard non-portable strcasecmp.
9630
9631 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9632
9633         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9634         * font-lock.c: remove reference to emacsfns.h.
9635         * search.c: small doc improvement.
9636         * event-Xt.c: correct file names in comments.
9637         * console-x.h Correct file names in comments.
9638         * frame.c: Correct file names in comments.
9639         * event-stream.c: remove Energize from comments.
9640
9641 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9642
9643         * symeval.h (DEFERROR_STANDARD):
9644         (DEFERROR):
9645         (DEFSYMBOL):
9646         (DEFSYMBOL_NO_DUMP):
9647         (DEFSYMBOL_MULTIWORD_PREDICATE):
9648         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9649         (DEFKEYWORD):
9650         The construct &##name is not sensible C.
9651         Fixes compilation errors with Unixware native compiler.
9652
9653 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9654
9655         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9656         (next_frame_internal): Removed.  We now just have next_frame.
9657         (next_frame):
9658         Write a simpler and cleaner one-pass algorithm.
9659         Remove called_from_delete_device arg and #ifdefed-out code.
9660         (previous_frame):
9661         Renamed from prev_frame.  Update callers.
9662         Cleaned up to have an analogous implementation to next_frame.
9663         (other_visible_frames_internal): Remove the
9664         called_from_delete_device bogus arg, and hence, remove this
9665         function.  Just use other_visible_frames().
9666
9667         * window.c (Fnext_window):
9668         Prettify docstring.
9669         Since next_frame() is guaranteed to return a frame, remove check
9670         for nil inserted in previous patch.
9671         (Fprevious_window):
9672         Prettify docstring.
9673         Make code look more like Fnext_window.
9674         (window_loop):
9675         Respect the `console' arg when iterating through windows.
9676         Fixes bug: (get-buffer-window buffer t device) not respecting
9677         the `device' arg.
9678         This function needs more work, as others have pointed out.
9679
9680         * frame.h: Rename prev_frame to previous_frame.
9681         device_matches_console_spec no longer takes a `frame' arg.
9682
9683         * s/gnu.h:
9684         * s/linux.h:
9685         * s/hpux.h:
9686         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9687         From "Golubev I. N." <gin@mo.msk.ru>.
9688
9689         * make-src-depend: Fix typo.
9690
9691 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9692
9693         * window.c (Fnext_window):
9694         next_frame() might return nil, not a frame.
9695         Fixes this crash:
9696         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9697
9698         * frame.c (next_frame_internal):
9699         We've passed a frame if we've passed its device.
9700         Fixes this crash:
9701         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9702 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9703
9704 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9705
9706         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9707         Allow option to suppress accelerators in menu/dialog items.
9708         (populate_or_checksum_helper): Pass dialog title through above.
9709
9710 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9711
9712         * event-msw.c (mswindows_key_to_emacs_keysym):
9713         Add "pause" key, fix "menu" key.
9714
9715 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9716
9717         * eval.c (reinit_vars_of_eval):
9718         Increase max_lisp_eval_depth to 1000,
9719         required for thai-xtis.el to byte-compile under some circumstances.
9720
9721 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9722
9723         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9724         From Kenichi Handa.
9725
9726 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9727
9728         * make-src-depend: Make the generated Makefiles smaller.
9729
9730         * s/hpux.h (SETUP_SLAVE_PTY):
9731         Provide a %d in the format string for the errno argument.
9732
9733         * editfns.c (Ftemp_directory):
9734         Warning fix.
9735         Avoid buffer overrun on very long file name.
9736
9737         * input-method-xlib.c (XIM_init_device):
9738         6th parameter of XRegisterIMInstantiateCallback has different
9739         pointer types on different OSes, so simply cast to (void *).
9740
9741         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9742
9743         * sysdll.c (dll_open):
9744         shl_load will hang hard if passed a NULL filename.
9745         Simply return NULL for compatibility with dlopen.
9746         * sysdll.c: Conform to XEmacs coding standards.
9747
9748         * sysdep.c (get_pty_max_bytes):
9749         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9750
9751 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9752
9753         * tooltalk.c: Add #include <syssignal.h>
9754
9755 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9756
9757         * s/hpux.h: Don't use undefined function sigunblock().
9758
9759 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9760
9761         * config.h.in: Add HAVE_BALLOON_HELP.
9762         * emacs.c: Use HAVE_BALLOON_HELP.
9763         * Makefile.in.in (x_objs):
9764         Make Balloon Help conditional on finding shape.h.
9765
9766 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9767
9768         * syntax.c (regex_emacs_buffer_p): New variable.
9769         * syntax.h (regex_emacs_buffer_p): extern.
9770         * search.c (looking_at_1):
9771         (string_match_1):
9772         (fast_string_match):
9773         (search_buffer): Set regex_emacs_buffer_p.
9774         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9775         when before_dot, at_dot, after_dot.
9776
9777 2000-08-23  Andy Piper  <andy@xemacs.org>
9778
9779         * gui-x.c (popup_selection_callback): Only set action_occurred
9780         when we really have an image instance.
9781         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9782
9783 2000-08-23  Andy Piper  <andy@xemacs.org>
9784
9785         * gui-msw.c (mswindows_handle_gui_wm_command): set
9786         action_occurred.
9787         * gui-x.c (popup_selection_callback): ditto.
9788
9789         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9790         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9791         (struct Lisp_Image_Instance): add action_occurred flag.
9792
9793         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9794         (image_instance_changed): ditto.
9795         (reset_frame_subwindow_instance_cache): only unmap windows - do
9796         not remove them from the cache also.
9797
9798         * glyphs-widget.c (tab_control_update): better debug.
9799         (progress_gauge_update): ditto.
9800         (layout_update): ditto.
9801         (layout_instantiate): ditto.
9802         (tab_control_order_only_changed): cope with null pending items.
9803
9804         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9805         debug. Force selection of an item when an action occurred. Cope
9806         with null pending_items.
9807         (mswindows_progress_gauge_redisplay): better debug.
9808         * glyphs-x.c (x_tab_control_redisplay): ditto.
9809
9810         * redisplay.c (redisplay_frame): reset the frame cache if the
9811         frame is garbaged.
9812
9813         * window.c (Fset_window_configuration): potentially re-enable
9814         frame cache reset.
9815         (window_unmap_subwindows): need to finalize instances here since
9816         it is only used in mark_window_as_deleted.
9817
9818 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9819
9820         * nas.c (SndOpenDataForReading):
9821         nas.c (WaveOpenDataForReading):
9822         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9823         Somehow escaped from the 2000-08-14 patch.
9824
9825 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9826
9827         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9828         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9829
9830 2000-08-21  Andy Piper  <andy@xemacs.org>
9831
9832         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9833         window if it is not already displayed.
9834
9835         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9836         it is not already displayed.
9837
9838         * window.c (Fset_window_configuration): don't reset the frame
9839         cache.
9840
9841         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9842         instances from the frame cache if we are actually finalizing them.
9843         (reset_frame_subwindow_instance_cache): reset frame cache only
9844         after unmapping everything.
9845         (map_subwindow): set displayed flag after mapping.
9846
9847 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9848
9849         * data.c (indirect_function):
9850         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9851
9852         * eval.c (function_argcount):
9853         Use original function when signaling errors.
9854
9855 2000-08-18  Andy Piper  <andy@xemacs.org>
9856
9857         * frame.c (delete_frame_internal): use new
9858         free_frame_subwindow_instances name.
9859
9860         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9861         (add_tab_item): make return type correct.
9862         (mswindows_tab_control_instantiate): assert index of tab.
9863         (mswindows_tab_control_redisplay): Re-code to use
9864         gui_item_equal_sans_selected and gui_item_list_find_selected.
9865
9866         * glyphs-widget.c (tab_control_update): Correct comment.
9867
9868         * window.c (window_unmap_subwindows): use new
9869         unmap_subwindow_instance_cache_mapper.
9870         (window_unmap_subwindows_cache_mapper): deleted.
9871         (Fset_window_configuration): comparisons should now be with
9872         EQ. Preserve the subwindow instance cache across configuration
9873         changes.
9874         (allocate_window): ditto.
9875         (make_dummy_parent): ditto.
9876
9877         * glyphs.c (free_frame_subwindow_instances): rename from
9878         free_frame_subwindow_instance_cache. finalize all instances rather
9879         than just those in the display cache.
9880         (finalize_all_subwindow_instances): walk windows unmapping and
9881         finalizing subwindows.
9882         (unmap_subwindow_instance_cache_mapper): moved from
9883         window.c. Allow finalization as well as unmapping.
9884
9885         * gui.c (gui_item_list_find_selected): new function.
9886
9887         * gui.h (gui_item_list_find_selected): declare.
9888
9889         * glyphs-x.c (x_tab_control_redisplay): pick tab
9890         explicitly. Re-code to use gui_item_equal_sans_selected and
9891         gui_item_list_find_selected.
9892
9893         * glyphs-x.h: add lwlib-utils.h
9894
9895         * buffer.c (Frecord_buffer): undo previous change.
9896
9897 2000-08-09  Vin Shelton  <acs@xemacs.org>
9898
9899         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9900         possible.  Create temporary files more securely.  The patch was
9901         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9902         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9903         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9904         for details.
9905
9906 2000-08-07  Ben Wing  <ben@xemacs.org>
9907
9908         * getloadavg.c: remove duplicate (and windows-breaking)
9909         includes of fcntl.h and sys/file.h.
9910
9911         * nt.c: remove duplicate getloadavg() definition.
9912
9913         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9914         encodings.
9915
9916 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9917
9918         * eval.c (function_argcount): If function needs to be autoloaded
9919         actually use the loaded definition.
9920         GCPRO function.
9921
9922 2000-08-05  Ben Wing  <ben@xemacs.org>
9923
9924         * getloadavg.c: add prototype for getloadavg().  remove
9925         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9926         of the code).  remove duplicate header includes.
9927
9928         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9929
9930         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9931         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9932         useful load average.
9933
9934         * alloc.c (reinit_alloc_once_early): removed references to
9935         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9936         the lisp vars are the only things referencing the malloc_sbrk_*
9937         vars, and they were already if 0'd out.  these vars only exist
9938         in the older malloc.c, which is basically unused, and they're
9939         only for informational purposes.
9940
9941         * m\*.h: removed useless VIRT_ADDR_VARIES.
9942
9943         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9944
9945 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9946
9947         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9948         color if the image is a mono pixmap.
9949
9950 2000-07-30  Ben Wing  <ben@xemacs.org>
9951
9952         * Makefile.in.in (release):
9953         Remove stray @.
9954
9955         * buffer.c (directory_is_current_directory):
9956         * dired-msw.c (mswindows_get_files):
9957         * dired.c:
9958         * dired.c (Fdirectory_files):
9959         * dired.c (file_name_completion_stat):
9960         * dired.c (Ffile_attributes):
9961         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9962         preprocessor tricks, to avoid problems on some machines
9963         (e.g. SCO).
9964
9965         * callproc.c (egetenv): GC docs.
9966
9967         * console-msw.h:
9968         * console-msw.h (struct mswindows_dialog_id):
9969         * lrecord.h (lrecord_type):
9970         New object for use with MSW dialogs.
9971
9972         * console.h (struct console_methods):
9973         New enable/disable frame methods, for proper modal dialogs.
9974
9975         * device-msw.c (msprinter_default_printer): Fix to follow
9976         proper Mule conventions.
9977
9978         * device-msw.c:
9979         * device-msw.c (signal_open_printer_error):
9980         * device-msw.c (msprinter_init_device):
9981         * device-msw.c (ensure_not_printing):
9982         * device-msw.c (plist_get_margin):
9983         * device-msw.c (Fmsprinter_select_settings):
9984         * device-msw.c (finalize_devmode):
9985         * device-msw.c (Fmsprinter_settings_despecialize):
9986         * device-msw.c (signal_enum_priner_error):
9987         * extents.c (decode_extent):
9988         * extents.c (decode_map_extents_flags):
9989         * extents.c (decode_extent_at_flag):
9990         * extents.c (Fextent_at):
9991         * extents.c (Fextents_at):
9992         * extents.c (symbol_to_glyph_layout):
9993         [[[[2]]]] Use structured errors.
9994
9995         * dialog-msw.c:
9996         * dialog-msw.c (mswindows_is_dialog_msg):
9997         * dialog-msw.c (mark_mswindows_dialog_id):
9998         * dialog-msw.c (dialog_proc):
9999         * dialog-msw.c (handle_question_dialog_box):
10000         * dialog-msw.c (syms_of_dialog_mswindows):
10001         Define new object to clean up marking; use it as a dialog identifier.
10002         Call new delete-dialog-box-hook.
10003
10004         * dialog-x.c (dbox_selection_callback):
10005         * dialog-x.c (dbox_descriptor_to_widget_value):
10006         * dialog-x.c (x_make_dialog_box_internal):
10007         Call new delete-dialog-box-hook.
10008         Return an id.
10009
10010         * dialog.c:
10011         * dialog.c (syms_of_dialog):
10012         * dialog.c (vars_of_dialog):
10013         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
10014
10015         * eval.c:
10016         * eval.c (signal_call_debugger):
10017         when noninteractive, output stack traces on the console instead
10018         of in a (never-seen) buffer.
10019
10020         * eval.c (signal_type_error):
10021         * eval.c (invalid_argument_2):
10022         * lisp.h:
10023         new funs for use w/structured errors.
10024
10025         * event-Xt.c:
10026         * event-Xt.c (x_to_emacs_keysym):
10027         * event-Xt.c (describe_event):
10028         * event-Xt.c (emacs_Xt_event_handler):
10029         * event-Xt.c (vars_of_event_Xt):
10030         * event-msw.c:
10031         * event-msw.c (mswindows_wnd_proc):
10032         * event-msw.c (vars_of_event_mswindows):
10033         rename {x,mswindows}-debug-events to debug-{}-events for
10034         consistency with other debug-foo variables.
10035
10036         * event-stream.c:
10037         document next-event more clearly.
10038
10039         * fileio.c (Ffile_name_directory):
10040         * fileio.c (Ffile_name_nondirectory):
10041         * fileio.c (Funhandled_file_name_directory):
10042         * fileio.c (file_name_as_directory):
10043         * fileio.c (Ffile_name_as_directory):
10044         * fileio.c (directory_file_name):
10045         * fileio.c (Fdirectory_file_name):
10046         * fileio.c (Fmake_temp_name):
10047         * fileio.c (Ffile_truename):
10048         * fileio.c (Fsubstitute_in_file_name):
10049         * fileio.c (expand_and_dir_to_file):
10050         * fileio.c (barf_or_query_if_file_exists):
10051         * fileio.c (check_executable):
10052         * fileio.c (Ffile_exists_p):
10053         * fileio.c (Ffile_writable_p):
10054         * fileio.c (Ffile_directory_p):
10055         * fileio.c (Ffile_regular_p):
10056         * fileio.c (Ffile_modes):
10057         * fileio.c (Ffile_newer_than_file_p):
10058         * fileio.c (Fverify_visited_file_modtime):
10059         * fileio.c (Fset_visited_file_modtime):
10060         * fileio.c (auto_save_1):
10061         (1). (2).
10062         fix up gcpro's.
10063
10064         * frame-msw.c:
10065         * frame-msw.c (mswindows_init_frame_1):
10066         * frame-msw.c (mswindows_enable_frame):
10067         * frame-msw.c (error_frame_unsizable):
10068         * frame-msw.c (msprinter_init_frame_1):
10069         * frame-msw.c (msprinter_init_frame_3):
10070         * frame-msw.c (console_type_create_frame_mswindows):
10071         (2).
10072         implement new enable/disable frame methods.
10073
10074         * frame-x.c:
10075         * frame-x.c (x_enable_frame):
10076         * frame-x.c (console_type_create_frame_x):
10077         implement new enable/disable frame methods.
10078
10079         * frame.c:
10080         * frame.c (Fdisable_frame):
10081         * frame.c (syms_of_frame):
10082         * frame.h (struct frame):
10083         implement new enable/disable frame methods/functions.
10084
10085         * general-slots.h:
10086         add initial-focus.
10087
10088         * glyphs-msw.c (mswindows_widget_instantiate):
10089         comment that initial-focus should be implemented.
10090
10091         * glyphs-widget.c:
10092         * glyphs-widget.c (check_valid_instantiator):
10093         * glyphs-widget.c (check_valid_orientation):
10094         * glyphs-widget.c (check_valid_tab_orientation):
10095         * glyphs-widget.c (check_valid_justification):
10096         * glyphs-widget.c (check_valid_border):
10097         * glyphs-widget.c (check_valid_callback):
10098         * glyphs-widget.c (check_valid_int_or_function):
10099         * glyphs-widget.c (check_valid_string_or_vector):
10100         * glyphs-widget.c (check_valid_item_list_1):
10101         * glyphs-widget.c (widget_validate):
10102         * glyphs-widget.c (combo_box_validate):
10103         * glyphs-widget.c (widget_instantiate):
10104         * glyphs-widget.c (syms_of_glyphs_widget):
10105         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
10106         * glyphs-widget.c (image_instantiator_combo_box):
10107         * glyphs-widget.c (image_instantiator_scrollbar):
10108         * glyphs-widget.c (image_instantiator_tab_control):
10109         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
10110         (2).
10111         support (unimplemented) keyword initial-focus.
10112         reindent long macros.
10113
10114         * glyphs-x.c (x_redisplay_widget):
10115         * glyphs-x.c (x_button_instantiate):
10116         * glyphs-x.c (x_button_redisplay):
10117         * glyphs-x.c (x_progress_gauge_instantiate):
10118         * glyphs-x.c (x_edit_field_instantiate):
10119         * glyphs-x.c (x_combo_box_instantiate):
10120         * glyphs-x.c (x_tab_control_instantiate):
10121         * glyphs-x.c (x_label_instantiate):
10122         * gui-x.c:
10123         * gui-x.c (button_item_to_widget_value):
10124         * gui-x.c (gui_items_to_widget_values_1):
10125         * gui-x.c (gui_item_children_to_widget_values):
10126         * gui-x.c (gui_items_to_widget_values):
10127         * gui-x.h:
10128         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10129         add new flag to gui-parsing routines to indicate whether
10130         accelerator specs should be supported.
10131
10132         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
10133
10134         * glyphs.h (struct Lisp_Image_Instance):
10135         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
10136         add initial-focus flag.
10137
10138         * gui.c:
10139         * gui.c (syms_of_gui):
10140         * gui.c (vars_of_gui):
10141         clean up menu-no-selection-hook.
10142
10143         * gui.h:
10144         support delete-dialog-box-hook.
10145
10146         * lread.c (Fload_internal):
10147         * lread.c (locate_file_in_directory_mapper):
10148         (1).
10149
10150         * lrecord.h:
10151         * lrecord.h (struct toolbar_button):
10152         * lrecord.h (syms_of_toolbar):
10153         document how to create a new object.
10154
10155         * menubar-msw.c (mswindows_char_is_accelerator):
10156         may be called on frames w/o menus.
10157
10158         * menubar.c (vars_of_menubar):
10159         clean up :filter docs.
10160
10161         * nt.c (readdir):
10162         * ntproc.c:
10163         (1).
10164
10165         * process-nt.c:
10166         * process-nt.c (validate_signal_number):
10167         * process-nt.c (signal_cannot_launch):
10168         * process-nt.c (nt_create_process):
10169         * process-nt.c (nt_send_process):
10170         * process-nt.c (nt_kill_child_process):
10171         * process-nt.c (nt_open_network_stream):
10172         * process-nt.c (syms_of_process_nt):
10173         (2).
10174         delete quote-handling.  call new lisp code that does it better.
10175
10176         * process-unix.c (connect_to_file_descriptor):
10177         * process-unix.c (allocate_pty):
10178         * process-unix.c (unix_send_process):
10179         * process-unix.c (unix_kill_child_process):
10180         * process-unix.c (unix_open_network_stream):
10181         * process-unix.c (unix_open_multicast_group):
10182         (1). (2).
10183
10184         * process.c:
10185         * process.c (Fstart_process_internal):
10186         (2).  need to canonicalize process path even if absolute.
10187
10188         * select-msw.c (symbol_to_ms_cf):
10189         * select-msw.c (ms_cf_to_symbol):
10190         * select-msw.c (cf_is_autofreed):
10191         * select-msw.c (mswindows_destroy_selection):
10192         * select.c:
10193         * select.c (syms_of_select):
10194         * select.h:
10195         support dibv5, fix bugs. (from Mike Alexander)
10196
10197         * select.c (Fget_selection_internal):
10198         * select.c (select_convert_out):
10199
10200         * sysdep.c:
10201         * sysdep.c (xemacs_stat):
10202         renamed.
10203
10204         * sysdep.c (mkdir):
10205         * sysdep.c (rmdir):
10206         but keep original stat() here because we provide encapsulation
10207         around these funs.
10208
10209         * sysfile.h:
10210         * sysfile.h (fstat):
10211         remove stat garbage.
10212
10213         * syswindows.h:
10214         fix X/MSW conflict.
10215         don't include tchar.h.  it's inappropriate because it makes
10216         compile-time distinctions when we want runtime distinctions.
10217         (we provide our own tchar replacements)
10218
10219         * toolbar.c:
10220         use default object printer for toolbar-button.
10221
10222         * unexcw.c:
10223         make sure we don't encapsulate.
10224
10225         * window.c (vars_of_window):
10226         emphasize that temp-buffer-show-hook is obsolete.
10227
10228 2000-08-05  Martin Buchholz  <martin@xemacs.org>
10229
10230         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
10231         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
10232
10233         * events.c (Fevent_timestamp_lessp):
10234         Not 64-bit clean.  Use EMACS_INT, not int.
10235
10236 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
10237
10238         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
10239         unsigned int and changed the last enum to
10240         lrecord_type_last_built_in_type.
10241         (lrecord_implementations_table): changed prototype to know how
10242         long the array is supposed to be.
10243         (lrecord_type_count): new unsigned int to keep track of the
10244         current number of lisp lrecord types.
10245         (DEFINE_EXTERNAL_LRECORD):
10246         (DECLARE_EXTERNAL_LRECORD): Added these two for external
10247         dynamic-modules to declare new lisp types. They are the same
10248         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
10249         int for each new type, and increment lrecord_type_count by 1.
10250
10251         * alloc.c (lrecord_implementations_table): Changed to reference
10252         lrecord_type_last_built_in_type for the size of the array.
10253         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
10254
10255 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10256
10257         * glyphs.h (check_valid_item_list): Renamed from
10258         check_valid_item_list_1.
10259
10260 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10261
10262         * select.c (Qselect_coerce): New.
10263         * select.c (Vselection_coercion_alist): New.
10264         * select.c (syms_of_select): Declare.
10265         * select.c (get-selection-internal): Use it.
10266         Use the new select-coerce functionality.
10267
10268         * select.c (select_coerce): New.
10269         * select.h (select_coerce): Declare.
10270         New function to coerce one type of data into another.
10271
10272 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10273
10274         * callproc.c (Fcall_process_internal):
10275         (Fcall_process_internal):
10276         * process-unix.c (unix_create_process):
10277         Save and restore the value of errno, so that error messages are accurate.
10278
10279 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10280
10281         * elhash.c (print_hash_table):
10282         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10283         Prettify docstrings and indentation.
10284
10285 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10286
10287         * window.c (Fwindow_pixel_edges): Subtract frame border and
10288         gutter size.
10289
10290 2000-07-31  Andy Piper  <andy@xemacs.org>
10291
10292         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10293         will acknowledge the change.
10294
10295         * glyphs.h: declare tab_control_order_only_changed.
10296
10297         * glyphs-x.c (x_tab_control_redisplay): use
10298         tab_control_order_only_changed.
10299
10300         * glyphs-widget.c (tab_control_order_only_changed): new function.
10301
10302         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10303         tab_control_order_only_changed.
10304
10305         * gui.c (gui_item_equal_sans_selected): new function.
10306         (gui_item_equal): use it.
10307
10308         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10309         :properties in favor of :items..
10310
10311         * glyphs-widget.c (check_valid_item_list): rename from
10312         check_valid_item_list_1.
10313         (check_valid_item_list_1): renamed.
10314         (combo_box_validate): deprecate :properties in favor of :items.
10315         (widget_instantiate): ditto.
10316         (tab_control_update): ditto.
10317         (image_instantiator_combo_box): ditto.
10318         (image_instantiator_tree_view): ditto.
10319         (image_instantiator_tab_control): ditto.
10320         (layout_post_instantiate): remove dead code.
10321
10322         * print.c (debug_print_no_newline): only write to debugger if in
10323         WIN32_NATIVE.
10324
10325         * elhash.c (Fmake_hash_table): update doc string.
10326
10327         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10328         messages whilst in GC. This at least stops XEmacs crashing but has
10329         the potential for wierd behaviour.
10330
10331 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10332
10333         * config.h.in:
10334         Make existence of s&m files optional.
10335
10336         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10337         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10338         * s/gnu.h: Remove HAVE_GETLOADAVG.
10339         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10340         * s/sol2.h: Remove HAVE_GETLOADAVG.
10341         * lisp.h: Remove getloadavg() declaration.
10342         * fns.c:
10343         Include <sys/loadavg.h> if available.
10344         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10345         * config.h.in:  Group together getloadavg()-related macros.
10346         Use only configure-time tests to detect getloadavg().
10347
10348 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10349
10350         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10351
10352 2000-07-25  Andy Piper  <andy@xemacs.org>
10353
10354         * syswindows.h: add tchar.h for native builds.
10355
10356         * frame.c (syms_of_frame): remove set-glyph-image.
10357
10358         * general-slots.h: add Qset_glyph_image.
10359
10360         * glyphs-widget.c (layout_update): add domain arg to
10361         set-glyph-image.
10362         (syms_of_glyphs_widget): remove set-glyph-image.
10363
10364 2000-07-23  Ben Wing  <ben@xemacs.org>
10365
10366         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10367         Vpopup_frame_list.
10368
10369 2000-07-22  Andy Piper  <andy@xemacs.org>
10370
10371         * symsinit.h: add syms_of_win32().
10372
10373         * gui-msw.c (syms_of_gui_mswindows): remove
10374         Fmswindows_shell_execute.
10375         (Fmswindows_shell_execute): moved to win32.c.
10376
10377         * emacs.c (main_1): add syms_of_win32 ().
10378
10379         * win32.c (init_potentially_nonexistent_functions): rewrite in
10380         compiler-friendly terms.
10381         (Fmswindows_shell_execute): move here from gui-msw.c.
10382         (syms_of_win32): new.
10383
10384         * device-msw.c (Fmswindows_printer_list): clean up args to
10385         EnumPrinters.
10386         Don't include tchar under cygwin or mingw.
10387         (msprinter_default_printer): make cygwin-friendly.
10388
10389 2000-07-21  Andy Piper  <andy@xemacs.org>
10390
10391         * glyphs-widget.c (image_instantiator_tree_view): use tab
10392         control's update function.
10393         (layout_property): new function. Retrieve items.
10394
10395         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10396         function. Re-populate the tree view from the pending items.
10397
10398         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10399         is designated the parent if the domain is an image instance. This
10400         is needed so that dirtiness can be cascade up the hierarchy and
10401         thus for layout children to be redisplayed correctly.
10402         (allocate_image_instance): rename glyph -> parent.
10403
10404         * redisplay.h: change redisplay_output_layout signature.
10405
10406         * redisplay-msw.c (mswindows_output_display_block): use domain
10407         arg.
10408
10409         * redisplay-x.c (x_output_display_block): use domain arg.
10410
10411 2000-07-10  Andy Piper  <andy@xemacs.org>
10412
10413         * window.c (Fset_window_configuration): add comment.
10414
10415         * redisplay-output.c (compare_runes):
10416         (redisplay_output_subwindow): redisplay rather than update subwindow.
10417         (redisplay_output_layout): ditto.
10418
10419         * redisplay-msw.c (mswindows_frame_output_end):
10420         (mswindows_frame_output_end): make defer window pos optional.
10421
10422         * lisp.h: add Flast.
10423
10424         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10425         normalize method. Change update method to be for changed
10426         instantiators. Add redisplay method. Change signature of layout
10427         method.
10428         (struct Lisp_Image_Instance): add instantiator.
10429         (IMAGE_INSTANCE_INSTANTIATOR): new.
10430         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10431         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10432         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10433
10434         * glyphs.c:
10435         (find_instantiator_differences): new function.
10436         (Fset_instantiator_property): new convenience function.
10437         (check_image_instance_structure): strictly check for vector
10438         instantiators.
10439         (normalize_image_instantiator): make non-static.
10440         (instantiate_image_instantiator): pass on dest_mask and use new
10441         signatures for image_instance_layout and friends.
10442         (mark_image_instance): mark the instantiator. Mark the subwindow
10443         face not the widget face.
10444         (image_instance_equal): add instantiator.
10445         (image_instance_hash): ditto.
10446         (allocate_image_instance): ditto.
10447         (Fset_image_instance_property): removed.
10448         (Fimage_instance_file_name): ditto.
10449         (Fcolorize_image_instance): ditto.
10450         (image_instance_layout): add offsets to be set.
10451         (update_image_instance): new function. update an image instance
10452         from its changed instantiator.
10453         (inherit_normalize): add dest_mask.
10454         (xbm_normalize): ditto.
10455         (xface_normalize): ditto.
10456         (xpm_normalize): ditto.
10457         (text_update): set_property -> update.
10458         (image_instantiate): use the glyph identity as a hash key, not the
10459         instantiator.
10460         (glyph_width): use new image_instance_layout signature.
10461         (glyph_ascent): ditto.
10462         (glyph_descent): ditto.
10463         (glyph_height): ditto.
10464         (glyph_query_geometry): ressurrect.
10465         (glyph_layout): ditto.
10466         (redisplay_subwindow): update -> redisplay.
10467         (syms_of_glyphs): add Fset_instantiator_property.
10468         (image_instantiator_format_create): set_property -> update.
10469
10470         * glyphs-x.c:
10471         (autodetect_normalize): add dest_maks to signature.
10472         (x_redisplay_subwindow): update -> redisplay.
10473         (x_redisplay_widget): ditto.
10474         (x_button_redisplay): ditto.
10475         (x_progress_gauge_redisplay): ditto.
10476         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10477         stacking order.
10478         (console_type_create_glyphs_x): update -> redisplay.
10479         (image_instantiator_format_create_glyphs_x): ditto.
10480
10481         * glyphs-widget.c:
10482         (check_valid_instantiator): disallow glyphs in the instantiator,
10483         they must now be vectors.
10484         (check_valid_instantiator_list): ditto.
10485         (glyph_instantiator_to_glyph): use internal symbol rather than
10486         intern.
10487         (widget_update): renamed from widget_set_property. Call cascaded
10488         update methods.
10489         (redisplay_widget): renamed from update_widget.
10490         (widget_layout): image_instance_layout now takes position as well
10491         as size.
10492         (widget_normalize): ditto.
10493         (widget_instantiate): ditto.
10494         (tab_control_query_geometry) ditto.:
10495         (tab_control_update): renamed from tab_control_set_property.
10496         (progress_gauge_update): set_property -> update.
10497         (layout_normalize): rewrite so that child instantiators are
10498         normalized also.
10499         (layout_update): new function. Create glyphs from the normalized
10500         children and cope with any other layout keywords. We do not
10501         instantiate children here that will be take care of by
10502         redisplay_output_layout.
10503         (layout_instantiate): call layout_update and not much else.
10504         (layout_post_instantiate): not sure whether this is needed
10505         anymore.
10506         (layout_query_geometry): query glyph geometry rather than
10507         image_instance geometry.
10508         (layout_layout): set offsets from pass in parameters. Use glyph
10509         geometry and layout functions rather than image instance ones.
10510         (native_layout_layout): ditto.
10511         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10512         (image_instantiator_widget): set_property -> update.
10513         (image_instantiator_buttons): ditto.
10514         (image_instantiator_progress_guage): ditto.
10515         (image_instantiator_tab_control): ditto.
10516         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10517         (image_instantiator_layout): add update method.
10518
10519         * glyphs-msw.c (bmp_normalize):
10520         (mswindows_resource_normalize): add dest_mask so that it can be
10521         proprogated by layout_normalize.
10522         (begin_defer_window_pos): make optional because it may not be the
10523         right thing to do and it introduces differences with X.
10524         (mswindows_unmap_subwindow): ditto.
10525         (mswindows_map_subwindow): ditto.
10526         (mswindows_redisplay_subwindow): renamed from
10527         mswindows_update_subwindow.
10528         (mswindows_redisplay_widget): ditto.
10529         (mswindows_button_redisplay): renamed from
10530         mswindows_button_update. Update is now what the instantiation
10531         function does for a changed instantiator.
10532         (mswindows_progress_gauge_instantiate): set the progress value
10533         here if appropriate.
10534         (mswindows_tab_control_redisplay): cope with re-ordering of the
10535         members of the tab widget by simply selecting the new top
10536         widget. This makes things appear ok if you click on a tab.
10537         (mswindows_combo_box_instantiate): image_instance_layout now takes
10538         position as well as size.
10539         (mswindows_progress_gauge_redisplay): renamed from
10540         mswindows_progress_gauge_update.
10541         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10542         (image_instantiator_format_create_glyphs_mswindows): ditto.
10543
10544         * glyphs-eimage.c (jpeg_normalize):
10545         (gif_normalize):
10546         (png_normalize):
10547         (tiff_normalize): add dest_mask so that it can be proprogated by
10548         layout_normalize.
10549
10550         * elhash.c:
10551         (print_hash_table):
10552         (hash_table_weakness_validate):
10553         (decode_hash_table_weakness):
10554         (Fhash_table_weakness):
10555         (Fhash_table_type):
10556         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10557
10558         * console.h (struct console_methods): move update_* to
10559         redisplay_*.
10560
10561 2000-07-20  Ben Wing  <ben@xemacs.org>
10562
10563         * *.[ch] (XSETOBJ): remove unused middle argument.
10564         lisp-disunion.h: correct wrap_object() to one argument.
10565
10566 2000-07-15  Ben Wing  <ben@xemacs.org>
10567
10568         * s/cygwin32.h:
10569         * s/cygwin32.h (CYGWIN_CONV_PATH):
10570         Add missing logb prototype for v1.1.
10571         Use post-b20 names and alias to pre-b20 names when pre-b20.
10572
10573         * s/windowsnt.h: [5].
10574
10575 2000-07-15  Ben Wing  <ben@xemacs.org>
10576
10577         * Makefile.in.in (x_objs):
10578         * Makefile.in.in (sheap_objs):
10579         * Makefile.in.in (objs):
10580         added win32.o, cosmetic cleanups.
10581
10582         * alloc.c (Fmake_byte_code):
10583         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10584         etc. macros which declare their own args now.
10585
10586         * alloc.c (syms_of_alloc):
10587         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10588
10589         * buffer.c:
10590         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10591
10592         * buffer.c (Fget_file_buffer):
10593         Fixed GCPRO problem.
10594
10595         * buffer.c (get_truename_buffer):
10596         Fixed comment about GC checking.
10597
10598         * buffer.c (syms_of_buffer):
10599         Undeclared those dedicated frame funs.
10600         [2].
10601
10602         * buffer.h:
10603         Define convenience macros for internal/external conversions.
10604         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10605         and Qenvironment_variable_encoding for cleaner code.
10606
10607         * bufslots.h:
10608         Remove dedicated-frame; in lisp.
10609
10610         * bytecode.c (funcall_compiled_function):
10611         [1].
10612
10613         * bytecode.c (syms_of_bytecode):
10614         [2].
10615
10616         * console-msw.c:
10617         * console-msw.c (mswindows_show_console): Rewrote.
10618
10619         * console-msw.c (Fmswindows_debugging_output): New.
10620         Sends to OutputDebugString (special MSWin debugger interface).
10621
10622         * console-msw.c (Fmswindows_message_box):
10623         Fixed stupid bugs so it works when called from kill-emacs.
10624
10625         * console-msw.c (syms_of_console_mswindows):
10626         Declare Fmswindows_debugging_output.
10627
10628         * console-msw.h:
10629         New MSWin prototypes.
10630
10631         * console-msw.h (struct mswindows_frame):
10632         New entry last-click-mods for improved button-modifier support.
10633
10634         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10635         New struct entry `popup' with corresponding accessor.
10636
10637         * console-x.c:
10638         * console-x.c (split_up_display_spec):
10639         * console-x.c (get_display_arg_connection):
10640         * console-x.c (x_semi_canonicalize_console_connection):
10641         * console-x.c (x_canonicalize_device_connection):
10642         [[[6]]]: Change char to more specific type.
10643         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10644
10645         * console-x.c (x_semi_canonicalize_console_connection):
10646         * console-x.c (x_canonicalize_device_connection):
10647         [[[9]]]: Fix up error signalling to use new structured error system.
10648
10649         * console-x.h:
10650         [[[4]]]: Define codesys aliases:
10651         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10652         Qx_color_name_encoding, Qx_display_name_encoding.
10653
10654         * console.h (struct console_methods):
10655         New method make_dialog_box_internal supersedes older
10656         popup_dialog_box method.
10657
10658         * data.c:
10659         Define many new errors, part of new structured errors.
10660
10661         * data.c (init_errors_once_early):
10662         * data.c (syms_of_data):
10663         [2].
10664
10665         * device-msw.c (mswindows_init_device):
10666         [[[5]]]: Cleanup to support NT 3.51.
10667
10668         * device-msw.c (decode_devmode): Cleanup.
10669
10670         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10671         * device-msw.c (mswindows_handle_print_dialog_box):
10672         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10673         * device-msw.c (syms_of_device_mswindows):
10674         Delete the dialog box primitives recently introduced by Kirill and
10675         instead interface to general dialog box interface.
10676
10677         * device-x.c:
10678         * device-x.c (compute_x_app_name):
10679         * device-x.c (x_init_device):
10680         * device-x.c (Fx_valid_keysym_name_p):
10681         * device-x.c (Fx_set_font_path):
10682         [6].
10683         [7].
10684
10685         * device.h (wrap_device): New.
10686         First of its kind; meant to replace XSETDEVICE.
10687
10688         * dialog-msw.c: Many file-dialog symbols.
10689
10690         * dialog-msw.c (mswindows_register_popup_frame): New.
10691         * dialog-msw.c (mswindows_is_dialog_msg): New.
10692         For supporting kbd traversal in dialog boxes.
10693
10694         * dialog-msw.c (dialog_proc):
10695         Support hitting ESC in dialogs.
10696
10697         * dialog-msw.c (struct):
10698         Common dialog box errors.
10699
10700         * dialog-msw.c (handle_file_dialog_box): New.
10701         Add file dialog code.
10702
10703         * dialog-msw.c (handle_question_dialog_box):
10704         Redo existing code to support new question dialog syntax.
10705
10706         * dialog-msw.c (console_type_create_dialog_mswindows):
10707         We support new dialog console method.
10708
10709         * dialog-msw.c (syms_of_dialog_mswindows):
10710         * dialog-msw.c (vars_of_dialog_mswindows):
10711         New file dialog symbols, vars.
10712
10713         * dialog-x.c:
10714         * dialog-x.c (maybe_run_dbox_text_callback):
10715         * dialog-x.c (dbox_descriptor_to_widget_value):
10716         * dialog-x.c (x_make_dialog_box_internal):
10717         * dialog-x.c (console_type_create_dialog_x):
10718         Mule-ize entire file.
10719         Redo to support question dialog syntax.
10720         [6].
10721
10722         * dialog.c:
10723         * dialog.c (Fmake_dialog_box_internal):
10724         * dialog.c (syms_of_dialog):
10725         Kill old popup-dialog-box, replace with new primitive.
10726         Just call device method or signal error.
10727
10728         * eldap.c (Fldap_open):
10729         * eldap.c (Fldap_search_basic):
10730         * eldap.c (Fldap_add):
10731         * eldap.c (Fldap_modify):
10732         [1].
10733         [7].
10734
10735         * emacs.c:
10736         * emacs.c (make_arg_list_1):
10737         * emacs.c (make_arg_list):
10738         Mule-ize call to dll_init().
10739         [6].
10740         [8].
10741
10742         * emacs.c (make_argc_argv):
10743         * emacs.c (free_argc_argv):
10744         * emacs.c (init_cmdargs):
10745         * emacs.c (main_1):
10746         * emacs.c (Fkill_emacs):
10747         * emacs.c (Fdump_emacs):
10748         Update comments about what can be used in syms_* etc.
10749         Call init_win32() when necessary.
10750         Fix up MS Win dialog box in kill-buffer to actually work right.
10751         [7].
10752
10753         * eval.c:
10754         * eval.c (For):
10755         * eval.c (Fand):
10756         * eval.c (Fprogn):
10757         * eval.c (Fprog1):
10758         * eval.c (Fprog2):
10759         * eval.c (FletX):
10760         * eval.c (Flet):
10761         * eval.c (condition_case_3):
10762         * eval.c (Feval):
10763         * eval.c (function_argcount):
10764         * eval.c (funcall_lambda):
10765         [1].
10766
10767         * eval.c (type_error): New.
10768         * eval.c (maybe_type_error): New.
10769         * eval.c (continuable_type_error): New.
10770         * eval.c (maybe_continuable_type_error): New.
10771         * eval.c (type_error_with_frob): New.
10772         * eval.c (maybe_type_error_with_frob): New.
10773         * eval.c (continuable_type_error_with_frob): New.
10774         * eval.c (maybe_continuable_type_error_with_frob): New.
10775         New functions for use with structured errors.
10776
10777         * event-Xt.c:
10778         * event-Xt.c (x_event_to_emacs_event):
10779         Buttons are now modifiers too.
10780
10781         * event-Xt.c (emacs_Xt_current_event_timestamp):
10782         Implement new event method.
10783         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10784
10785         * event-msw.c:
10786         * event-msw.c (ntpipe_shove_writer): [5].
10787         * event-msw.c (mswindows_enqueue_mouse_button_event):
10788         * event-msw.c (mswindows_drain_windows_queue):
10789         * event-msw.c (mswindows_wnd_proc): [7].
10790         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10791         * event-msw.c (mswindows_modifier_state):
10792         Throughout: support new button modifiers.
10793
10794         * event-msw.c (emacs_mswindows_current_event_timestamp):
10795         Implement new event method.
10796         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10797
10798         * event-stream.c:
10799         * event-stream.c (event_stream_current_event_timestamp): New.
10800         * event-stream.c (maybe_kbd_translate): New functionality.
10801         * event-stream.c (vars_of_event_stream):
10802         Document new kbd-translate-table functionality.
10803
10804         * event-stream.c (Fcurrent_event_timestamp): New.
10805         New primitive for use in fabricated events.
10806         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10807
10808         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10809
10810         * events.c:
10811         * events.c (Fmake_event):
10812         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10813         [1].
10814         [9].
10815
10816         * events.c (format_event_object): fix gcc warnings.
10817
10818         * events.c (Fevent_timestamp): Document new primitives.
10819
10820         * events.c (TIMESTAMP_HALFSPACE): New.
10821
10822         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10823         comparing timestamps correctly (half-space algorithm).
10824
10825         * events.c (Fevent_modifier_bits): Doc fix.
10826
10827         * events.c (Fevent_modifiers): Major doc addition.
10828         * events.c (event_x_y_pixel_internal): Typo fix.
10829         * events.c (syms_of_events): Declare new primitives.
10830
10831         * events.h:
10832         Update long comment for button modifiers, timestamps.
10833
10834         * events.h (struct event_stream):
10835         New current_event_timestamp method.
10836
10837         * extents.c:
10838         * extents.c (extent_in_region_p):
10839         * extents.c (decode_extent):
10840         * extents.c (Fset_extent_parent):
10841         * extents.c (decode_map_extents_flags):
10842         Fix gcc warnings.
10843         [9].
10844
10845         * extents.c (struct extent_at_arg):
10846         * extents.c (decode_extent_at_flag):
10847         * extents.c (extent_at_mapper):
10848         * extents.c (extent_at_bytind):
10849         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10850         * extents.c (Fextents_at): New primitive. [9].
10851         * extents.c (symbol_to_glyph_layout): [9].
10852         Support new primitive `extents-at'.
10853
10854
10855         * extents.c (get_text_property_bytind):
10856         extent_at_bytind has another arg.
10857         [9].
10858
10859         * extents.c (syms_of_extents): New primitive.
10860
10861         * file-coding.c (Fmake_coding_system): [1].
10862         * file-coding.c (subsidiary_coding_system): fix gcc warning
10863         * file-coding.c (syms_of_file_coding): [2].
10864
10865         * fileio.c (Fexpand_file_name):
10866         * fileio.c (Fsysnetunam):
10867         * fileio.c (Ffile_exists_p):
10868         * fileio.c (Ffile_executable_p):
10869         * fileio.c (Fverify_visited_file_modtime):
10870         Clean up GCPROing.
10871
10872         * fileio.c (syms_of_fileio): [2].
10873
10874         * filelock.c (lock_file_1):
10875         * filelock.c (current_lock_owner):
10876         * filelock.c (lock_if_free):
10877         * filelock.c (lock_file):
10878         * filelock.c (unlock_file):
10879         Clean up GCPROing.
10880
10881         * fns.c (concat): Fix gcc warning.
10882
10883         * fns.c (Fmember):
10884         * fns.c (Fold_member):
10885         * fns.c (Fmemq):
10886         * fns.c (Fold_memq):
10887         * fns.c (memq_no_quit):
10888         * fns.c (Fassoc):
10889         * fns.c (Fold_assoc):
10890         * fns.c (Fassq):
10891         * fns.c (Fold_assq):
10892         * fns.c (assq_no_quit):
10893         * fns.c (Frassoc):
10894         * fns.c (Fold_rassoc):
10895         * fns.c (Frassq):
10896         * fns.c (Fold_rassq):
10897         * fns.c (rassq_no_quit):
10898         * fns.c (Fdelete):
10899         * fns.c (Fold_delete):
10900         * fns.c (Fdelq):
10901         * fns.c (Fold_delq):
10902         * fns.c (delq_no_quit):
10903         * fns.c (Fremassoc):
10904         * fns.c (Fremassq):
10905         * fns.c (remassq_no_quit):
10906         * fns.c (Fremrassoc):
10907         * fns.c (Fremrassq):
10908         * fns.c (remrassq_no_quit):
10909         * fns.c (Freverse):
10910         * fns.c (mapcar1):
10911         [1].
10912
10913         * frame-msw.c (mswindows_init_frame_1):
10914         * frame-msw.c (mswindows_delete_frame):
10915         Register popups with dialog code so keyboard traversing works.
10916
10917         * frame-tty.c (tty_raise_frame_no_select): [1].
10918
10919         * frame-x.c:
10920         * frame-x.c (x_set_frame_text_value):
10921         * frame-x.c (x_set_frame_properties):
10922         * frame-x.c (x_create_widgets):
10923         [7].
10924
10925         * frame.c:
10926         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10927
10928         * frame.h (wrap_frame): New.
10929         Macro like wrap_device.
10930
10931         * general.c:
10932         * general.c (SYMBOL):
10933         * general.c (syms_of_general):
10934         Major reorg.  This is now just a wrapper and symbols themselves
10935         are listed in general-slots.h.
10936
10937         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10938         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10939
10940         * glyphs-msw.c (mswindows_native_layout_instantiate):
10941         Add DS_CONTROL so keyboard traversal will work.
10942
10943         * glyphs-widget.c:
10944         * glyphs-widget.c (syms_of_glyphs_widget):
10945         Move some symbols to general-slots.h.
10946
10947         * glyphs-x.c:
10948         * glyphs-x.c (xbm_instantiate_1):
10949         * glyphs-x.c (x_xbm_instantiate):
10950         * glyphs-x.c (x_xface_instantiate):
10951         * glyphs-x.c (autodetect_instantiate):
10952         * glyphs-x.c (cursor_font_instantiate):
10953         * glyphs-x.c (x_update_widget):
10954         * glyphs-x.c (x_widget_instantiate):
10955         * glyphs.c (bitmap_to_lisp_data):
10956         * glyphs.c (pixmap_to_lisp_data):
10957         [7].
10958
10959         * glyphs.c (syms_of_glyphs):
10960         [2].
10961
10962         * gui-x.c:
10963         * gui-x.c (print_widget_value):
10964         * gui-x.c (menu_separator_style_and_to_external):
10965         * gui-x.c (add_accel_and_to_external):
10966         * gui-x.c (button_item_to_widget_value):
10967         * gui-x.c (gui_items_to_widget_values_1):
10968         * gui-x.c (gui_items_to_widget_values):
10969         * gui-x.c (syms_of_gui_x):
10970         * gui-x.c (vars_of_gui_x):
10971         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10972         [9].
10973
10974         * gui-x.h:
10975         Muleize, prototype changes matching gui-x.c.
10976
10977         * gui.c:
10978         * gui.c (separator_string_p):
10979         * gui.c (gui_item_add_keyval_pair):
10980         * gui.c (make_gui_item_from_keywords_internal):
10981         * gui.c (signal_too_long_error):
10982         * gui.c (parse_gui_item_tree_item):
10983         * gui.c (syms_of_gui):
10984         * gui.c (vars_of_gui):
10985         * gui.h:
10986         menu-no-selection-hook moved here (used by MSWin).
10987         Move some symbols to general-slots.h.
10988         [6].
10989         [9].
10990
10991         * insdel.c (get_buffer_pos_char):
10992         * insdel.c (get_buffer_range_char):
10993         Add GC comments.
10994
10995         * keymap.c (keymap_lookup_directly):
10996         * keymap.c (keymap_store):
10997         * keymap.c (ensure_meta_prefix_char_keymapp):
10998         * keymap.c (describe_map):
10999         * keymap.h:
11000         Support new button modifiers.
11001
11002         * lisp-disunion.h (wrap_object):
11003         * lisp-disunion.h (XSETOBJ):
11004         Rename make_obj to wrap_object.
11005
11006         * lisp-union.h:
11007         * lisp-union.h (make_int):
11008         * lisp-union.h (make_char):
11009         Support wrap_object.
11010
11011         * lisp.h:
11012         * lisp.h (LIST_LOOP):
11013         * lisp.h (EXTERNAL_LIST_LOOP):
11014         * lisp.h (LIST_LOOP_2):
11015         * lisp.h (EXTERNAL_LIST_LOOP_1):
11016         * lisp.h (EXTERNAL_LIST_LOOP_2):
11017         * lisp.h (EXTERNAL_LIST_LOOP_3):
11018         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
11019         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11020         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
11021         * lisp.h (EXTERNAL_ALIST_LOOP_5):
11022         * lisp.h (EXTERNAL_ALIST_LOOP_6):
11023         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
11024         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
11025         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
11026         * lisp.h (struct Lisp_Symbol):
11027         * lisp.h (maybe_continuable_error_with_frob):
11028         Fix up section comments.
11029         Add new types for char to indicate usage.
11030         Delete symbols auto-generated from general-slots.h.
11031         Add prototypes for structured error functions.
11032         Add long comments describing looping macros and change interface
11033         so that lvalues are automatically declared.
11034         Add NO_DECLARE macro in case callers want to declare lvalues
11035         themselves.
11036
11037         * lread.c (read_syntax_error):
11038         * lread.c (continuable_read_syntax_error):
11039         * lread.c (read_structure):
11040         * lread.c (sequence_reader):
11041         * lread.c (read_list_conser):
11042         * lread.c (read_compiled_function):
11043         Rename syntax_error and continuable_syntax_error to avoid clash
11044         with same-named structured error functions.
11045
11046         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11047         * menubar-msw.c (populate_menu_add_item):
11048         * menubar-msw.c (populate_or_checksum_helper):
11049         [5].
11050         [9].
11051
11052         * menubar-x.c:
11053         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11054         Mule-ize whole file.
11055
11056         * menubar.c (Fnormalize_menu_item_name): Add optimization.
11057
11058         * mule-charset.c (Fmake_charset):
11059         * mule-wnnfns.c (Fwnn_set_param):
11060         [1].
11061
11062         * ntproc.c (create_child):
11063         * ntproc.c (Fwin32_set_current_locale):
11064         Add comments portending doom.
11065
11066         * objects-msw.c:
11067         * objects-msw.c (old_font_enum_callback_2):
11068         * objects-msw.c (font_enum_callback_1):
11069         * objects-msw.c (mswindows_enumerate_fonts):
11070         [5].
11071
11072         * objects-x.c:
11073         * objects-x.c (allocate_nearest_color):
11074         * objects-x.c (x_parse_nearest_color):
11075         * objects-x.c (x_initialize_color_instance):
11076         * objects-x.c (x_print_color_instance):
11077         * objects-x.c (x_finalize_color_instance):
11078         * objects-x.c (x_valid_color_name_p):
11079         * objects-x.c (x_initialize_font_instance):
11080         * objects-x.c (x_print_font_instance):
11081         * objects-x.c (valid_x_font_name_p):
11082         * objects-x.c (truename_via_FONT_prop):
11083         * objects-x.c (truename_via_random_props):
11084         * objects-x.c (truename_via_XListFonts):
11085         * objects-x.c (x_font_truename):
11086         * objects-x.c (x_font_instance_truename):
11087         * objects-x.c (x_font_instance_properties):
11088         * objects-x.c (x_list_fonts):
11089         * objects-x.c (x_find_charset_font):
11090         Mule-ize entire file.
11091         [7].
11092
11093         * objects-x.h:
11094         Mule-verify.
11095
11096         * print.c:
11097         * print.c (std_handle_out_external):
11098         * print.c (debug_print_no_newline):
11099         * print.c (syms_of_print):
11100         Output to all debugger kinds in debug-print.
11101         Fix console-output code under MSWin to actually work.
11102
11103         * process-nt.c (send_signal):
11104         * process-nt.c (nt_create_process):
11105         Use newer Unicode macros.
11106
11107         * process-unix.c (unix_create_process):
11108         * process-unix.c (unix_canonicalize_host_name):
11109         * process-unix.c (unix_open_network_stream):
11110         [7].
11111
11112         * scrollbar-x.c:
11113         Mule-verify.
11114
11115         * search.c (syms_of_search):
11116         [2].
11117
11118         * select-msw.c (mswindows_destroy_selection):
11119         Use LIST_LOOP_2.
11120
11121         * select-x.c (symbol_to_x_atom):
11122         [7].
11123
11124         * select.c (syms_of_select):
11125         [2].
11126
11127         * sound.c (Fplay_sound_file):
11128         [7].
11129
11130         * specifier.c:
11131         * specifier.c (decode_specifier_type):
11132         * specifier.c (Fvalid_specifier_locale_type_p):
11133         * specifier.c (check_valid_locale_or_locale_type):
11134         * specifier.c (decode_locale):
11135         * specifier.c (decode_locale_type):
11136         * specifier.c (decode_locale_list):
11137         * specifier.c (check_valid_domain):
11138         * specifier.c (decode_specifier_tag_set):
11139         * specifier.c (Fcanonicalize_tag_set):
11140         * specifier.c (Fdefine_specifier_tag):
11141         * specifier.c (Fspecifier_tag_predicate):
11142         * specifier.c (check_valid_inst_list):
11143         * specifier.c (check_valid_spec_list):
11144         * specifier.c (decode_how_to_add_specification):
11145         * specifier.c (check_modifiable_specifier):
11146         * specifier.c (specifier_add_spec):
11147         * specifier.c (boolean_validate):
11148         * specifier.c (display_table_validate):
11149         [9].
11150
11151         * specifier.c (syms_of_specifier):
11152         Move some symbols to general-slots.h.
11153         [2].
11154
11155         * symbols.c:
11156         * symbols.c (Fmapatoms):
11157         * symbols.c (Fapropos_internal):
11158         Add GCPROs.
11159
11160         * symbols.c (set_default_buffer_slot_variable):
11161         * symbols.c (set_default_console_slot_variable):
11162         [1].
11163
11164         * symbols.c (defsymbol_massage_name_1):
11165         * symbols.c (defkeyword_massage_name):
11166         * symbols.c (deferror_1):
11167         * symbols.c (deferror):
11168         * symbols.c (deferror_massage_name_and_message):
11169         * symeval.h:
11170         * symeval.h (DEFSYMBOL):
11171         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
11172
11173         * symbols.c (syms_of_symbols):
11174         [2].
11175
11176         * symsinit.h:
11177         * symsinit.h (init_win32): New.
11178         Also new is syms_of_dialog_mswindows.
11179
11180         * syswindows.h:
11181         Add new Unicode macros, missing Cygwin wide-char functions,
11182         convenience conversion macros for Qmswindows_tstr, macros for
11183         encapsulating required MSWin <-> Cygwin filename conversions,
11184         prototype for dynamically-extracted (not in NT 3.51) functions.
11185
11186         * toolbar-x.c:
11187         Mule-verify.
11188
11189         * tooltalk.c (Fadd_tooltalk_message_arg):
11190         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11191         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11192         [7].
11193
11194         * tooltalk.c (syms_of_tooltalk):
11195         [2].
11196
11197         * unexnt.c:
11198         * unexnt.c (unexec):
11199         Fix up headers, declaration of unexec() to be more standard.
11200
11201 2000-07-20  Martin Buchholz  <martin@xemacs.org>
11202
11203         * offix.h: Revert change to guard macros - they're used in offix.c!
11204
11205 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11206
11207         * lisp.h: Defsubred Fdelete.
11208
11209         * console-msw.h:  (msprinter_default_printer): Added.
11210
11211         * console-msw.c (msprinter_canonicalize_console_connection):
11212         (msprinter_canonicalize_device_connection): Added.
11213
11214         * device-msw.c (msprinter_default_printer):
11215         (Fmswingows_get_default_printer):
11216         (signal_enum_priner_error):
11217         (Fmswingows_printer_list): Added.
11218
11219 2000-07-19  Martin Buchholz <martin@xemacs.org>
11220
11221         * XEmacs 21.2.35 is released.
11222
11223 2000-07-19  Martin Buchholz  <martin@xemacs.org>
11224
11225         * select-x.c (x_handle_selection_request):
11226         Text selected in xemacs and pasted into xterm failed to appear.
11227         Spelling fixes and cosmetic changes.
11228
11229 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11230
11231         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
11232         XEmacs frame (fix for doubling chars in dialog boxes).
11233
11234 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11235
11236         * select.c (select_convert_in, select_convert_out):
11237         Don't call intern() every time.
11238
11239         * select.c (Qselect_convert_in, Qselect_convert_out): New.
11240         * select.c (vars_of_select): Initialise them.
11241
11242 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11243
11244         * select.c (selection-coercible-types): New.
11245
11246         * select.c (own-selection-internal):
11247         * select.c (get-selection-internal):
11248         MULE bug fix - these should default to COMPOUND_TEXT and not
11249         STRING for MULE. I think.
11250
11251         * select.c (select_convert_out): Use selection-coercible-types
11252         to find types that we can attempt to perform coercions on.
11253
11254 2000-07-18  Martin Buchholz  <martin@xemacs.org>
11255
11256         * mule-wnnfns.c:
11257         * mule-canna.c:
11258         Add coding: cookie to identify encoding.
11259
11260         * mule-canna.c (CANNA_mode_keys): make static.
11261         Use proper prototypes, even for functions of no arguments.
11262         Remove external prototype for Fding().
11263
11264         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11265
11266         * select.c (syms_of_select): Add missing DEFSUBR.
11267
11268 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11269
11270         * select.c (get_selection_internal, own_selection_internal):
11271         Make the type default to STRING, rather than placing a nil type
11272         into Vselection_alist.
11273
11274 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11275
11276         * gpmevent.c (tty_selection_exists_p):
11277         * gpmevent.c (tty_own_selection):
11278         Updated parameter lists.
11279
11280 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11281
11282         * select.h (selection-alist): Removed declaration.
11283
11284         * select.h (get_local_selection):
11285         * select.c (get_local_selection):
11286         Made static.
11287
11288         * select.h (convert_selection): Removed declaration.
11289         * select.c (convert_selection): Removed.
11290         This function belongs in Lisp.
11291
11292         * select.h (select_convert_in): Declare.
11293         * select.h (select_convert_out): Declare.
11294         * select.c (select_convert_in): New.
11295         * select.c (select_convert_out): New.
11296         New conversion functions for other files to call.
11297
11298         * select.h (select_notify_buffer_kill): Declare.
11299         * select.c (select_notify_buffer_kill): New.
11300         New functions that get called from kill-buffer.
11301
11302         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11303         X-specific lisp code.
11304
11305         * select.h: Declare some of the lisp-visible functions for
11306         external use.
11307
11308         * select.c (clean_local_selection_data): Removed. This was
11309         a disgusting function, and previously should have been in
11310         select-x.c in any case. The functionality is now provided
11311         in select-convert-from-integer (select.el).
11312
11313         * select.c (available-selection-types): Fixed stupidity where
11314         INTEGER and ATOM got added twice. Also add STRING when we see an
11315         extent.
11316
11317         * select.c (get-selection-internal): Removed symbol stripping. No
11318         longer causes conversion when data comes from the internal cache.
11319
11320         * select.c (syms_of_select): Added new functions.
11321
11322         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11323         error checking - previously this called abort!
11324
11325         * select-x.c (x_own_selection): Changed comment.
11326
11327         * select-x.c (x_handle_selection_request): Use select_convert_out.
11328         Don't mess with selection-alist; it's an internal variable of select.c.
11329
11330         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11331
11332         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11333         rather than messing with selection-alist.
11334
11335         * select-msw.c (mswindows_get_foreign_selection):
11336         Use TO_INTERNAL_FORMAT rather than hacking.
11337
11338 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11339
11340         * process-unix.c (unix_open_multicast_group):
11341         (unix_open_multicast_group): Remove useless casts.
11342
11343 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11344
11345         * sound.c (Fplay_sound): Fix `unused variable' warning.
11346
11347         * emacs.c (main): Use correct type for _environ on SCO5.
11348
11349 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11350
11351         * console.h (own_selection_method):
11352         * console.h (selection_exists_p_method):
11353         * console.h (available_selection_types_method): New.
11354         * console.h (register_selection_data_type_method): New.
11355         * console.h (selection_data_type_name): New.
11356
11357         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11358         function & alist to track GlobalAlloc()'d handles that need
11359         releasing when the clipboard data gets replaced or emptied.
11360
11361         * event-msw.c (mswindows_wnd_proc): Call it.
11362
11363         * lisp.h, general.c (Qappend): New symbol representing a
11364         `how-to-add' mode.
11365
11366         * select.c (own-selection-internal):
11367         * select.c (selection-exists-p):
11368         * select.c (available-selection-types): New.
11369         * select.c (register-selection-data-type): New.
11370         * select.c (selection-data-type-name): New.  New functions to deal
11371         with device-specific selection data formats.
11372         * select.c (selection-converter-out-alist): Renamed.
11373         * select.c (selection-converter-in-alist): New.
11374         * select.c (selection-appender-alist): New.  Added new alists.
11375         * select.c (syms_of_select, vars_of_select): Added new symbols &
11376         variables.
11377         * select.c (get_local_selection): Split.
11378         * select.c: Removed spurious type checking - selections may now be
11379         of any type, not just strings.
11380         * select.c (own-selection-internal):
11381
11382         * select.h, select.c (convert_selection): New. Created
11383         convert_selection() function based on get_local_selection().
11384         * select.h, select.c (QCF_*): New symbols representing mswindows
11385         clipboard formats.
11386         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11387         symbols representing `how-to-add' modes.
11388
11389         * select-msw.c (x_sym_p): New.
11390         * select-msw.c (symbol_to_ms_cf): New.
11391         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11392         symbols & clipboard formats. Can also handle string names.
11393         * select-msw.c (mswindows_own_selection):
11394         * select-msw.c (mswindows_selection_exists_p):
11395         Added `data-type' parameter. Use it.
11396         * select-msw.c (mswindows_available_selection_types): New.
11397         * select-msw.c (mswindows_register_selection_data_type): New.
11398         * select-msw.c (mswindows_selection_data_type_name): New.
11399         * select-msw.c (mswindows_own_selection):
11400         * select-msw.c (mswindows_get_foreign_selection):
11401         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11402         * select-msw.c (console_create_select_mswindows): Added new methods.
11403         * select-msw.c (mswindows_destroy_selection): New.
11404         * select-msw.c (Vhandle_alist): New list.
11405         * select-msw.c (mswindows_own_selection):
11406
11407         * select-x.c (x_own_selection):
11408         * select-x.c (x_selection_exists_p):
11409         * select-x.c: Added some comments about maybe using new
11410         functionality.
11411         * select-x.c (x_own_selection):
11412
11413         * specifier.c: Remove definition of Qappend (now in general.c)
11414         * specifier.c (syms_of_specifier): Remove Qappend.
11415
11416 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11417
11418         * config.h.in: Add socklen_t.
11419
11420         * s/decosf4-0.h: No special compiler flags needed or desired.
11421         In particular, undefine _BSD for DEC OSF 4.0.
11422
11423 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11424
11425         * redisplay-msw.c (msprinter_frame_output_end): Added.
11426         (console_type_create_redisplay_mswindows): Referred the above.
11427
11428         * frame.c (setup_frame_without_minibuffer): Do not create a
11429         default minibuffer frame on a printer device.
11430
11431         * frame-msw.c (apply_dc_geometry): Added.
11432         (msprinter_start_page):
11433         (msprinter_init_frame_3):
11434         (msprinter_eject_page): Use it.
11435
11436         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11437         and removed residual duplex and orientation properties.
11438
11439 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11440
11441         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11442
11443         * unexalpha.c: Remove system prototypes from C sources!
11444
11445 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11446
11447         * eval.c: Remove references to M-x edit-options in DEFUNs for
11448         `defvar' and `defconst'.
11449
11450 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11451
11452         * config.h.in: Remove SMART_INCLUDE hackery.
11453
11454         PostgreSQL hacking:
11455         * config.h.in: Don't use SMART_INCLUDE.
11456
11457         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11458         * inline.c: Simply #include "postgresql.h"
11459         * postgresql.c:
11460         - Don't use SMART_INCLUDE
11461         - Use simply "const".
11462         - Use standard doc string conventions.
11463         - Use correct type for result of PQstatus.
11464
11465 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11466
11467         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11468
11469         C++ compilation changes.
11470         * config.h.in (EXTERN_C): Define.
11471         * config.h.in (not): This is also a C++ keyword.
11472         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11473         * cm.c: Use EXTERN_C.
11474         * redisplay-tty.c: Use EXTERN_C.
11475         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11476
11477 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11478
11479         * general.c: Remove duplicate definition for Qfunction.
11480
11481 2000-07-08  Ben Wing  <ben@xemacs.org>
11482
11483         * device-msw.c (msprinter_init_device):
11484         * device-msw.c (sync_printer_with_devmode):
11485         * device-msw.c (handle_devmode_changes):
11486         * device-msw.c (print_dialog_worker):
11487         * device-msw.c (Fmsprinter_apply_settings):
11488         * device-msw.c (hash_devmode):
11489         * device-msw.c (Fmsprinter_settings_despecialize):
11490         use Qmswindows_tstr, not Qctext.
11491
11492         * vm-limit.c (check_memory_limits):
11493         avoid infinite loop printing warning messages.
11494
11495 2000-07-05  Craig Lanning  <lanning@scra.org>
11496
11497         * Makefile.in.in: Add support for including the Windows resources
11498         when building with the cygwin and mingw targets.
11499
11500         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11501         not set or not correct.
11502         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11503         (init_initial_directory): Don't try to use $PWD on the
11504         WIN32_NATIVE target.
11505
11506         * s\cygwin32.h:
11507         [[Add -mwindows to eliminate console window.]] not required --ben
11508         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11509         (MAIL_USE_POP): removed; now handled by configure.
11510
11511         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11512         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11513         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11514         (MAIL_USE_POP): removed; now handled by configure.
11515         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11516         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11517         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11518         constant string.
11519         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11520         up from <winsock.h> via systime.h.
11521         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11522         (getpagesize): from Dan Holmsand, added.
11523         Added #endif which was left dangling by Ben's mega patch; added
11524         comment to help prevent this in the future.
11525
11526         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11527
11528 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11529
11530         * console-msw.h (struct mswindows_device): Removed unnecessary
11531         cached device geometry values.
11532         Added update_tick and an accessor macro.
11533         (Lisp_Devmode): Added lrecord declaration.
11534         (struct msprinter_device): Contain devmode as a Lisp object.
11535         Added mswindows_get_selected_frame_hwnd();
11536
11537         * console.h (struct console_methods): Indentation nitpicking.
11538
11539         * device-msw.c (mswindows_init_device): Do not initialize geometry
11540         cache. Initialize update tick.
11541         (mswindows_device_system_metrics): Ask the device for its geometry.
11542         (global_free_2_maybe):
11543         (devmode_to_hglobal):
11544         (handle_printer_changes):
11545         (ensure_not_printing):
11546         (print_dialog_worker):
11547         (Fmsprinter_print_setup_dialog):
11548         (Fmsprinter_print_dialog):
11549         (plist_get_margin):
11550         (plist_set_margin):
11551         (Fmsprinter_page_setup_dialog): Added functions.
11552         (sync_printer_with_devmode):
11553         (handle_devmode_changes):
11554         (Fmsprinter_get_settings):
11555         (Fmsprinter_select_settings):
11556         (Fmsprinter_apply_settings):
11557         (allocate_devmode):
11558         (Fmsprinter_settings_copy):
11559         (Fmsprinter_settings_despecialize):
11560         (print_devmode):
11561         (finalize_devmode):
11562         (equal_devmode):
11563         (hash_devmode): Added functions
11564         (syms_of_device_mswindows): Init devmode lrecord class.
11565
11566         * device.h: Added an exfun for find-device.
11567
11568         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11569         geometry; although, recreate the device compatible DC.
11570
11571         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11572         (msprinter_init_frame_3):
11573         (msprinter_frame_property):
11574         (msprinter_internal_frame_property_p):
11575         (msprinter_frame_properties):
11576         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11577         print job properties (will move to device settings).
11578
11579         * lisp.h: Added symbols.
11580
11581         * general.c (syms_of_general): Declared them.
11582
11583         * hash.c (string_hash): Added.
11584
11585         * lrecord.h (lrecord_type): Added devmode lrecord type.
11586
11587 2000-07-02  Mike Sperber <mike@xemacs.org>
11588
11589         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11590         FreeBSD 4.0.
11591
11592 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11593
11594         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11595         integer.
11596
11597 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11598
11599         * data.c (Fstring_to_number): Don't recognize floating point if
11600         base is not 10.
11601
11602 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11603
11604         * glyphs-widget.c (tab_control_query_geometry):
11605         (widget_query_geometry):
11606         (button_query_geometry):
11607         * glyphs.c (text_query_geometry):
11608         Enforce type correctness.
11609
11610 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11611
11612         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11613         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11614
11615 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11616
11617         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11618         conflicts with gcc's fixincluded version of FOO.h.
11619
11620         * glyphs.h (image_instance_geometry): Remove trailing `,'
11621
11622 2000-06-08  Mike Alexander  <mta@arbortext.com>
11623
11624         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11625         (shove_thread): Don't write the same output twice
11626         (make_ntpipe_output_stream): Increase priority of shove thread
11627         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11628         chance to run
11629         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11630         it.
11631
11632 2000-06-12  Ben Wing  <ben@xemacs.org>
11633
11634         * s\mingw32.h (sigset):
11635         * s\windowsnt.h (sigset):
11636         rename msw_ to mswindows_ for consistency with general convention.
11637
11638 2000-06-12  Ben Wing  <ben@xemacs.org>
11639
11640         * console-msw.c:
11641         * console-msw.c (mswindows_get_console_hwnd):
11642         * console-msw.c (mswindows_ensure_console_allocated):
11643         * console-msw.c (mswindows_hide_console):
11644         * console-msw.c (mswindows_show_console):
11645         * console-msw.c (mswindows_ensure_console_buffered):
11646         * console-msw.c (mswindows_output_console_string):
11647         * console-msw.c (mswindows_windows9x_p):
11648         * console-msw.h:
11649         * device-msw.c (mswindows_get_workspace_coords):
11650         * device-msw.c (mswindows_device_system_metrics):
11651         * dialog-msw.c (mswindows_popup_dialog_box):
11652         * event-msw.c (mswindows_wnd_proc):
11653         * frame-msw.c (mswindows_size_frame_internal):
11654         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11655         * menubar-msw.c (displayable_menu_item):
11656         * menubar-msw.c (mswindows_char_is_accelerator):
11657         * nt.c:
11658         * nt.c (mswindows_sigset):
11659         * nt.c (mswindows_sigrelse):
11660         * nt.c (mswindows_sigpause):
11661         * nt.c (mswindows_raise):
11662         * nt.c (timer_proc):
11663         * ntproc.c:
11664         * ntproc.c (find_child_console):
11665         * ntproc.c (sys_kill):
11666         * print.c:
11667         * print.c (std_handle_out_external):
11668         * process-nt.c (find_child_console):
11669         * process-nt.c (send_signal_the_95_way):
11670         * process-nt.c (ensure_console_window_exists):
11671         * process-nt.c (nt_create_process):
11672         * syssignal.h:
11673         rename msw_ to mswindows_ for consistency with general convention.
11674
11675         * emacs.c:
11676         * dumper.c:
11677         include nt.h, not syswindows.h.
11678
11679         * nt.c (mswindows_fstat):
11680         * nt.c (mswindows_stat):
11681         prefix mswindows_ instead of attempting to directly override the
11682         library functions.  fix declarations.
11683
11684         * nt.h:
11685         include syswindows.h.  move some sysdep.h stuff here.
11686
11687         * ntheap.h:
11688         include syswindows.h, not <windows.h>.
11689
11690         * ntplay.c:
11691         clean up headers.
11692
11693         * sysdep.c:
11694         clean up headers.
11695
11696         * sysdep.c (sys_fstat):
11697         * sysdep.c (sys_stat):
11698         call mswindows versions when appropriate.
11699
11700         * sysdep.h:
11701         move mswin decls to nt.h.
11702
11703         * syswindows.h:
11704         add long comment describing appropriate use of the various windows
11705         headers.
11706
11707 2000-06-11  Ben Wing  <ben@xemacs.org>
11708
11709         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11710
11711 2000-06-10  Ben Wing  <ben@xemacs.org>
11712
11713         * Makefile.in.in (release):
11714         Correction to make sure xemacs.exe always dumped when correct.
11715
11716         * alloca.c:
11717         * balloon_help.c:
11718         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11719
11720         * buffer.c (set_buffer_internal):
11721         [[[[2]]]]: Remove HAVE_FEP code.
11722
11723         * buffer.c (init_initial_directory):
11724         [3].
11725
11726         * bytecode.c:
11727         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11728         individual files.
11729
11730         * callproc.c:
11731         * callproc.c (call_process_cleanup):
11732         * callproc.c (Fold_call_process_internal):
11733         * callproc.c (child_setup):
11734         * callproc.c (getenv_internal):
11735         * callproc.c (init_callproc):
11736         * callproc.c (vars_of_callproc):
11737         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11738         __CYGWIN32__ -> CYGWIN.
11739         DOS_NT -> WIN32_NATIVE.
11740         Remove MSDOS support/references, converting to WIN32_NATIVE
11741           where correct.
11742         __MINGW32__ -> MINGW.
11743         Fix windows.h includes.
11744         Remove bogus HAVE_NTGUI.
11745
11746         * config.h.in:
11747         [2].
11748
11749         * console-msw.c:
11750         mswindows_message_outputted added for use in allowing startup
11751         errors on the console to be seen.
11752
11753         * console-msw.c (msw_ensure_console_allocated):
11754         * console-msw.c (msw_output_console_string):
11755         * console-msw.c (DHEADER):
11756         * console-msw.c (DOPAQUE_DATA):
11757         * console-msw.c (DEVENT):
11758         * console-msw.c (DCONS):
11759         * console-msw.c (DCONSCDR):
11760         * console-msw.c (DSTRING):
11761         * console-msw.c (DVECTOR):
11762         * console-msw.c (DSYMBOL):
11763         * console-msw.c (DSYMNAME):
11764         Fix warnings.
11765
11766         * console-stream.c (stream_init_console):
11767         Fix text/binary problems.
11768
11769         * device-msw.c:
11770         * device-msw.c (mswindows_finish_init_device):
11771         * device-msw.c (mswindows_delete_device):
11772         [1].
11773
11774         * device.c (handle_asynch_device_change):
11775         [3].
11776
11777         * dgif_lib.c:
11778         * dgif_lib.c (DGifOpenFileName):
11779         * dgif_lib.c (DGifOpenFileHandle):
11780         * dgif_lib.c (DGifGetLine):
11781         * dgif_lib.c (DGifGetPixel):
11782         Added config.h/lisp.h, fix up includes.
11783         [1].
11784
11785         * dired-msw.c:
11786         [4].
11787
11788         * dired.c:
11789         * dired.c (file_name_completion):
11790         * dired.c (Ffile_attributes):
11791         * dired.c (syms_of_dired):
11792         [1].
11793
11794         * dumper.c:
11795         * dumper.c (pdump_file_unmap):
11796         * dumper.c (pdump_load):
11797         [1].
11798
11799         * editfns.c:
11800         * editfns.c (Ftemp_directory):
11801         * editfns.c (user_login_name):
11802         * editfns.c (Fuser_real_login_name):
11803         * editfns.c (get_home_directory):
11804         [1].
11805
11806         * elhash.c (finish_marking_weak_hash_tables):
11807         [[[[5]]]]: Fix GCC warnings.
11808
11809         * emacs.c:
11810         * emacs.c (mswindows_handle_hardware_exceptions):
11811         * emacs.c (make_arg_list_1):
11812         * emacs.c (main_1):
11813         * emacs.c (Fkill_emacs):
11814         * emacs.c (Fdump_emacs):
11815         [1].
11816         Fix problems with nested crashes, add long comment.
11817
11818         * event-Xt.c (init_event_Xt_late):
11819         [1].
11820
11821         * event-msw.c:
11822         * event-msw.c (mswindows_dde_callback):
11823         * event-msw.c (mswindows_handle_sticky_modifiers):
11824         * event-msw.c (mswindows_wnd_proc):
11825         [1].
11826         [5].
11827
11828         * events.c (character_to_event):
11829         [1].
11830
11831         * fileio.c:
11832         * fileio.c (Ffile_name_directory):
11833         * fileio.c (Ffile_name_nondirectory):
11834         * fileio.c (directory_file_name):
11835         * fileio.c (Fexpand_file_name):
11836         * fileio.c (Fsubstitute_in_file_name):
11837         * fileio.c (Ffile_name_absolute_p):
11838         * fileio.c (check_executable):
11839         * fileio.c (Ffile_readable_p):
11840         * fileio.c (Ffile_accessible_directory_p):
11841         * fileio.c (Ffile_modes):
11842         * fileio.c (Funix_sync):
11843         * fileio.c (vars_of_fileio):
11844         [1]. [4].
11845
11846         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11847
11848         Expand getdefdir defn.
11849         Fix bogus rename() comment.
11850
11851         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11852         to use standard XEmacs include files, e.g. sysfile.h, rather
11853         than system-specific includes.
11854
11855         * fns.c:
11856         * fns.c (Fsubseq):
11857         [5]. [6].
11858
11859         * frame.c (vars_of_frame):
11860         [1].
11861
11862         * getloadavg.c:
11863         * getloadavg.c (getloadavg):
11864         [1]. [6].
11865         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11866         (We don't use it elsewhere in the code; just add a comment.)
11867
11868         * gif_io.c:
11869         [6].
11870         Add config.h.
11871
11872         * glyphs-msw.c:
11873         * glyphs-msw.c (mswindows_resource_instantiate):
11874         [1].
11875
11876         * glyphs-x.c (x_native_layout_instantiate):
11877         [5].
11878
11879         * gui-msw.c (Fmswindows_shell_execute):
11880         [1].
11881
11882         * insdel.c:
11883         [4].
11884
11885         * lisp.h:
11886         [4]. [5].
11887
11888         * lread.c (locate_file_in_directory_mapper):
11889         [1].
11890
11891         * lstream.c:
11892         [4].
11893
11894         * mem-limits.h:
11895         * mem-limits.h (get_lim_data):
11896         [1].
11897
11898         * menubar-msw.c:
11899         [4].
11900
11901         * ndir.h:
11902         [1].
11903
11904         * nt.c:
11905         * nt.c (getwd):
11906         * nt.c (closedir):
11907         * nt.c (rva_to_section):
11908         * nt.c (mswindows_executable_type):
11909         [1]. [6].
11910         Fix closedir() defn.
11911
11912         * nt.h:
11913         [[[[8]]]]: *_OK defs moved to sysfile.h.
11914
11915         * ntproc.c:
11916         [6]. [7].
11917
11918         * objects-x.c:
11919         [4].
11920
11921         * print.c:
11922         * print.c (std_handle_out_external):
11923         [1]. [4].
11924
11925         * process-nt.c:
11926         * process-nt.c (nt_create_process):
11927         [6].
11928         try to fix process quoting somewhat.
11929
11930         * process-unix.c (unix_create_process):
11931         [1].
11932
11933         * process.c:
11934         * process.c (vars_of_process):
11935         Add Vnull_device.
11936
11937         * process.h:
11938         [1].
11939
11940         * realpath.c:
11941         * realpath.c (xrealpath):
11942         [1].
11943
11944         * redisplay-tty.c (init_tty_for_redisplay):
11945         [3].
11946
11947         * redisplay.c:
11948         [4]. [6].
11949
11950         * scrollbar-msw.c:
11951         [4].
11952
11953         * sheap.c:
11954         * sheap.c (more_static_core):
11955         * sheap.c (report_sheap_usage):
11956         [5]. [6].
11957
11958         * signal.c:
11959         * signal.c (alarm_signal):
11960         [1]. [6].
11961
11962         * sound.c:
11963         [6].
11964
11965         * strftime.c:
11966         * strftime.c (zone_name):
11967         [1]. [5].
11968
11969         * symsinit.h (init_sunpro):
11970         [1].
11971
11972         * syscommctrl.h:
11973         commctrl.h not in Cygwin b20.1.
11974
11975         * sysdep.c:
11976         * sysdep.c (endif):
11977         * sysdep.c (sys_subshell):
11978         * sysdep.c (init_baud_rate):
11979         * sysdep.c (emacs_get_tty):
11980         * sysdep.c (emacs_set_tty):
11981         * sysdep.c (tty_init_sys_modes_on_device):
11982         * sysdep.c (init_system_name):
11983         * sysdep.c (sys_open):
11984         * sysdep.c (interruptible_open):
11985         * sysdep.c (sys_fopen):
11986         * sysdep.c (sys_mkdir):
11987         * sysdep.c (sys_rename):
11988         * sysdep.c (get_process_times_1):
11989         [1]. [6].
11990
11991         * sysdep.h:
11992         [1].
11993
11994         * sysdir.h:
11995         * sysdir.h (DIRENTRY_NONEMPTY):
11996         [1]. [6].
11997
11998         * sysdll.c (dll_init):
11999         * sysdll.h:
12000         [1].
12001
12002         * sysfile.h:
12003         [1]. [6]. [8].
12004         added text/binary defs.
12005
12006         * sysfloat.h:
12007         [1].
12008
12009         * sysproc.h:
12010         * sysproc.h (EDESTADDRREQ):
12011         * sysproc.h (poll_fds_for_input):
12012         [1]. [6].
12013
12014         * syspwd.h:
12015         [6].
12016
12017         * syssignal.h:
12018         [1].
12019
12020         * systime.h:
12021         [1]. [6].
12022
12023         * systty.h:
12024         [1].
12025
12026         * syswindows.h:
12027         [1].
12028         Always define WIN32_LEAN_AND_MEAN.
12029
12030         * unexcw.c (unexec):
12031         [5].
12032
12033         * unexec.c:
12034         * unexec.c (copy_text_and_data):
12035         * unexec.c (adjust_lnnoptrs):
12036         [1].
12037
12038         * unexnt.c:
12039         * unexnt.c (_start):
12040         [1].
12041
12042 2000-06-07  Ben Wing  <ben@xemacs.org>
12043
12044         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
12045         was used only as a model.  We've long since extracted any useful
12046         logic or code out of this. (I just did an exhaustive search.)
12047
12048         * s\msdos.h: Removed.
12049
12050         * s\windows95.h: Removed.
12051
12052 2000-06-10  Ben Wing  <ben@xemacs.org>
12053
12054         * s\cygwin32.h:
12055         [1]. [5].
12056         Don't use extern with fun defs.
12057
12058         * s\mingw32.h:
12059         [1]. [7].
12060         Remove nt\inc include.
12061         Remove getdisk, getdefdir. (The former is unused, the latter
12062         expanded in fileio.h.)
12063
12064         * s\windowsnt.h:
12065         * s\windowsnt.h (WIN32_NATIVE):
12066         * s\windowsnt.h (HAVE_STRCASECMP):
12067         [1]. [7].
12068         Add long comment about preprocessor changes.
12069         Remove getdisk, getdefdir. (The former is unused, the latter
12070         expanded in fileio.h.)
12071
12072 2000-06-10  Ben Wing  <ben@xemacs.org>
12073
12074         * m\arm.h:
12075         * m\delta.h:
12076         * m\intel386.h:
12077         * m\sequent.h:
12078         * m\template.h:
12079         * m\windowsnt.h:
12080         [1].
12081         Remove bogus/unused NO_SOCK_SIGIO.
12082
12083 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
12084
12085         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
12086         not an Emchar.
12087
12088 2000-06-04  Mike Sperber <mike@xemacs.org>
12089
12090         * casetab.c (set_case_table): For `set-standard-case-table',
12091         actually deposit the new case tables where the rest of XEmacs can
12092         see them.
12093
12094 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
12095
12096         * data.c (Faset): Don't cast XCHAR() to unsigned char.
12097
12098 2000-06-05  Ben Wing  <ben@xemacs.org>
12099
12100         * callproc.c (child_setup): Don't do close_load_descs() under
12101         MS Windows.  Put in a comment explaining why.
12102
12103 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
12104
12105         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
12106         Toolkit shell" which breaks `kill-compilation' on Windows NT
12107         native, retaining STDERR handling improvements.
12108
12109 2000-06-01  Andreas Jaeger  <aj@suse.de>
12110
12111         * s/s390.h: Support for S390, based on a patch by Martin
12112         Schwidefsky <schwidefsky@de.ibm.com>.
12113
12114 2000-05-30  Andy Piper  <andy@xemacs.org>
12115
12116         * window.c (allocate_window):
12117         (make_dummy_parent):
12118         (Fset_window_configuration): use new hashtable type.
12119
12120         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
12121         (struct image_instantiator_methods):
12122         (struct Lisp_Image_Instance): make instance geometry signed.
12123
12124         * glyphs.c (instantiate_image_instantiator):
12125         (image_instance_query_geometry):
12126         (image_instance_layout):
12127         (image_instance_layout):
12128         (query_string_geometry):
12129         (text_query_geometry):
12130         (image_instantiate):
12131         (image_instantiate):
12132         (cache_subwindow_instance_in_frame_maybe):
12133         (subwindow_query_geometry): make instance geometry signed.
12134
12135         * glyphs-widget.c (widget_query_geometry):
12136         (widget_layout):
12137         (button_query_geometry):
12138         (tree_view_query_geometry):
12139         (tab_control_query_geometry):
12140         (layout_query_geometry):
12141         (layout_layout):
12142         (native_layout_layout): make instance geometry signed.
12143
12144 2000-05-29  Olivier Galibert  <galibert@pobox.com>
12145
12146         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
12147         constant.
12148
12149         * general.c (syms_of_general): Add Qfull_assoc symbol.
12150
12151         * data.c (finish_marking_weak_lists): Mark full-assoc lists
12152         correctly.
12153         (decode_weak_list_type): Decode full-assoc type.
12154         (encode_weak_list_type): Encode full-assoc type.
12155         (Fmake_weak_list): Update doc string.
12156
12157 2000-05-30  Andy Piper  <andy@xemacs.org>
12158
12159         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
12160
12161         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
12162         (decode_hash_table_weakness): ditto.
12163         (Fhash_table_weakness): ditto.
12164         (Fhash_table_type): ditto.
12165         (finish_marking_weak_hash_tables): ditto.
12166         (hash_table_weakness_validate): ditto.
12167         (syms_of_elhash): ditto.
12168
12169 2000-05-28  Martin Buchholz <martin@xemacs.org>
12170
12171         * XEmacs 21.2.34 is released.
12172
12173 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12174
12175         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
12176         start cache.
12177         (updating_line_start_cache): Gone.
12178         (regenerate_window): Replace resetting of VERTICAL_CLIP by
12179         generic code to force a minimum of 1 line laid out in the
12180         CMOTION_DISP case.
12181
12182 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12183
12184         * glyphs.c (instantiate_image_instantiator): Check for initialized
12185         height & width no longer special cases IMAGE_NOTHING.
12186         (nothing_instantiate): Set height and width of instance.
12187
12188 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12189
12190         * unexelf.c (unexec): Search for ".data" section.
12191         Initialize new_data2_offset from old_data_index.
12192         Remove redundant check for ElfW.
12193
12194 2000-05-23  Andy Piper  <andy@xemacs.org>
12195
12196         * glyphs.c (get_image_instantiator_governing_domain): allow more
12197         specific domains as the governing domain rather than expecting an
12198         exact match. This fixes problems with layouts.
12199
12200 2000-05-22  Andy Piper  <andy@xemacs.org>
12201
12202         * redisplay-output.c (compare_runes): check for non-images
12203
12204         * glyphs.c (set_glyph_dirty_p): ditto.
12205         (update_glyph_cachel_data): ditto.
12206
12207         * glyphs-widget.c (layout_post_instantiate): ditto.
12208         (layout_post_instantiate): ditto.
12209
12210         * event-msw.c (mswindows_wnd_proc): warning removal.
12211
12212 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
12213
12214         * s\mingw32.h: Added #undef for CLASH_DETECTION.
12215
12216         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
12217
12218         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
12219
12220         * nt.c (rva_to_section): mingw32 needs rva_to_section.
12221         (mswindows_executable_type): mingw32 now has enough headers for
12222         this to work.
12223
12224 2000-05-20  Andy Piper  <andy@xemacs.org>
12225
12226         * console-msw.c (mswindows_output_last_error): ; -> ,
12227
12228 2000-05-12  Andy Piper  <andy@xemacs.org>
12229
12230         * console-msw.c (FROB): compare ints with ints.
12231
12232 2000-05-11  Andy Piper  <andy@xemacs.org>
12233
12234         * glyphs-x.c (x_finalize_image_instance): make minimal build
12235         happy.
12236
12237 2000-05-20  Ben Wing  <ben@xemacs.org>
12238
12239         * event-Xt.c:
12240         * event-Xt.c (vars_of_event_Xt):
12241         move modifier-keys-are-sticky to event-stream.c.
12242
12243         * event-msw.c:
12244         * event-msw.c (mswindows_enqueue_mouse_button_event):
12245         * event-msw.c (key_needs_default_processing_p):
12246         * event-msw.c (XEMSW_LCONTROL):
12247         * event-msw.c (mswindows_handle_sticky_modifiers):
12248         * event-msw.c (FROB):
12249         * event-msw.c (clear_sticky_modifiers):
12250         * event-msw.c (output_modifier_keyboard_state):
12251         * event-msw.c (output_alt_keyboard_state):
12252         * event-msw.c (mswindows_wnd_proc):
12253         * event-msw.c (mswindows_modifier_state):
12254         * event-msw.c (emacs_mswindows_handle_magic_event):
12255         implement sticky modifiers.
12256
12257         * event-stream.c:
12258         * event-stream.c (vars_of_event_stream):
12259         move modifier-keys-are-sticky here.
12260
12261         * lisp.h:
12262         add CHECK_FUNCTION.
12263
12264         * rangetab.c:
12265         implement map-range-table.
12266
12267
12268 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12269
12270         * redisplay-tty.c (reset_tty_modes):
12271         (tty_redisplay_shutdown): Adjust argument type to
12272         tty_frame_output_end.
12273
12274 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12275
12276         * eval.c (Fbacktrace): Don't output a line with only right
12277         parenthesis.
12278
12279 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12280
12281         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12282         (Fpq_reset_poll): Ditto.
12283
12284 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12285
12286         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12287
12288 2000-05-16  Ben Wing  <ben@xemacs.org>
12289
12290         * buffer.c:
12291         * buffer.c (dfc_convert_to/from_internal_format):
12292         * buffer.c (reinit_vars_of_buffer):
12293         Fix conversion functions to allow reentrancy.
12294
12295         * console-msw.c:
12296         * console-msw.c (mswindows_output_last_error):
12297         New fun, generally useful -- output a human-readable
12298         version of GetLastError() on the console.
12299
12300         * console-msw.h:
12301         * console-msw.h (struct mswindows_frame):
12302         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12303
12304         * console-stream.c (stream_output_begin):
12305         * console-stream.c (stream_output_end):
12306         * console-stream.c (stream_output_vertical_divider):
12307         * console-stream.c (stream_clear_region):
12308         * console-stream.c (stream_flash):
12309         * console-stream.c (console_type_create_stream):
12310         Delete blank stream methods, not needed.
12311
12312         * console.h (struct console_methods):
12313         Split begin/end methods into window and frame.
12314
12315         * event-msw.c:
12316         * event-msw.c (mswindows_handle_paint):
12317         * event-msw.c (output_alt_keyboard_state):
12318         * event-msw.c (mswindows_wnd_proc):
12319         * event-msw.c (vars_of_event_mswindows):
12320         Comment about problems with ignored-expose.
12321         Define mswindows-debug-events; not really implemented.
12322
12323         * frame-msw.c (mswindows_init_frame_1):
12324         random cleanups.
12325
12326         * glyphs-msw.c:
12327         * glyphs-msw.c (begin_defer_window_pos):
12328         * glyphs-msw.c (mswindows_unmap_subwindow):
12329         * glyphs-msw.c (mswindows_map_subwindow):
12330         * glyphs-msw.c (mswindows_resize_subwindow):
12331         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12332
12333         * glyphs.c (make_image_instance_1):
12334         Fix crash.
12335
12336         * gutter.c (Fredisplay_gutter_area):
12337         Use new begin/end methods.
12338
12339         * lisp.h (Dynarr_new2):
12340         New creation fun.
12341
12342         * redisplay-msw.c:
12343         * redisplay-msw.c (mswindows_frame_output_begin):
12344         * redisplay-msw.c (mswindows_frame_output_end):
12345         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12346         New begin/end methods -- handle DeferWindowPos.
12347
12348         * redisplay-output.c (redisplay_move_cursor):
12349         * redisplay-output.c (redraw_cursor_in_window):
12350         * redisplay-output.c (redisplay_update_line):
12351         * redisplay-output.c (redisplay_output_window):
12352         New begin/end methods.
12353
12354         * redisplay-tty.c:
12355         * redisplay-tty.c (tty_frame_output_begin):
12356         * redisplay-tty.c (tty_frame_output_end):
12357         * redisplay-tty.c (console_type_create_redisplay_tty):
12358         New begin/end methods.
12359
12360         * redisplay-x.c:
12361         * redisplay-x.c (x_window_output_begin):
12362         * redisplay-x.c (x_window_output_end):
12363         * redisplay-x.c (console_type_create_redisplay_x):
12364         New begin/end methods.
12365
12366         * redisplay.c (redisplay_frame):
12367         * redisplay.c (Fredisplay_echo_area):
12368         New begin/end methods.
12369         use MAYBE_DEVMETH for clear_frame; it may not exist.
12370
12371         * window.h (WINDOW_XFRAME):
12372         WINDOW_XFOO macros -- get locale and decode struct pointer.
12373
12374
12375 2000-05-12  Ben Wing  <ben@xemacs.org>
12376
12377         * emacs.c:
12378         * emacs.c (ensure_no_quitting_from_now_on):
12379         * emacs.c (fatal_error_signal):
12380         * emacs.c (mswindows_handle_hardware_exceptions):
12381         * emacs.c (main):
12382         * emacs.c (Fkill_emacs):
12383         * emacs.c (shut_down_emacs):
12384         * emacs.c (assert_failed):
12385         various improvements in fatal error handling.
12386
12387         * eval.c:
12388         move preparing_for_armageddon to emacs.c.
12389
12390         * lisp.h:
12391         declare fatal_error_in_progress.
12392
12393         * print.c:
12394         * print.c (std_handle_out_external):
12395         * print.c (std_handle_out_va):
12396         * print.c (stderr_out):
12397         * print.c (stdout_out):
12398         use console under mswin when no standard output.
12399         don't do code conversion during fatal error.
12400
12401         * scrollbar.c (Fscrollbar_page_up):
12402         * scrollbar.c (Fscrollbar_page_down):
12403         fix missing else.  reindent.
12404
12405 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12406
12407         Emergency fix.
12408
12409         * glyphs.h (GLYPH_CACHEL_DESCENT):
12410         (GLYPH_CACHEL_DESCENT):
12411         (GLYPH_CACHEL_DESCENT):
12412         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12413         used in case these are inline functions.
12414         Use more absurd values to error check.
12415
12416         include window.h for error check functions.
12417
12418 2000-05-11  Ben Wing  <ben@xemacs.org>
12419
12420         * cmdloop.c (Freally_early_error_handler):
12421         Display message box under windows; otherwise, message will disappear
12422         before it can be viewed.
12423
12424         * console-msw.c:
12425         * console-msw.c (Fmswindows_message_box):
12426         * console-msw.c (FROB):
12427         * console-msw.c (syms_of_console_mswindows):
12428         Define new fun `mswindows-message-box'.
12429         #### I will merge this into `popup-dialog-box'; just give me
12430         a bit of time.
12431
12432         * general.c:
12433         * general.c (syms_of_general):
12434         Some new symbols used in `mswindows-message-box'.
12435
12436         * glyphs.c:
12437         * glyphs.c (Fset_image_instance_property):
12438         put warning in this fun.
12439
12440         * glyphs.h:
12441         * glyphs.h (GLYPH_CACHEL_WIDTH):
12442         * glyphs.h (GLYPH_CACHEL_ASCENT):
12443         * glyphs.h (GLYPH_CACHEL):
12444         * glyphs.h (GLYPH_CACHEL_GLYPH):
12445         define error-checking versions to try to catch a bug i've seen --
12446         redisplay gets in an infinite loop because the glyph width of the
12447         continuation glyph is 65535.
12448
12449         * lisp.h:
12450         Extern message-box stuff.
12451
12452         * window.c (allocate_window):
12453         * window.c (make_dummy_parent):
12454         * window.c (Fset_window_configuration):
12455         Use EQUAL not EQ for subwindow caches to make them work a bit
12456         better. (Something is still very broken.)
12457
12458
12459 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12460
12461         * glyphs.c (image_instantiate): Suppress gcc warnings.
12462         (Fmake_image_instance): Fix doc string.
12463         * specifier.c (Fmake_specifier): Ditto.
12464
12465 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12466
12467         * paths.h.in (PATH_LOCK): Removed.
12468         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12469         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12470
12471 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12472
12473         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12474         Document (featurep '(and xemacs 21.02)).
12475
12476 2000-05-09  Ben Wing  <ben@xemacs.org>
12477
12478         * buffer.c (complex_vars_of_buffer):
12479         update modeline-format doc.
12480
12481         * device.h:
12482         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12483
12484         * emacs.c:
12485         timeline of all released versions of Emacs, for use in creating
12486         authorship comments and in synching up.
12487
12488         * glyphs-widget.c (image_instantiator_buttons):
12489         * glyphs-widget.c (image_instantiator_edit_fields):
12490         * glyphs-widget.c (image_instantiator_combo_box):
12491         * glyphs-widget.c (image_instantiator_scrollbar):
12492         * glyphs-widget.c (image_instantiator_progress_guage):
12493         * glyphs-widget.c (image_instantiator_tree_view):
12494         * glyphs-widget.c (image_instantiator_tab_control):
12495         * glyphs-widget.c (image_instantiator_labels):
12496         * glyphs-widget.c (image_instantiator_layout):
12497         * glyphs-widget.c (image_instantiator_native_layout):
12498         rename decode_domain method to governing_domain.
12499
12500         * glyphs.c:
12501         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12502         * glyphs.c (add_entry_to_device_ii_format_list):
12503         make sure we don't put an entry more than once into the list.
12504         * glyphs.c (check_instance_cache_mapper):
12505         *************************************************************
12506         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12507         HAVE BEEN GETTING.
12508         *************************************************************
12509         * glyphs.c (get_image_instantiator_governing_domain):
12510         clean up, expand on new concept of governing domain.
12511         * glyphs.c (instantiate_image_instantiator):
12512         * glyphs.c (allocate_image_instance):
12513         use governing_domain instead of cache_domain in naming.
12514         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12515         * glyphs.c (make_image_instance_1):
12516         * glyphs.c (Fmake_image_instance):
12517         allow for any domain (not just device), and process the
12518         governing domain correctly.  very big doc fix.
12519         * glyphs.c (Fimage_instance_domain):
12520         new primitive, to retrieve the governing domain of an image instance.
12521         * glyphs.c (image_instantiate):
12522         use new governing_domain stuff.  this fixes a crash you could get
12523         by instantiating certain widget glyphs in frame locales. (should
12524         signal an error instead of crashing.)
12525         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12526         * glyphs.c (Fglyphp): clean up doc.
12527         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12528         * glyphs.c (syms_of_glyphs):
12529         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12530         * glyphs.c (image_instantiator_format_create): add some comments about
12531         bogus code.
12532         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12533         for current-display-table. (Apparently Hrjove implemented in 1998 a
12534         design I wrote up in 1996, but didn't update the doc string.)
12535
12536         * glyphs.h: clean up a doc string.
12537         * glyphs.h (governing_domain):
12538         * glyphs.h (struct image_instantiator_methods):
12539         changes for governing_domain stuff.
12540
12541         * gutter.c:
12542         * gutter.c (Fgutter_specifier_p):
12543         * gutter.c (Fgutter_size_specifier_p):
12544         * gutter.c (Fgutter_visible_specifier_p):
12545         * objects.c:
12546         * objects.c (Fcolor_specifier_p):
12547         * objects.c (Ffont_specifier_p):
12548         * objects.c (Fface_boolean_specifier_p):
12549         doc strings moved to make-*-specifier.
12550
12551         * redisplay.c (add_disp_table_entry_runes_1):
12552         * redisplay.c (generate_fstring_runes):
12553         * redisplay.c (screen):
12554         add random comments and doc strings.
12555
12556         * specifier.c:
12557         * specifier.c (Fmake_specifier):
12558         major overhaul of this doc string.
12559
12560         * specifier.c (Fvalid_specifier_domain_p):
12561         comment about the bogosity of image instances being domains.
12562         * specifier.c (decode_domain):
12563         now non-static, used in glyphs.c.
12564         * specifier.c (specifier_instance):
12565         comment about the bogosity of image instances being domains.
12566         * specifier.c (Fgeneric_specifier_p):
12567         move doc string to make-generic-specifier.
12568         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12569         rebackslashify.
12570
12571         * specifier.h:
12572         * specifier.h (DOMAIN_FRAME):
12573         * specifier.h (DOMAIN_LIVE_P):
12574         * specifier.h (DOMAIN_XDEVICE):
12575         rebackslashify.
12576         add comments about problems with these macros.
12577         prototype for decode_domain.
12578
12579         * toolbar.c:
12580         * toolbar.c (Ftoolbar_specifier_p):
12581         move doc string to `make-toolbar-specifier'.
12582
12583         * window.c (window_unmap_subwindows_cache_mapper):
12584         *************************************************************
12585         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12586         HAVE BEEN GETTING.
12587         *************************************************************
12588
12589 2000-05-09  Andy Piper  <andy@xemacs.org>
12590
12591         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12592
12593         * window.c (Fset_window_configuration): reset the frame subwindow
12594         cache and re-initialize the window subwindow caches.
12595
12596         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12597
12598 2000-05-09  Ben Wing  <ben@xemacs.org>
12599
12600         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12601         DWORD.
12602
12603 2000-04-26  Mike Woolley  <mike@bulsara.com>
12604
12605         * ntheap.c: Changed recreate_heap to limit the amount reserved
12606         for the heap to that which is actually available. Also now
12607         displays a message box (with some dignostics) in the event that
12608         it still can't start.
12609
12610 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12611
12612         * callproc.c (Fold_call_process_internal): GCPRO path
12613
12614 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12615
12616         Patch by Bill Perry.
12617
12618         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12619         back data instead of #ifdef.
12620         (Fscrollbar_page_down): ditto.
12621
12622 2000-05-07  Ben Wing  <ben@xemacs.org>
12623
12624         * buffer.h:
12625         Kludge for defining Qmswindows_tstr.
12626
12627         * nt.c:
12628         * nt.c (open_input_file):
12629         * nt.c (open_output_file):
12630         * nt.c (rva_to_section):
12631         * nt.c (mswindows_executable_type):
12632         Move all memory-mapped-file routines here (some were in unexnt.c,
12633         which is bad because they are used by process-nt.c, and unexnt
12634         won't be around when portable dumping).  Synched the above routines
12635         with FSF 20.6.
12636
12637         * nt.h:
12638         Removed ifdef'd out bogus code.
12639         Fixed some prototypes.
12640
12641         * nt.h (file_data):
12642         * nt.h (OFFSET_TO_RVA):
12643         * nt.h (RVA_TO_OFFSET):
12644         * nt.h (RVA_TO_PTR):
12645         Moved the memory-mapped-file structures, macros and prototypes
12646         here, to parallel nt.c.  ntheap.h should really be removed
12647         entirely, and it's a non-portable-dumper specific file.
12648
12649         * ntheap.h (round_to_next):
12650         Moved the memory-mapped-file structures, macros and prototypes
12651         to nt.h.
12652
12653         * ntproc.c (compare_env):
12654         Moved rva_to_section and mswindows_executable_type to nt.c.
12655         Moved compare_env to process-nt.c.
12656         ntproc.c will die, one day.
12657
12658         * ntproc.c (sys_spawnve):
12659         Account for win32_ -> mswindows_.
12660
12661         * process-nt.c:
12662         * process-nt.c (struct nt_process_data):
12663         * process-nt.c (ensure_console_window_exists):
12664         * process-nt.c (compare_env):
12665         * process-nt.c (nt_create_process):
12666         * process-nt.c (nt_kill_process_by_pid):
12667         * process-nt.c (syms_of_process_nt):
12668         * process-nt.c (vars_of_process_nt):
12669         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12670         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12671         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12672         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12673         Move compare_env here from ntproc.c.
12674
12675         * process.c (Fprocess_send_region):
12676         Takes an optional fourth argument, BUFFER, which should fix some
12677         problems with call-process.
12678
12679         * syscommctrl.h:
12680         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12681
12682         * syswindows.h:
12683         Move ICC_BAR_CLASSES to syscommctrl.h.
12684         Add preliminary macros for MSWindows/Mule.  More to come.
12685
12686         * unexnt.c:
12687         * unexnt.c (unexec):
12688         open_output_file moved to nt.c.
12689
12690
12691 2000-05-05  Andy Piper  <andy@xemacs.org>
12692
12693         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12694         instance from the frame cache also since GC may catch up too late
12695         to make frame deletion sane.
12696
12697 2000-05-04  Andy Piper  <andy@xemacs.org>
12698
12699         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12700         (x_finalize_image_instance): ungcpro on deletion.
12701
12702         * glyphs.c (image_instantiator_format_create): give pointers a
12703         query geometry method so that the geometry is at least set.
12704
12705         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12706         initialize layouts if using widgets.
12707
12708 2000-05-03  Andy Piper  <andy@xemacs.org>
12709
12710         * nt.c: remove bogus reference to sysmmsystem.h
12711
12712         * gui-x.c (popup_selection_callback): fix no selection abort.
12713
12714 2000-05-02  Andy Piper  <andy@xemacs.org>
12715
12716         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12717         (mswindows_widget_instantiate): ditto.
12718
12719         * glyphs-widget.c (initialize_widget_image_instance): initialize
12720         children correctly.
12721         (widget_instantiate): cope with children and items in the same
12722         instance.
12723
12724         * glyphs.c (mark_image_instance): cope with children as a first
12725         class member.
12726         (image_instance_equal): ditto.
12727         (image_instance_hash): ditto.
12728         (image_instance_changed): ditto.
12729
12730 2000-04-30  Andy Piper  <andy@xemacs.org>
12731
12732         * glyphs.c (subwindow_query_geometry): new function. Return some
12733         defaults.
12734         (subwindow_instantiate): don't assign dimensions if none have been
12735         given.
12736         (image_instantiator_format_create): add subwindow_query_geometry.
12737         (print_image_instance): cope with layouts as widgets.
12738
12739 2000-04-29  Andy Piper  <andy@xemacs.org>
12740
12741         * frame.c (delete_frame_internal): call
12742         free_frame_subwindow_instance_cache so that all subwindows are
12743         finalized before their parent.
12744         (mark_frame): remove subwindow_cachels.
12745         (Fmake_frame): remove subwindow_cachel manipulation.
12746         (allocate_frame_core): subwindow_instance_cache is a weak list.
12747         (delete_frame_internal): set subwindow_instance_cache to nil.
12748
12749         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12750         finalization safe.
12751         (mswindows_finalize_image_instance): use the device
12752         not the domain as the domain may have died already.
12753
12754         * glyphs-x.c (x_finalize_image_instance): ditto.
12755         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12756         HEIGHT.
12757
12758         * redisplay-output.c (redisplay_unmap_subwindows): update for
12759         subwindow instance cache as a weak list.
12760         (redisplay_unmap_subwindows_maybe): ditto.
12761         (redisplay_unmap_subwindows_except_us): ditto.
12762
12763         * glyphs.c (unmap_subwindow): error checking will check the domain
12764         so don't deal with it here. Don't use cachels anymore.
12765         (map_subwindow): ditto.
12766         (update_subwindow_cachel_data): remove old accessor names.
12767         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12768         (Fresize_subwindow): don't update cachel.
12769         (mark_subwindow_cachels):
12770         (update_subwindow_cachel_data):
12771         (add_subwindow_cachel):
12772         (get_subwindow_cachel_index):
12773         (update_subwindow_cachel):
12774         (reset_subwindow_cachels):
12775         (mark_subwindow_cachels_as_not_updated): deleted.
12776         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12777         subwindow instance to the frame cache.
12778         (find_matching_subwindow): update for subwindow instance cache as
12779         a weak list.
12780         (update_widget_instances): ditto.
12781         (image_instance_type_to_mask):inlined.
12782         (free_frame_subwindow_instance_cache): new function. finalize all
12783         subwindows that are instantiated.
12784
12785         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12786         of cachel information.
12787         (IMAGE_INSTANCE_DISPLAY_X):
12788         (IMAGE_INSTANCE_DISPLAY_Y):
12789         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12790         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12791         (XIMAGE_INSTANCE_DISPLAY_X):
12792         (XIMAGE_INSTANCE_DISPLAY_Y):
12793         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12794         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12795         remove subwindow_cachel structure and function references.
12796         (image_instance_type_to_mask): inline from glyphs.c
12797
12798         * redisplay.c (redisplay_frame): remove subwindow_cachel
12799         references.
12800
12801         * frame.h (struct frame): remove subwindow_cachels.
12802         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12803
12804         * frameslots.h: add subwindow_instance_cache.
12805
12806         * window.c (replace_window): check subwindow cache of replacement.
12807         (window_unmap_subwindows_cache_mapper):
12808         (window_unmap_subwindows): new functions. Unmap all subwindows
12809         cached on this window.
12810         (mark_window_as_deleted): unmap all subwindows.
12811
12812 2000-04-27  Andy Piper  <andy@xemacs.org>
12813
12814         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12815
12816         * glyphs-widget.c (widget_layout): return something.
12817         (layout_layout): return something. Fail if not initialized.
12818         (layout_query_geometry): ditto.
12819         (image_instantiator_native_layout): new function. Initialized the
12820         native layout type.
12821         (widget_instantiate): don't do layout stuff here.
12822
12823         * glyphs.c (instantiate_image_instantiator): reorded calling or
12824         instantiate and post_instantiate with layout in between.
12825         (image_instance_layout): be more selective about deciding whether
12826         the layout has been done or not.
12827
12828         * glyphs.h (struct image_instantiator_methods): return a value
12829         from layout_method.
12830
12831 2000-04-26  Andy Piper  <andy@xemacs.org>
12832
12833         * glyphs.c (allocate_image_instance): make initial width and
12834         height unspecified. Set initialized to 0.
12835
12836         * syscommctrl.h new file. Encapsulates commctrl.h.
12837
12838         * syswindows.h new file. Encapsulates windows.h.
12839
12840         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12841         * nt.c: ditto.
12842         * console-msw.h: ditto.
12843
12844         * redisplay-tty.c (tty_output_display_block): remove layout references.
12845
12846         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12847         window handle rather than just the frame.
12848
12849         * glyphs.c (mark_image_instance): remove layout references.
12850         (print_image_instance): ditto.
12851         (image_instance_equal): ditto.
12852         (image_instance_hash): ditto.
12853         (decode_image_instance_type): ditto.
12854         (encode_image_instance_type): ditto.
12855         (image_instantiate): ditto.
12856         (allocate_glyph): ditto.
12857         (Fimage_instance_height): ditto.
12858         (Fimage_instance_width): ditto.
12859         (update_subwindow): ditto.
12860
12861         * redisplay-x.c (x_output_display_block): recode for layouts as
12862         widgets.
12863
12864         * redisplay-output.c (redisplay_output_layout): recode for layouts
12865         as widgets.
12866         (compare_runes): remove layout references.
12867
12868         * redisplay-msw.c (mswindows_output_display_block): recode for
12869         layouts as widgets.
12870
12871         * glyphs-widget.c (image_instantiator_layout): remove
12872         layout_possible_dest_types.
12873         (layout_possible_dest_types): deleted.
12874
12875         * glyphs.h (image_instance_type): remove layout references.
12876         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12877         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12878         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12879
12880 2000-04-25  Andy Piper  <andy@xemacs.org>
12881
12882         * glyphs-widget.c (image_instantiator_buttons):
12883         (image_instantiator_edit_fields):
12884         (image_instantiator_combo_box):
12885         (image_instantiator_scrollbar):
12886         (image_instantiator_progress_guage):
12887         (image_instantiator_tree_view):
12888         (image_instantiator_tab_control):
12889         (image_instantiator_labels):
12890         (image_instantiator_layout): call default post_instantiate method.
12891         (widget_post_instantiate): new function. Simply lays out the
12892         widgets.
12893
12894         * glyphs.h (struct image_instantiator_methods): add
12895         post_instantiate method.
12896
12897         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12898         method calls.
12899
12900 2000-04-23  Andy Piper  <andy@xemacs.org>
12901
12902         * glyphs.h (struct image_instantiator_methods): add
12903         decode_domain_method.
12904         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12905         derived from the domain.
12906         (IMAGE_INSTANCE_FRAME): new accessor.
12907         (XIMAGE_INSTANCE_FRAME): ditto.
12908
12909         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12910         instead of _SUBWINDOW_FRAME.
12911         (finalize_image_instance): ditto.
12912         (Fimage_instance_foreground): ditto.
12913         (Fimage_instance_background): ditto.
12914         (image_instantiate): ditto.
12915         (update_subwindow_cachel): ditto.
12916         (update_subwindow): ditto.
12917         (unmap_subwindow): ditto.
12918         (map_subwindow): ditto
12919         (subwindow_instantiate): ditto.
12920         * glyphs-msw.c (mswindows_update_widget): ditto.
12921         (mswindows_progress_gauge_instantiate): ditto.
12922         (mswindows_tab_control_update): ditto.
12923         * glyphs-x.c (x_update_widget): ditto.
12924         (x_widget_instantiate): ditto.
12925         (x_tab_control_instantiate): ditto.
12926         (x_tab_control_update): ditto.
12927         * event-msw.c (mswindows_wnd_proc): ditto
12928
12929         * glyphs-widget.c (image_instantiator_layout): use
12930         subwindow_decode_domain.
12931         (image_instantiator_buttons): ditto.
12932         (image_instantiator_edit_fields): ditto.
12933         (image_instantiator_combo_box): ditto.
12934         (image_instantiator_scrollbar): ditto.
12935         (image_instantiator_progress_guage): ditto.
12936         (image_instantiator_tree_view): ditto.
12937         (image_instantiator_tab_control): ditto.
12938         (image_instantiator_labels): ditto.
12939         (image_instantiator_layout): ditto.
12940
12941         * glyphs.c: add instance error checking to many functions.
12942         (instantiate_image_instantiator): decode device from cache_domain.
12943         (image_instantiate): partially rewrite by using
12944         decode_image_instantiator_domain to determine what domain the
12945         instance needs to be cached in.
12946         (decode_image_instantiator_domain): new function. Determine what
12947         domain the image needs to be cached in.
12948         (check_window_subwindow_cache): new error checking function.
12949         (check_instance_cache_mapper): ditto.
12950         (check_image_instance_structure): ditto.
12951         (subwindow_decode_domain): new function. Encodes a window as a
12952         subwindow's cache domain.
12953         (image_instantiator_format_create): use it for text and
12954         subwindows.
12955
12956 2000-04-21  Andy Piper  <andy@xemacs.org>
12957
12958         * glyphs.c (image_instance_device): new function.
12959         (image_instance_frame): new function.
12960         (image_instance_window): new function.
12961         (image_instance_live_p): new function.
12962
12963         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12964         cache to nil.
12965
12966         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12967         (IMAGE_INSTANCE_DOMAIN): new accessor.
12968         (XIMAGE_INSTANCE_DOMAIN): ditto.
12969
12970         * glyphs-x.c (x_finalize_image_instance): device->domain.
12971
12972         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12973         (mswindows_finalize_image_instance): ditto.
12974
12975         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12976         (gif_instantiate): ditto.
12977         (png_instantiate): ditto.
12978         (tiff_instantiate): ditto.
12979
12980         * glyphs.c (instantiate_image_instantiator): use domain rather
12981         than device.
12982         (mark_image_instance): device -> domain.
12983         (print_image_instance): ditto.
12984         (finalize_image_instance): ditto.
12985         (image_instance_equal): ditto.
12986         (allocate_image_instance): ditto.
12987         (Fcolorize_image_instance): ditto.
12988         (query_string_geometry): ditto.
12989         (image_instantiate): ditto
12990         (query_string_font): ditto.
12991         (image_instantiate): ditto.
12992         (update_subwindow): ditto.
12993         (unmap_subwindow): ditto.
12994         (map_subwindow): ditto.
12995         (subwindow_instantiate): ditto.
12996
12997         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12998         (DOMAIN_FRAME): ditto.
12999         (DOMAIN_WINDOW): ditto.
13000         (DOMAIN_LIVE_P): ditto.
13001         (XDOMAIN_DEVICE): ditto.
13002         (XDOMAIN_FRAME): ditto.
13003         (XDOMAIN_WINDOW): ditto.
13004
13005         * specifier.c (Fvalid_specifier_domain_p): add image instances as
13006         a valid specifier domain.
13007
13008 2000-04-19  Andy Piper  <andy@xemacs.org>
13009
13010         * glyphs-widget.c (syms_of_glyphs_widget): remove
13011         widget-callback-current-channel.
13012         (vars_of_glyphs_widget): ditto.
13013         * glyphs.h: ditto
13014
13015         * gui.c (get_gui_callback): revert to previous behaviour.
13016
13017 2000-04-18  Andy Piper  <andy@xemacs.org>
13018
13019         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
13020         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
13021         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
13022
13023         * glyphs.c (image_instance_equal): add margin_width.
13024         (image_instance_hash): ditto.
13025
13026         * glyphs-widget.c (widget_instantiate): deal with margin-width.
13027         (layout_query_geometry): ditto.
13028         (layout_layout): ditto.
13029         (syms_of_glyphs_widget): add margin-width.
13030         (image_instantiator_layout): allow margin-width.
13031
13032         * glyphs.c (update_widget_instances): make a normal function.
13033         (syms_of_glyphs): remove Qupdate_widget_instances.
13034         * glyphs.h: ditto.
13035
13036         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
13037         so that we don't corrupt ideas about the last event or
13038         command. Remove widget-callback-current-channel fiddling.
13039         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
13040
13041 2000-05-01  Martin Buchholz <martin@xemacs.org>
13042
13043         * XEmacs 21.2.33 is released.
13044
13045 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
13046
13047         * make-src-depend: Allow dots in header file name.
13048
13049 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
13050
13051         * mule-charset.h (struct charset_lookup): Add
13052         next_allocated_1_byte_leading_byte and
13053         next_allocated_2_byte_leading_byte.
13054         * mule-charset.c: Move above two variables so that those values
13055         will be dumped.
13056
13057 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
13058
13059         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
13060         when string length is zero.
13061         (find_charsets_in_emchar_string): Ditto.
13062
13063 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
13064
13065         * lisp.h: extern Qdialog and Qmenubar.
13066
13067         * gui-x.c: added events.h.
13068                 also fixed typo which made the file uncompilable.
13069
13070         * general.c: Added Qmenubar and Qdialog
13071
13072 2000-04-28  Ben Wing  <ben@xemacs.org>
13073
13074         * frame-msw.c (mswindows_init_frame_1):
13075         * frame-msw.c (mswindows_mark_frame):
13076         * event-msw.c (mswindows_enqueue_dispatch_event):
13077         * console-msw.h:
13078         * console-msw.h (struct mswindows_frame):
13079         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
13080         there are now three hash tables for callbacks.
13081         mswindows_enqueue_dispatch_event is no longer static.
13082
13083         * dialog-x.c (maybe_run_dbox_text_callback):
13084         * dialog-x.c (dbox_descriptor_to_widget_value):
13085         switch to new cons3 form for callbacks.
13086
13087         * glyphs-msw.c (mswindows_register_gui_item):
13088         * glyphs-msw.c (mswindows_widget_instantiate):
13089         * glyphs-msw.c (add_tree_item):
13090         * glyphs-msw.c (add_tab_item):
13091         new image instance parameter, so it can be passed to callback-ex.
13092         respect :callback-ex as well as :callback.
13093
13094         * glyphs-widget.c (VALID_GUI_KEYWORDS):
13095         add :callback-ex.
13096
13097         * glyphs.c (print_image_instance):
13098         prettify, e.g. now prints widget type.
13099
13100         * gui-x.h:
13101         certain funs have new image instance parameter.
13102
13103         * gui.c:
13104         * gui.c (get_gui_callback):
13105         * gui.c (gui_item_add_keyval_pair):
13106         * gui.c (gui_item_init):
13107         * gui.c (gui_add_item_keywords_to_plist):
13108         * gui.c (mark_gui_item):
13109         * gui.c (gui_item_hash):
13110         * gui.c (gui_item_equal):
13111         * gui.c (copy_gui_item):
13112         * gui.c (syms_of_gui):
13113         recognize callback-ex in a number of places.
13114         also, fix the annoying "can't get out of yes-no dialog" bug.
13115
13116         * gui.h:
13117         * gui.h (struct Lisp_Gui_Item):
13118         recognize callback-ex in a number of places.
13119
13120         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13121         new parameter in button_item_to_widget_value.
13122
13123         * glyphs-x.c (x_update_widget):
13124         * glyphs-x.c (x_button_instantiate):
13125         * glyphs-x.c (x_button_update):
13126         * glyphs-x.c (x_progress_gauge_instantiate):
13127         * glyphs-x.c (x_edit_field_instantiate):
13128         * glyphs-x.c (x_combo_box_instantiate):
13129         * glyphs-x.c (x_tab_control_instantiate):
13130         * glyphs-x.c (x_label_instantiate):
13131         new image instance parameter in various places.
13132
13133         * event-Xt.c:
13134         * event-Xt.c (enqueue_Xt_dispatch_event):
13135         this fun gets exported.
13136
13137         * gui-msw.c:
13138         * gui-msw.c (mswindows_handle_gui_wm_command):
13139         handle both :callback and :callback-ex, and generate our own
13140         event because it's one of the callback-ex arguments.
13141
13142         * gui-x.c:
13143         * gui-x.c (popup_selection_callback):
13144         handle both :callback and :callback-ex, and generate our own
13145         event because it's one of the callback-ex arguments.
13146         * gui-x.c (button_item_to_widget_value):
13147         * gui-x.c (gui_items_to_widget_values_1):
13148         * gui-x.c (gui_item_children_to_widget_values):
13149         * gui-x.c (gui_items_to_widget_values):
13150         new image instance parameter in various places.
13151
13152         * fns.c (Freplace_list):
13153         fix small typo in doc string.
13154
13155         * lisp.h:
13156         declare enqueue_Xt_dispatch_event.
13157
13158 2000-04-28  Ben Wing  <ben@xemacs.org>
13159
13160         * buffer.c:
13161         * buffer.c (Frecord_buffer):
13162         * buffer.c (syms_of_buffer):
13163         delete record-buffer-hook.
13164
13165         * fns.c:
13166         * fns.c (Freplace_list):
13167         * fns.c (syms_of_fns):
13168         new primitive replace-list.
13169
13170         * frameslots.h:
13171         slot for old buffer-alist.
13172
13173         * lisp.h:
13174         exfun replace-list.
13175
13176         * redisplay.c:
13177         * redisplay.c (redisplay_frame):
13178         * redisplay.c (syms_of_redisplay):
13179         * redisplay.c (vars_of_redisplay):
13180         new hook buffer-list-changed-hook.
13181         call it.
13182
13183 2000-04-27  Ben Wing  <ben@xemacs.org>
13184
13185         * extents.h: extern in_modeline_generation.
13186
13187         * redisplay.c (generate_formatted_string_db): set
13188         in_modeline_generation.
13189
13190         * extents.c (extent_changed_for_redisplay): don't mark redisplay
13191         flags if in modeline generation.  otherwise frame-modified-tick
13192         is ticked far too often.
13193         Declare in_modeline_generation.
13194
13195 2000-04-26  Ben Wing  <ben@xemacs.org>
13196
13197         * emacs.c (vars_of_emacs): document quick-build "error-checking"
13198         option.
13199         (vars_of_emacs): add quick-build as an error-checking option.
13200         A bit kludgy, but there doesn't seem much point in creating
13201         a real var for this.
13202
13203         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
13204
13205 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13206
13207         * redisplay.h (struct display_line): Add a new variable,
13208         line_continuation.
13209
13210         * redisplay.c (create_text_block): Set dl->line_continuation if
13211         the line continues.
13212         (create_string_text_block): Ditto.
13213         (regenerate_window_incrementally): Use line_continuation instead
13214         of searching continuation glyph.
13215         (add_margin_runes): Call add_glyph_rune.
13216         (add_glyph_rune): Handle margin glyph.
13217
13218 2000-04-20  Martin Buchholz  <martin@xemacs.org>
13219
13220         * filelock.c (fill_in_lock_file_name):
13221         ANSIfy.
13222         Check for IS_ANY_SEP instead of '/'.
13223         (lock_file_1):
13224         Avoid generating gratuitous garbage.  Call user_login_name() directly.
13225         Never check errno without first seeing that system call failed.
13226         (unlock_file): Add GCPRO.
13227         (Flock_buffer): Fix docstring.
13228         (Ffile_locked_p): Fix docstring.  Add GCPRO.
13229
13230 2000-04-19  Martin Buchholz  <martin@xemacs.org>
13231
13232         * sysdep.c (get_pty_max_bytes):
13233         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
13234         strings longer than 252 bytes.
13235
13236         * md5.c: Unconditionally include ANSI header <limits.h>
13237
13238         * glyphs-x.c (convert_EImage_to_XImage):
13239         * lisp-union.h (union Lisp_Object):
13240         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
13241
13242 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
13243
13244         * filelock.c (current_lock_owner): Remove unused variable o, p.
13245
13246 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
13247
13248         * callint.c: Remove multiply defined symbol Qlet
13249         (syms_of_callint): ditto.
13250
13251 2000-04-14  Andy Piper  <andy@xemacs.org>
13252
13253         * general.c (syms_of_general): add last-command, this-command, let
13254         and funcall.
13255
13256         * lisp.h: declare various symbols.
13257
13258         * glyphs.h: declare Qwidget_callback_current_channel;
13259
13260         * glyphs-widget.c (syms_of_glyphs_widget): add
13261         Qgui_callback_current_channel.
13262         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13263
13264         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13265         widget-callback-current-channel when invoking the interactive
13266         arg. Also bind last-command and next-command when invoking the
13267         widget updates.
13268         * gui-x.c (popup_selection_callback): ditto.
13269
13270         * gui.c (get_gui_callback): massage args so that we are always
13271         calling eval. This allows us to add our own variable bindings
13272         outside.
13273
13274         * glyphs-x.c (x_button_instantiate): use
13275         gui_items_to_widget_values since this is GC safe.
13276         (x_progress_gauge_instantiate): ditto.
13277         (x_edit_field_instantiate): ditto.
13278         (x_label_instantiate): ditto.
13279
13280         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13281         (emacs_Xt_event_widget_focus_out): new function
13282         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13283         focus.
13284         (emacs_Xt_event_add_widget_actions): new function. add focus
13285         functions as actions.
13286         (init_event_Xt_late): use it.
13287
13288 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13289
13290         * event-stream.c (Fdispatch_event): Doc fix.
13291
13292 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13293
13294         * postgresql.c: Remove all references to PQsetenv*.
13295
13296         * postgresql.h: Remove references to PGsetenvHandler object.
13297         * lrecord.h (lrecord_type): Ditto.
13298
13299 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13300
13301         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13302         real_heigh and real_width members, and accessor macros for these.
13303
13304         * glyphs-msw.c (init_image_instance_geometry): New function.
13305         (init_image_instance_from_dibitmap): Use it.
13306         (mswindows_resource_instantiate): Use it.
13307         (init_image_instance_from_xbm_inline): Use it.
13308         (mswindows_initialize_image_instance_mask): Use real bitmap
13309         geometry.
13310         (mswindows_create_resized_bitmap): Ditto.
13311         (mswindows_create_resized_mask): Ditto.
13312
13313         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13314         and bitmap to their surface size.
13315
13316 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13317
13318         * process-unix.c (unix_send_process): Guard against process MIA
13319         after Faccept_process_output.
13320
13321 2000-04-11  Ben Wing  <ben@xemacs.org>
13322
13323         * eval.c (unbind_to_hairy): fix brokenness introduced by
13324         nanosecond speed improvements.
13325
13326 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13327
13328         * sunplay.c (init_device): To play sounds correctly, the device
13329         apparently needs to be initialized at least once by XEmacs.  Make
13330         it so.
13331
13332 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13333
13334         * redisplay.c (add_margin_runes): Add text image glyph
13335           handling.
13336
13337 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13338
13339         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13340         gcc is newer than 2.5.
13341
13342 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13343
13344         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13345
13346         * fns.c (size_bit_vector):
13347         * alloc.c (size_vector):
13348         (make_vector_internal):
13349         (make_bit_vector_internal):
13350         (sweep_bit_vectors_1):
13351         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13352
13353 2000-04-06  Andy Piper  <andy@xemacs.org>
13354
13355         * gmalloc.c (malloc): undo previous change.
13356         (malloc): ditto.
13357         (free): ditto.
13358         (realloc): ditto.
13359
13360 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13361
13362         * line-number.c (buffer_line_number): Revert to former version.
13363
13364 2000-04-06  Andy Piper  <andy@xemacs.org>
13365
13366         * gmalloc.c (malloc): add error checking.
13367         (malloc): ditto.
13368         (free): ditto.
13369         (realloc): ditto.
13370
13371         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13372         button_item_to_widget_value arg.
13373
13374         * glyphs-x.c (x_button_instantiate): add extra
13375         button_item_to_widget_value arg.
13376         (x_progress_gauge_instantiate): ditto.
13377         (x_edit_field_instantiate): ditto.
13378         (x_label_instantiate): ditto.
13379
13380         * gui-x.c (gui_items_to_widget_values_1): add extra
13381         button_item_to_widget_value arg.
13382         (button_item_to_widget_value): add extra menu_item_p arg.
13383
13384         * gui-x.h: change signature of button_item_to_widget_value.
13385
13386         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13387         button_item_to_widget_value arg.
13388
13389 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13390
13391         * buffer.h (struct buffer): auto_save_modified should be long.
13392
13393 2000-04-05  Andy Piper  <andy@xemacs.org>
13394
13395         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13396         type.
13397         (button_query_geometry): give a little more room so that athena
13398         buttons fit.
13399
13400 2000-04-05  Andy Piper  <andy@xemacs.org>
13401
13402         * faces.c (complex_vars_of_faces): The widget face should inherit
13403         the font of the gui-element face.
13404
13405 2000-04-04  Andy Piper  <andy@xemacs.org>
13406
13407         * glyphs-x.c (x_button_update): new function. unconditionally
13408         update a button's state when the instance is dirty.
13409         (image_instantiator_format_create_glyphs_x): add x_button_update.
13410         (x_widget_instantiate): remove old resize cruft.
13411
13412 2000-04-02  Andy Piper  <andy@xemacs.org>
13413
13414         * frame.c (change_frame_size_1): The introduction of gutters means
13415         that we need to allow 0 as a potential frame dimension.
13416
13417 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13418
13419         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13420         image glyph if allow_cursor.
13421         (add_hscroll_rune): Don't allow cursor to border glyph.
13422         (create_text_block): Ditto.
13423
13424         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13425         text not in buffer.
13426         (redisplay_output_layout): Call ensure_face_cachel_complete for
13427         text image glyph.
13428
13429
13430 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13431
13432         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13433
13434         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13435         not in buffer
13436
13437         * redisplay-tty.c (tty_output_display_block): Delete the routine
13438         for text image glyph
13439         * redisplay-x.c (x_output_display_block): ditto
13440         * redisplay-msw.c (mswindows_output_display_block): ditto
13441
13442 2000-02-02  Mike Alexander  <mta@arbortext.com>
13443
13444         Note: Some of these were committed by accident as part of other
13445         patches.
13446
13447         * regex.c (regex_compile): Avoid compiler warnings.
13448
13449         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13450
13451         * nt.h: Declare term_ntproc correctly.
13452
13453         * nt.c: Remove incorrect declaration of get_home_directory which
13454         is declared correctly in lisp.h.
13455
13456         * keymap.c (get_keyelt): Avoid compiler warnings.
13457         (raw_lookup_key_mapper): Avoid compiler warnings.
13458
13459         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13460
13461         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13462
13463         * filemode.c (mode_string): Avoid compiler warnings.
13464
13465         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13466         avoid warning.
13467
13468         * events-mod.h: Undef some things that winuser.h defines differently.
13469
13470         * data.c (Faset): Avoid compiler warnings.
13471
13472         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13473
13474 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13475
13476         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13477         Fall through to simple beep on error.
13478         Replace "extern" by real header file.
13479
13480         * linuxplay.c: Use nativesound.h
13481         (play_sound_data): Return error code. Be less verbose on error.
13482
13483         * sunplay.c: Use nativesound.h
13484         (play_sound_data): Return error code. Be less verbose on error.
13485
13486         * ntplay.c: Use nativesound.h
13487         (play_sound_data): Return fake error code
13488
13489         * sgiplay.c: Use nativesound.h
13490         (play_sound_data): Return error code
13491
13492         * hpplay.c: Use nativesound.h, partially implement
13493         new error code. Break compilation until finished.
13494         (play_sound_data): error code.
13495
13496         * nativesound.h (play_sound_file):
13497           (play_sound_data): Prototype in new header.
13498
13499 2000-03-31  Andy Piper  <andy@xemacs.org>
13500
13501         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13502         for toggle and radio buttons.
13503         (image_instantiator_buttons): use it.
13504
13505 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13506
13507         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13508         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13509         found. Scrollbar event probably belonged to some old config.
13510
13511 2000-03-31  Andy Piper  <andy@xemacs.org>
13512
13513         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13514         than 1.
13515         (initialize_widget_image_instance): default layout to
13516         LAYOUT_HORIZONTAL rather than 0.
13517         (widget_instantiate): reverse the item list at the end rather than
13518         every iteration.
13519         (layout_layout): re-code for the border text at the front of the
13520         item list rather than at the end.
13521         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13522         provided by the user.
13523         (widget_query_geometry): comment.
13524
13525 2000-03-30  Andy Piper  <andy@xemacs.org>
13526
13527         * glyphs-widget.c (image_instantiator_layout): allow standard
13528         widget keywords in layouts.
13529
13530         * gutter.c (output_gutter): cope with nil gutter contents.
13531
13532         * frame.c (Fset_frame_properties): add gutter docs.
13533
13534 2000-03-29  Andy Piper  <andy@xemacs.org>
13535
13536         * toolbar-msw.c (TBSTYLE_FLAT): add.
13537         (mswindows_output_toolbar): minor fiddling.
13538
13539 2000-03-29  Andy Piper  <andy@xemacs.org>
13540
13541         * gutter.c (output_gutter): force gutter size recalculation if
13542         what we are trying to display won't fit.
13543         (update_gutter_geometry): new function. A per-gutter version of
13544         update_frame_gutter_geometry.
13545         (update_frame_gutter_geometry): use it.
13546         (redraw_exposed_gutter): add extra debugging output.
13547
13548 2000-03-28  Mike Alexander  <mta@arbortext.com>
13549
13550         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13551         (pdump_file_unmap): Implement it on Windows
13552         (pdump_file_get): Save alocated handles for pdump_file_unmap
13553
13554 2000-03-28  Andy Piper  <andy@xemacs.org>
13555
13556         * gui.c (get_gui_callback): treat Quit specially.
13557
13558 2000-03-27  Andy Piper  <andy@xemacs.org>
13559
13560         * glyphs.c (image_instantiate): be careful to check in the same
13561         way we assigned.
13562
13563 2000-03-27  Didier Verna  <didier@xemacs.org>
13564
13565         * config.h.in: define the proper SMART_INCLUDE macro.
13566         handle renaming of `foo_h_path' to `foo_h_file'.
13567
13568         * database.c: ditto.
13569
13570         * emacs.c: ditto.
13571
13572         * linuxplay.c: ditto.
13573
13574         * terminfo.c: ditto.
13575
13576         * tooltalk.h: ditto.
13577
13578 2000-03-27  Andy Piper  <andy@xemacs.org>
13579
13580         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13581         gets updated whenever the face might have changed.
13582
13583 2000-03-26  Mike Alexander  <mta@arbortext.com>
13584
13585         * dumper.c (pdump_resource_free): Fix the comment.
13586
13587 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13588
13589         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13590
13591 2000-03-22  Mike Alexander  <mta@arbortext.com>
13592
13593         * dumper.c: Include Windows headers on Windows
13594         (pdump_resource_free): Add a body to the function
13595         (pdump_load): exe_name -> exe_path and add some comments.
13596
13597 2000-03-25  Mike Alexander  <mta@arbortext.com>
13598
13599         * gui.c (copy_gui_item_tree): Return a value in all cases
13600
13601 2000-03-21  Didier Verna  <didier@xemacs.org>
13602
13603         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13604         lwlib/config.h.in.
13605         (SMART_INCLUDE): new macro.
13606         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13607         the proper location.
13608
13609         * postgresql.c: use it.
13610
13611         * inline.c: ditto.
13612
13613 2000-03-24  Andy Piper  <andy@xemacs.org>
13614
13615         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13616         do this.
13617
13618 2000-03-24  Andy Piper  <andy@xemacs.org>
13619
13620         * redisplay-output.c (compare_runes): use image_instance_changed
13621         to detect changes. Do not depend on glyphs_changed, only depend on
13622         dirtiness.
13623          (redisplay_output_layout): add debug messages.
13624         (compare_runes): ditto.
13625
13626         * glyphs.h: declare new functions.
13627         (struct Lisp_Image_Instance): remove percent and associated
13628         accessors.
13629
13630         * gui.h: declare new copying functions.
13631
13632         * gui.c (copy_gui_item_tree): new function.
13633         (copy_gui_item): new function.
13634         (gui_item_id_hash): revert to standard hash.
13635         (gui_item_hash): ditto.
13636         (gui_item_hash_internal): deleted.
13637         (mark_gui_item): mark value.
13638         (gui_item_add_keyval_pair): add value.
13639         (gui_item_init): ditto.
13640         (gui_add_item_keywords_to_plist): ditto.
13641         (gui_item_equal): ditto.
13642         (syms_of_gui): add Q_value.
13643
13644         * glyphs-x.c (x_progress_gauge_update): use pending items and
13645         value for setting the state.
13646         (x_update_widget): don't set items from pending here.
13647
13648         * glyphs-widget.c (update_widget): update items here.
13649         (progress_gauge_set_property): use items for storing value. Put
13650         new value in pending items.
13651
13652         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13653         items for new value. Convert percent -> value.
13654         (mswindows_tab_control_update): don't update items here.
13655
13656         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13657         (update_subwindow): ditto.
13658         (image_instance_changed): new function. Compare hash values and
13659         past and present widget items.
13660         (image_instantiate): We more careful about where we instantiate
13661         things.
13662         (image_instantiate): add error checking.
13663
13664         * gutter.c (syms_of_gutter): use -hook.
13665
13666 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13667
13668         * console-tty.c (Fset_console_tty_input_coding_system): Use
13669         Qkeyboard.
13670         (Fset_console_tty_output_coding_system): Use Qterminal.
13671         (tty_init_console): Use Qkeyboard and Qterminal.
13672
13673 2000-03-21  Ben Wing  <ben@xemacs.org>
13674
13675         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13676         From Mike Alexander <mta@arbortext.com>.
13677
13678 2000-03-21  Ben Wing  <ben@xemacs.org>
13679
13680         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13681         process brokenness.  Proper implementation to come.
13682         * callproc.c:
13683         Rename call-process-internal to old-call-process-internal.
13684         New impl. in process.el.
13685
13686 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13687
13688         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13689
13690 2000-03-20  Andy Piper  <andy@xemacs.org>
13691
13692         * glyphs.c (full_list_hash): make hashes of the same elements in
13693         different orders return different values.
13694
13695 2000-03-20  Martin Buchholz <martin@xemacs.org>
13696
13697         * XEmacs 21.2.32 is released.
13698
13699 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13700
13701         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13702         (DFC_MALLOC_USE_CONVERTED_DATA):
13703         Add aliasing-safe casts to allow use with char* or unsigned char*
13704         lvalues.
13705
13706         * eldap.c (Fldap_open):
13707         (Fldap_search_basic):
13708         (Fldap_add):
13709         (Fldap_modify):
13710         Make C++-compilable.
13711         Make sure GCPRO'ed variables are initialized.
13712         Use temp variables to avoid repeated calls to Flength.
13713
13714 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13715
13716         * sysfile.h:
13717         Make sure PATH_MAX is always defined.
13718         Include limits.h for PATH_MAX.
13719         Deprecate use of MAXPATHLEN.
13720
13721 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13722
13723         * emacs.c: Add reinit_vars_of_fileio.
13724         * symsinit.h: Add reinit_vars_of_fileio.
13725         * fileio.c (reinit_vars_of_fileio): New.
13726         * fileio.c (Fmake_temp_name):
13727         Initialize temp_name random number from microseconds to make
13728         collisions even less likely.  Initialize always at process startup
13729         time.  (make-temp-name) used to return the same file name twice in
13730         a row when PDUMP.
13731         Random stylistic fiddling.
13732         Comment fixes.
13733
13734 2000-03-20  Andy Piper  <andy@xemacs.org>
13735
13736         * glyphs.c (image_instantiate): allow text glyphs to be
13737         instantiated in the minibuffer window.
13738
13739 2000-03-19  Andy Piper  <andy@xemacs.org>
13740
13741         * glyphs.c (image_instance_hash): be careful about which items we
13742         hash on.
13743
13744         * glyphs-widget.c (tab_control_set_property): record into pending
13745         items rather than the actual items.
13746
13747         * glyphs-x.c (x_update_widget): use pending items to update with.
13748
13749         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13750         to update with.
13751
13752         * glyphs.c (mark_image_instance): mark pending items.
13753
13754         * window.c (Fset_window_configuration): record the buffer.
13755         (Fselect_window): totally revert previous change which breaks many
13756         things.
13757
13758 2000-03-18  Andy Piper  <andy@xemacs.org>
13759
13760         * glyphs-msw.c (mswindows_tab_control_update): force selected
13761         item.
13762
13763         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13764         window domain cache, otherwise we get inconsistencies at
13765         startup. There is something fishy at startup which can lead to the
13766         minibuffer being the selected window when the gutter content is
13767         instantiated.
13768
13769         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13770         gcpros.
13771         (parse_gui_item_tree_children): ditto.
13772         (parse_gui_item_tree_item): ditto.
13773
13774         * glyphs.c (Fupdate_widget_instances): return something.
13775
13776 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13777
13778         * window.c (Fselect_window): Undo 2000-03-17 change.
13779
13780 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13781
13782         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13783         against v7.0 libraries.  Insta-coredump city until the postgres
13784         folks fix it.
13785
13786 2000-03-17  Andy Piper  <andy@xemacs.org>
13787
13788         * faces.c (complex_vars_of_faces): don't give the widget face an
13789         inherited background pixmap.
13790
13791         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13792         selected item.
13793
13794         * event-stream.c (Fdispatch_non_command_events): return something.
13795
13796         * gutter.c (output_gutter): use widget face.
13797         (clear_gutter): ditto.
13798
13799         * NEWS: adjust again.
13800
13801         * window.c (Fselect_window): make sure this runs to completion to
13802         avoid oddities with Fset_window_configuration.
13803         (Fcurrent_window_configuration): in general do not save the
13804         minibuffer as the selected window.
13805
13806         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13807
13808 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13809
13810         * emacs.c (Frunning_temacs_p): Revert previous patch.
13811         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13812
13813 2000-03-16  Andy Piper  <andy@xemacs.org>
13814
13815         * glyphs-x.c (x_tab_control_update): if no widget values then
13816         return.
13817
13818         * NEWS: update for new features.
13819
13820         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13821         synthetic event to the native system.
13822         (reinit_vars_of_event_Xt): set force_event_pending to
13823         emacs_Xt_force_event_pending.
13824
13825         * events.h (struct event_stream): add force_event_pending.
13826
13827         * specifier.c (recompute_one_cached_specifier_in_window): add
13828         comment.
13829
13830         * redisplay.c (redisplay_frame): don't call
13831         update_frame_subwindows. Reset subwindow cachels when
13832         subwindows_changed, removing this was an optimization too far.
13833
13834         * redisplay-output.c (compare_runes): reorganize so that we catch
13835         glyph changes when we want them. Set optimize_output when this
13836         would help layouts.
13837         (redisplay_output_layout): remove frame_really_changed, use
13838         optimize_output instead.
13839
13840         * redisplay-msw.c (mswindows_output_display_block): reset
13841         optimize_output after outputting a glyph.
13842         * redisplay-x.c (x_output_display_block): ditto.
13843         * redisplay-tty.c (tty_output_display_block): ditto.
13844
13845         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13846         functions.
13847         (gutter_specs_changed): do specific gutter positions.
13848         (top_gutter_specs_changed): new function. Only update the
13849         specified gutter specs.
13850         (bottom_gutter_specs_changed): ditto.
13851         (left_gutter_specs_changed): ditto.
13852         (right_gutter_specs_changed): ditto.
13853
13854         * gui.c (gui_item_hash_internal): new function, does a real hash.
13855         (gui_item_id_hash): use it.
13856         (gui_item_hash): hash the eval'ed gui_item.
13857
13858         * gui-x.c (popup_selection_callback): send an eval event to call
13859         Fupdate_widget_instances.
13860
13861         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13862         to call Fupdate_widget_instances.
13863
13864         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13865         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13866
13867         * glyphs.c: (update_frame_subwindows): deleted.
13868         (Fupdate_widget_instances): new function for updating the dirty
13869         state of widgets that might have changed.
13870         (syms_of_glyphs): add Qupdate_widget_instances.
13871         (full_list_hash): hash a list completely.
13872         (image_instance_hash): use it for items and properties.
13873
13874         * frame-msw.c (mswindows_size_frame_internal): remove unused
13875         variable.
13876
13877         * faces.h (struct face_cachel): fix comment.
13878
13879         * event-stream.c (Fdispatch_non_command_events): new
13880         function. Process non-command events, forcing an event cycle
13881         beforehand.
13882         (syms_of_event_stream): declare.
13883         (event_stream_force_event_pending): new function. Force an event
13884         on the native event queue so that an event cycle will occur next
13885         time we check.
13886
13887         * event-msw.c:
13888         (struct ntpipe_shove_stream):
13889         (mswindows_enqueue_dispatch_event):
13890         (mswindows_dequeue_dispatch_event):
13891         (mswindows_cancel_dispatch_event):
13892         (mswindows_pump_outstanding_events):
13893         (mswindows_drain_windows_queue):
13894         (mswindows_handle_paint):
13895         (mswindows_wnd_proc):
13896         (mswindows_key_to_emacs_keysym):
13897         (get_process_input_waitable):
13898         (emacs_mswindows_delete_stream_pair): re-indent file.
13899         (mswindows_need_event): do not process further fds if the windows
13900         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13901         fixes the 100% cpu problem.
13902         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13903
13904 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13905
13906         * alloc.h: New.
13907         * dumper.h: New.
13908         * dumper.c: New.
13909
13910         * emacs.c: Moved dump file searching to dumper.c.
13911         (Frunning_temacs_p): Fixed.
13912
13913         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13914         last_lrecord_type_index_assigned.
13915
13916 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13917
13918         * symsinit.h: Added reinit parameter to init_console_stream
13919         declaration.
13920
13921         * lisp.h: Added file parameter to pdump_load declaration.
13922
13923         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13924         support.  Added dump file searching.
13925
13926         * config.h.in: Added EMACS_PROGNAME.
13927
13928         * console-stream.c (init_console_stream): Fix reinitialisation
13929         when running from temacs.
13930
13931         * alloc.c (pdump): Add id support.
13932         (pdump_load): Add file parameter and signature/id support.
13933
13934         * Makefile.in.in: Add full pdump support.
13935
13936 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13937
13938         * postgresql.c: Update documentation to reflect latest code
13939         status.
13940         (print_result): Show tuple counts in printed representation when
13941         appropriate.
13942         (Fpq_put_nbytes): MULE-ize.
13943         (Fpq_get_line_async): Ditto.
13944
13945 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13946
13947         * postgresql.c (Fpq_lo_import): Fix return value.
13948         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13949
13950 2000-03-13  Ben Wing  <ben@xemacs.org>
13951
13952         * alloc.c (pdump_load):
13953         Fix compile warning under mswin.
13954
13955 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13956
13957         * postgresql.c: Mule-ization, bug fixes.
13958         Use PG_CODING to encapsulate coding system name changes.
13959         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13960         (pg-coding-system): Create.
13961
13962         (Fpq_conn_defaults): Mule-ize.
13963         (Fpq_connectdb): Mule-ize & bug fix.
13964         (Fpq_connect_start): Mule-ize.
13965         (Fpq_set_client_encoding): Mule-ize.
13966         (Fpq_finish): Document `DEAD' connection status.
13967         (Fpq_clear): Ditto.
13968         (Fpq_pgconn): Mule-ize.
13969         (Fpq_exec): Mule-ize & bug fix.
13970         (Fpq_send_query): Ditto.
13971         (Fpq_get_result): Ditto.
13972         (Fpq_res_status): Mule-ize.
13973         (Fpq_result_error_message): Mule-ize.
13974         (Fpq_ntuples): fix comments.
13975         (Fpq_fname): Mule-ize.
13976         (Fpq_fnumber): Mule-ize.
13977         (Fpq_ftype): fix comments.
13978         (Fpq_get_value): Mule-ize.
13979         (Fpq_cmd_status): Ditto.
13980         (Fpq_cmd_tuples): Ditto.
13981         (Fpq_oid_value): Ditto.
13982         (Fpq_notifies): Ditto.
13983         (Fpq_lo_import): Ditto.
13984         (Fpq_lo_export): Ditto.
13985         (Fpq_get_line): Ditto.
13986         (Fpq_put_line): Mule-ize and bug fix.
13987         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13988
13989 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13990
13991         * postgresql.c (vars_of_postgresql): Mule-ize.
13992         (Fpq_conn_defaults): Ditto.
13993
13994 2000-03-12  Ben Wing  <ben@xemacs.org>
13995
13996         * alloc.c (Fmake_byte_code):
13997         * alloc.c (debug_string_purity_print):
13998         * alloc.c (pdump_backtrace):
13999         * alloc.c (pdump_get_indirect_count):
14000         * alloc.c (pdump_register_sub):
14001         * alloc.c (pdump_register_object):
14002         * alloc.c (pdump_register_struct):
14003         * alloc.c (pdump_dump_data):
14004         * alloc.c (pdump_reloc_one):
14005         Minor cleanups.
14006
14007         * console-msw.c:
14008         * console-msw.c (GetConsoleHwnd):
14009         * console-msw.c (msw_hide_console):
14010         * console-msw.c (msw_show_console):
14011         * console-msw.c (msw_ensure_console_buffered):
14012         * console-msw.c (msw_output_console_string):
14013         * console-msw.c (console_type_create_mswindows):
14014
14015         a) Added functions to manipulate the console window for use with
14016         shell support.
14017
14018         b) Added support for writing text to the console, which is now
14019         used under Windows when xemacs is not being run non-interactively,
14020         to write text that would otherwise be destined for stdout because
14021         under these circumstances, text written to stdout tends to
14022         disappear and not be seen.
14023
14024         * console-msw.h:
14025         * event-Xt.c:
14026         * event-Xt.c (x_event_to_emacs_event):
14027         * event-Xt.c (describe_event_window):
14028         * events-mod.h (XEMACS_MOD_CONTROL):
14029         * events.c:
14030         * events.c (Fmake_event):
14031         * events.c (character_to_event):
14032         * events.c (event_to_character):
14033         * events.c (format_event_object):
14034         * events.c (Fevent_modifiers):
14035         * events.h:
14036         * events.h (struct key_data):
14037         * events.h (struct button_data):
14038         * events.h (struct misc_user_data):
14039         * frame-x.c (Fcde_start_drag_internal):
14040         * frame-x.c (Foffix_start_drag_internal):
14041         * gpmevent.c (Freceive_gpm_event):
14042         * keymap.c:
14043         * keymap.c (bucky_sym_to_bucky_bit):
14044         * keymap.c (control_meta_superify):
14045         * keymap.c (make_key_description):
14046         * keymap.c (keymap_lookup_directly):
14047         * keymap.c (create_bucky_submap):
14048         * keymap.c (keymap_store):
14049         * keymap.c (define_key_check_and_coerce_keysym):
14050         * keymap.c (define_key_parser):
14051         * keymap.c (define_key_alternate_name):
14052         * keymap.c (Fdefine_key):
14053         * keymap.c (raw_lookup_key_mapper):
14054         * keymap.c (struct map_keymap_unsorted_closure):
14055         * keymap.c (map_keymap_unsorted_mapper):
14056         * keymap.c (map_keymap_sort_predicate):
14057         * keymap.c (map_keymap_sorted):
14058         * keymap.c (accessible_keymaps_mapper_1):
14059         * keymap.c (where_is_recursive_mapper):
14060         * keymap.c (describe_map_mapper):
14061         * keymap.c (describe_map_sort_predicate):
14062         * keymap.c (describe_map):
14063         * keymap.c (complex_vars_of_keymap):
14064         And a number of other files, the key modifier preprocessor
14065         constants that xemacs uses have names that conflict with constants
14066         defined under MS Windows for other purposes, so they were renamed
14067         to begin with the prefix XEMACS_. The variables that hold such
14068         modifiers were changed to consistently be of type int to fix
14069         various compile warnings.
14070
14071         * console.c (complex_vars_of_console):
14072         * device.c:
14073         * device-msw.c:
14074         * device-msw.c (mswindows_finish_init_device):
14075         * device-msw.c (msw_get_workspace_coords):
14076         * device-msw.c (mswindows_device_system_metrics):
14077         and various other files, added support for a new
14078         device property called offset-workspace which returns the position
14079         of the upper left corner of the workspace area and goes along with
14080         the existing size-workspace property.
14081
14082         * dialog-msw.c:
14083         * dialog-msw.c (push_bufbyte_string_as_unicode):
14084         * dialog-msw.c (mswindows_popup_dialog_box):
14085         Added support for XEmacs-style accelerator specifications in
14086         button text.  Note: I didn't add support for this under X Windows,
14087         and somebody needs to do this.
14088
14089         * dialog.c:
14090         * dialog.c (Fpopup_dialog_box):
14091         Documented the support for accelerators that was just mentioned.
14092
14093         editfns.c (get_home_directory): Changed behavior under Windows
14094         when HOME not defined; former behavior was irretrievably broken.
14095
14096         * emacs.c:
14097         * emacs.c (main_1):
14098         * emacs.c (main):
14099         * minibuf.c (clear_echo_area_internal):
14100         * minibuf.c (echo_area_append):
14101         * print.c:
14102         * print.c (std_handle_out_external):
14103         * print.c (std_handle_out_va):
14104         * print.c (fatal):
14105         * print.c (write_string_to_stdio_stream):
14106         * print.c (output_string):
14107         * print.c (debug_print):
14108         * print.c (debug_backtrace):
14109         * print.c (debug_short_backtrace):
14110         Cleaned up the code that prints text to stdout so that this can be
14111         changed to output into a console window instead under MS Windows,
14112         as described above.
14113
14114         * eval.c:
14115         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
14116         * eval.c (internal_catch):
14117         * eval.c (unwind_to_catch):
14118         * eval.c (throw_or_bomb_out):
14119         * eval.c (condition_case_1):
14120         * eval.c (signal_1):
14121         * eval.c (check_error_state_sanity):
14122         * eval.c (call_with_suspended_errors_1):
14123         * eval.c (call_with_suspended_errors):
14124         * eval.c (reinit_vars_of_eval):
14125         Added code to catch throw loops and check for a pesky bug that may
14126         be gone now.
14127
14128         * event-msw.c:
14129         * event-msw.c (key_needs_default_processing_p):
14130         * event-msw.c (mswindows_wnd_proc):
14131         * event-msw.c (mswindows_modifier_state):
14132         * event-msw.c (emacs_mswindows_quit_p):
14133         * event-msw.c (vars_of_event_mswindows):
14134         a) Added support for using the alt key to select menu items as is
14135         standard under MS Windows.  This is controlled using the variable
14136         menu-accelerator-enabled, just like under X Windows.  There is an
14137         option on the options menu to turn this support on.  I really
14138         think that it should be on by default under Windows, but I'm not
14139         going to make this change yet.
14140
14141         b)  Added support for dynamic display size changes under Windows.
14142
14143         * event-stream.c:
14144         * event-stream.c (maybe_echo_keys):
14145         * event-stream.c (Fnext_event):
14146         * event-stream.c (command_builder_find_leaf):
14147         * event-stream.c (lookup_command_event):
14148         * event-stream.c (execute_command_event):
14149         * event-stream.c (pre_command_hook):
14150         * event-stream.c (post_command_hook):
14151         * event-stream.c (syms_of_event_stream):
14152         * event-stream.c (vars_of_event_stream):
14153         * event-stream.c (complex_vars_of_event_stream):
14154         * events.h (struct command_builder):
14155
14156         a) Tried to clean up a little bit the horribly written x-specific
14157         accelerator code that crept into this file.  I moved this code
14158         into menubar-x.c where it belongs. I also needed to move the
14159         command builder structure into the file events.h because it is
14160         accessed directly by this accelerator code.  What I didn't do, but
14161         which should be done at some point, is to properly abstract this
14162         code using device methods instead of the kludgy way that it
14163         currently hooks into the event code.
14164
14165         b) Added the lisp variables this-command-properties and
14166         last-command- properties, which should be used to synchronize two
14167         adjacent commands in preference to playing games with the variable
14168         this-command, which is typically what happens.
14169
14170         c) Added some slightly nasty code to hook into the lisp support
14171         for shifted- motion-key selection.  This is actually necessary for
14172         somewhat complicated reasons, which are described in
14173         simple.el. (NB: I think the proper thing would be to have the code
14174         that calls the pre and post command hooks also call out to generic
14175         lisp functions in simple.el, where all built-in stuff could be
14176         added.  I will think about this more.)
14177
14178         * event-unixoid.c (poll_fds_for_input):
14179         * lread.c (readchar):
14180         * redisplay-tty.c (tty_clear_frame):
14181         * redisplay-x.c (x_get_gc):
14182         * signal.c (interrupt_signal):
14183         And a whole bunch of other files: fixed up places that printed
14184         directly to stderr to instead call the function stderr_out so that
14185         the changes I made under Windows work correctly.
14186
14187         * filemode.c (mode_string):
14188         Warning fixes.
14189
14190         * frame-msw.c:
14191         * frame-msw.c (mswindows_size_frame_internal):
14192         Fixed the computation of frame size and position to keep the frame
14193         within the workspace area, rather than within the physical
14194         dimensions of the screen, so that the frame doesn't overlap window
14195         manager decorations, such as the start menu and toolbar, typically
14196         at the bottom of the screen.
14197
14198         * frame.c (vars_of_frame):
14199         Changed the default frame title format under MS Windows to consist
14200         of buffername-XEmacs, which is standard under MS Windows.  I think
14201         it might be a good idea to change this everywhere because I think
14202         it is superior to the current frame title format, but this is the
14203         kind of change that is likely to cause some people to get annoyed,
14204         so I'm not making it.
14205
14206         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
14207
14208         * gui-msw.c (mswindows_handle_gui_wm_command):
14209         Fixed compile warnings.
14210
14211         * gui-x.c:
14212         * gui-x.c (strdup_and_add_accel):
14213         * gui-x.c (button_item_to_widget_value):
14214         * gui-x.h:
14215         Added code to automatically put an accelerator onto the beginning
14216         of menu items that don't have one as is now the standard, and is
14217         described more later.  Also fixed things so that the menu item
14218         name can be an evaluated expression, again a new standard.
14219
14220         * gui.c:
14221         * gui.c (gui_item_add_keyval_pair):
14222         * gui.c (make_gui_item_from_keywords_internal):
14223         * gui.c (gui_add_item_keywords_to_plist):
14224         * gui.c (gui_item_accelerator):
14225         * gui.c (gui_name_accelerator):
14226         * gui.c (gui_item_included_p):
14227         * gui.c (gui_item_display_flush_left):
14228         * gui.c (gui_item_display_flush_right):
14229         * gui.c (parse_gui_item_tree_item):
14230         * gui.c (parse_gui_item_tree_children):
14231         * gui.c (parse_gui_item_tree_list):
14232         Mule-ized.  Cleanup.  GCPRO addition.
14233
14234         * line-number.c (buffer_line_number):
14235         * lisp.h:
14236         * lisp.h (EMACS_INT_MAX):
14237         Added the manifest constant EMACS_INT_MIN corresponding to the
14238         existing constant EMACS_INT_MAX.  This is partially to fix compile
14239         warnings under Windows, and partly for cleanliness.
14240
14241         * menubar-msw.c:
14242         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
14243         * menubar-msw.c (msw_translate_menu_or_dialog_item):
14244         * menubar-msw.c (displayable_menu_item):
14245         * menubar-msw.c (populate_menu_add_item):
14246         * menubar-msw.c (populate_or_checksum_helper):
14247         * menubar-msw.c (populate_menu):
14248         * menubar-msw.c (update_frame_menubar_maybe):
14249         * menubar-msw.c (prune_menubar):
14250         * menubar-msw.c (msw_char_is_accelerator):
14251         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
14252         * menubar-msw.c (mswindows_handle_wm_command):
14253         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
14254         * menubar-msw.c (mswindows_handle_wm_initmenu):
14255         * menubar-msw.c (mswindows_update_frame_menubars):
14256         * menubar-msw.c (mswindows_free_frame_menubars):
14257         * menubar-msw.c (mswindows_popup_menu):
14258         Fixed a bug in handling accelerators where an extra character
14259         would be displayed in the menu item.  Also generalized the
14260         function displayable_menu_item because it is now used by the
14261         dialog box code as well.  And finally, added code in the functions
14262         that create the menubar to extract a list of accelerators for the
14263         top level menubar, which is used in the event code to determine
14264         whether a particular alt-key combination should be used to invoke
14265         a menu item, or should be passed through to access the standard
14266         XEmacs keymap binding for this key combination.
14267
14268         Much needed GCPROing.
14269
14270         * menubar-x.c:
14271         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14272         * menubar-x.c (menu_item_descriptor_to_widget_value):
14273         * menubar-x.c (restore_in_menu_callback):
14274         * menubar-x.c (x_popup_menu):
14275         * menubar-x.c (menu_move_up):
14276         * menubar-x.c (menu_move_down):
14277         * menubar-x.c (menu_move_left):
14278         * menubar-x.c (menu_move_right):
14279         * menubar-x.c (menu_select_item):
14280         * menubar-x.c (command_builder_operate_menu_accelerator):
14281         * menubar-x.c (menu_accelerator_junk_on_error):
14282         * menubar-x.c (command_builder_find_menu_accelerator):
14283         * menubar-x.c (Faccelerate_menu):
14284         * menubar.h:
14285         Moved a whole bunch of code here that was previously in
14286         event-stream.c as described above.  There is also code connected
14287         to the new standard of adding an accelerator to the beginning of
14288         menu items that don't have one as described above and below.
14289
14290         * menubar.c:
14291         * menubar.c (menu_parse_submenu_keywords):
14292         * menubar.c (Fmenu_find_real_submenu):
14293         * menubar.c (Fnormalize_menu_item_name):
14294         * menubar.c (syms_of_menubar):
14295         * menubar.c (vars_of_menubar):
14296         * menubar.c (complex_vars_of_menubar):
14297
14298         a) Cleaned up a bunch of documentation and improved it.
14299
14300         b) XEmacs now automatically adds an accelerator onto the beginning
14301         of any menu items that don't have one.  I did this because there
14302         will inevitably be some menu items on the main menubar that don't
14303         have accelerators on them because the package that adds that
14304         particular menu item hasn't yet been fixed up to have accelerators
14305         in them and it looked rather strange to have some items with and
14306         some items without accelerators, especially since even in items
14307         without accelerators, you can, at least under windows, still
14308         access the item through an accelerator corresponding to the first
14309         character in the item's name.  If people don't like this behavior,
14310         I can add a variable to turn it off optionally, but I'm not sure
14311         this is a good idea because we really do need to have accelerators
14312         on all of the menu items, and if a package doesn't like the
14313         accelerators being put on the first character, then it should put
14314         the accelerators where they belong.
14315
14316         c) I made a behavior change, which is that the descriptor that
14317         specifies the text of the menu item, which formerly was just a
14318         string, can now also be an evaluated expression.  This makes this
14319         descriptor parallel with all of the others, which could also be
14320         evaluated expressions.  This also obviates the need for the
14321         keyword :label, which was previously listed in the documentation
14322         as unimplemented, and which was for the same purpose.
14323
14324         d) GCPROing.
14325
14326         * ntproc.c:
14327         * ntproc.c (new_child):
14328         * ntproc.c (sys_spawnve):
14329         * ntproc.c (find_child_console):
14330         * ntproc.c (sys_kill):
14331         Fixed compile warnings.  By the way, this file should really go
14332         away entirely, and this will happen as soon as Kirill makes his
14333         final round of process cleanups, which affect the function
14334         call-process.
14335
14336         * process-nt.c:
14337         * process-nt.c (struct nt_process_data):
14338         * process-nt.c (find_process_from_pid):
14339         * process-nt.c (send_signal_the_nt_way):
14340         * process-nt.c (enable_child_signals):
14341         * process-nt.c (find_child_console):
14342         * process-nt.c (send_signal_the_95_way):
14343         * process-nt.c (nt_finalize_process_data):
14344         * process-nt.c (ensure_console_window_exists):
14345         * process-nt.c (nt_create_process):
14346         * process-nt.c (nt_kill_child_process):
14347         * process-nt.c (nt_kill_process_by_pid):
14348         * process-nt.c (nt_open_network_stream):
14349         * process-nt.c (vars_of_process_nt):
14350         Copied over code from Emacs 20.5 to correctly send signals to sub-
14351         processes under Windows 95.  Also added code to automatically
14352         create and hide console window when a sub-process is created under
14353         Windows 95, which obviates the need for the separate runemacs.exe
14354         executable, and finally implemented some variables that were
14355         implemented in Emacs 20.5, but previously not in XEmacs.  These
14356         include mswindows- start-process-share-console and
14357         mswindows-start-process-inherit-error-mode. (Both of these only
14358         apply to Windows 95.)
14359
14360         * regex.c (regex_compile): Fixed a compile warning.
14361
14362         * select-msw.c:
14363         * select-msw.c (mswindows_own_selection):
14364         * select-msw.c (mswindows_get_foreign_selection):
14365         * select-msw.c (mswindows_disown_selection):
14366         * select-msw.c (console_type_create_select_mswindows):
14367         * select-msw.c (syms_of_select_mswindows):
14368         Cleaned up the file and implemented the device method
14369         selection_exists_p, which had accidentally been left out.  Also
14370         removed four lisp functions that were remnants from before the
14371         time when the selection code was properly device abstracted.
14372         These functions are no longer needed because there are generic
14373         equivalents, and because they were added recently and don't exist
14374         in FSF Emacs, I don't think there's any problem with just deleting
14375         them.
14376
14377         * sysdep.c:
14378         * sysdep.c (sys_subshell):
14379         Fixed a compile warning, although in this case there's probably
14380         something wrong with this code, and it ought to be looked into
14381         more thoroughly by somebody who understands it.
14382
14383         * window.c:
14384         * window.c (Fwindow_text_area_height):
14385         * window.c (Fwindow_width):
14386         * window.c (Fwindow_full_width):
14387         * window.c (Fwindow_pixel_width):
14388         * window.c (debug_print_window):
14389         * window.c (syms_of_window):
14390         Added functions window-text-area-height and window-full-width,
14391         which are functions for returning various width and height
14392         characteristics of a window. (One of these functions is necessary
14393         for making the file dialog box work correctly, and the other one
14394         was added for completeness.)  Also added a table to the
14395         documentation for window-height which describes the entire scheme
14396         for accessing width and height characteristics of a window.
14397
14398 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14399
14400         * nt.c (fstat): Added a comment for another problem with
14401         non-encapsulated [f]stat(), reported by Adrian Aichner
14402         <aichner@ecf.teradyne.com>.
14403
14404 2000-03-11  Andy Piper  <andy@xemacs.org>
14405
14406         * window.c (make_dummy_parent): initialize subwindow instance
14407         cache.
14408         (Fset_window_configuration): zero extent_modiff.
14409
14410 2000-03-10  Andy Piper  <andy@xemacs.org>
14411
14412         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14413         more changes can be triggered.
14414         (Fredisplay_frame): ditto.
14415         (Fredraw_device): ditto.
14416         (Fredisplay_device): ditto.
14417         (redisplay_frame): make non-static.
14418         (redisplay_frame): call update_frame_gutter_geometry outside of
14419         display proper.
14420
14421         * gutter.h: declare update_frame_gutter_geometry.
14422
14423         * redisplay.h: declare redisplay_frame.
14424
14425         * gutter.c (update_frame_gutter_geometry): move geometry changes
14426         in update_frame_gutters here. Geometry changes can only occur
14427         outside of redisplay.
14428         (update_frame_gutters): remove geometry change code.
14429         (Fredisplay_gutter_area): make sure that we are in display when we
14430         update and that we have flushed any size changes.
14431
14432 2000-03-11  Andy Piper  <andy@xemacs.org>
14433
14434         * alloc.c (pdump_dump_data): remove i & count shadows.
14435
14436 2000-02-27  Mike Alexander  <mta@arbortext.com>
14437
14438         * sysdep.h: Declare pdump_read_file
14439
14440         * sysdep.c (pdump_read_file): New function
14441
14442         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14443         dump data
14444
14445 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14446
14447         * lrecord.h: add `lrecord_type_pgsetenv'.
14448
14449 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14450
14451         * symsinit.h: declare (vars|syms)_of* functions.
14452         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14453
14454 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14455
14456         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14457
14458         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14459         GCCs.
14460
14461         * emacs.c (main_1): Call postgres initialization code.
14462
14463         * postgresql.h: New file.  PostgreSQL RDBMS support.
14464         * postgresql.c: New file.
14465
14466 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14467
14468         * redisplay-output.c (redisplay_output_display_block): Disable
14469         redundant code.
14470
14471 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14472
14473         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14474         (Fcanna_henkan_next): Ditto.
14475         (Fcanna_bunsetu_henkou): Ditto.
14476         (Fcanna_henkan_kakutei): Ditto.
14477         (Fcanna_henkan_end): Ditto.
14478         (Fcanna_henkan_quit): Ditto.
14479         (Fcanna_henkan_next): Set retun value correctly.
14480         (c2mu): Use unsigned char instead of signed char.
14481
14482 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14483
14484         * emacs.c (main_1): Always call syms_of_gui.
14485         * inline.c: include gui.h
14486
14487 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14488
14489         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14490         converted to Lisp_Object.
14491         (Qtop_bottom): New variable.
14492         (syms_of_redisplay): Initialize it.
14493         * redisplay.h (Vvisible_bell): Ditto.
14494         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14495         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14496         only flash top and bottom.
14497
14498 2000-03-08  Andy Piper  <andy@xemacs.org>
14499
14500         * buffer.c (Frename_buffer): record new buffer name the right way.
14501
14502 2000-03-08  Andy Piper  <andy@xemacs.org>
14503
14504         * glyphs.c (update_subwindow): increase hash depth so that widget
14505         items get picked up properly.
14506
14507         * redisplay-output.c (compare_runes): increase hash depth so that
14508         widget items get picked up properly.
14509
14510 2000-03-08  Andy Piper  <andy@xemacs.org>
14511
14512         * gutter.c (output_gutter): add some debug.
14513
14514         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14515         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14516         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14517
14518         * redisplay-output.c (compare_runes): use display_hash to
14519         determine if glyphs really are not the same.
14520
14521         * glyphs.c (update_subwindow): check display_hash to see if
14522         anything really needs to be updated. If not then do
14523         nothing. Record the display_hash after updating.
14524         (image_instance_equal): compare the image_instance face also.
14525
14526 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14527
14528         * redisplay.h: Fix comment style.
14529
14530 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14531
14532         * consle-msw.h (struct mswindows_frame):
14533         Added new member paint_pending to indicate whether a WM_PAINT
14534         magic event has been queued for this frame.
14535
14536         * event-msw.c (mswindows_drain_windows_queue):
14537         Don't queue a WM_PAINT magic event if one is already queued.
14538         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14539
14540         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14541
14542 2000-03-07  Didier Verna  <didier@xemacs.org>
14543
14544         * dired.c: #include `regex.h' after `sysfile.h'.
14545
14546 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14547
14548         * sound.c (init_nas_sound): Fix compiler warning.
14549
14550         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14551         (FREE_STRUCT_P):
14552         (MARK_STRUCT_AS_FREE):
14553         (MARK_STRUCT_AS_NOT_FREE):
14554         Make `gcc -fstrict-aliasing' work properly.
14555
14556 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14557
14558         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14559         (mswindows_delete_device): Call CoUnnitialize().
14560
14561         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14562
14563 2000-02-25    <CraigL@DyCon.com>
14564
14565         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14566         <errno.h>.
14567
14568         * sysdep.c: This extern declaration for environ prevents MinGW
14569         from finding the variable in CRTDLL.DLL.
14570
14571         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14572         windows headers.
14573         (SHGFI_EXETYPE): ..
14574         (WM_MOUSEWHEEL): ..
14575         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14576         definitions.
14577         (MMRESULT): Removed, now defined in cygwin's windows headers.
14578         (TIMECAPS): ..
14579         (uid_t,gid_t,pid_t,ssize_t): ..
14580         (_timeb): Removed, MinGW defines both _timeb and timeb.
14581         (HAVE_H_ERRNO): Added.
14582         (HAVE_TZNAME): Added, configure is not detecting this.
14583
14584 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14585
14586         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14587         * syntax.c (syntax_match): Use it.
14588
14589         * cmds.c: Import auto-fill-chars from FSF Emacs.
14590         (Vauto_fill_chars): New variables.
14591         (internal_self_insert): Check Vauto_fill_chars.
14592         (vars_of_cmds):
14593         Declare auto-fill-chars as a Lisp variable and initialize it.
14594
14595 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14596
14597         * fileio.c (Fmake_symbolic_link):
14598         (Ffile_symlink_p):
14599         Run handlers even if local machine doesn't have symlinks.
14600
14601 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14602
14603         * event-msw.c (mswindows_drain_windows_queue):
14604         Don't generate paint magic events for non-XEmacs frames.
14605
14606 2000-03-05  Andy Piper  <andy@xemacs.org>
14607
14608         * redisplay.c (redisplay_frame): generate_displayable_area and
14609         friends assumes that we are not in GC, we therefore have to make
14610         sure that this doesn't happen.
14611
14612         * gutter.c (calculate_gutter_size): generate_displayable_area
14613         assumes that we are not in GC, we therefore have to make sure that
14614         this doesn't happen.
14615
14616 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14617
14618         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14619
14620 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14621
14622         * redisplay.c (regenerate_window): Make sure we set a sane value
14623         for end_pos even if we jump out of the loop.
14624         (regenerate_window): Answer Ben's question :-).
14625         (start_end_of_last_line): Add may_error argument.
14626         (start_of_last_line):
14627         (end_of_last_line): Pass may_error = 0.
14628         (end_of_last_line_may_error): New function.
14629         (pixel_to_glyph_translation): Use it, so we don't crash in
14630         event_to_glyph.
14631
14632 2000-03-04  Andy Piper  <andy@xemacs.org>
14633
14634         * window.h (struct window): add gutter_extent_modiff.
14635
14636         * window.c (allocate_window): zero out gutter_extent_modiff.
14637
14638         * redisplay.h: declare sync_display_line_structs.
14639
14640         * redisplay.c (add_glyph_rune): add a better comment.
14641
14642         * redisplay-output.c (sync_display_line_structs): made non-static.
14643         (compare_runes): remove unneccesary glyph cachel access.
14644
14645         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14646
14647         * gutter.c (output_gutter): don't output the gutter if extent
14648         changes only involve extents in buffers. use 4 sets of display
14649         lines.
14650         (gutter_extent_signal_changed_region_maybe): new function. Mark
14651         extents in gutters as changed.
14652         (update_frame_gutters): use 4 sets of display lines.
14653         (reset_gutter_display_lines): ditto.
14654         (free_frame_gutters): ditto.
14655         (redraw_exposed_gutter): force output of gutters.
14656
14657         * frame.h (struct frame): add 4 sets of gutter display lines.
14658
14659         * extents.c: (extent_changed_for_redisplay): signal changes to
14660         extents in strings in the gutter as well as extents in buffers.
14661
14662 2000-03-02  Andy Piper  <andy@xemacs.org>
14663
14664         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14665
14666         * frame.c (Fmake_frame): make sure the gutters get initialized
14667         after the frame is visible.
14668         (set_frame_selected_window): re-arrange compilation macros a
14669         little.
14670         (change_frame_size_1): mark gutters changed.
14671
14672         * device.c (Fset_device_class): mark gutters changed.
14673
14674 2000-03-01  Andy Piper  <andy@xemacs.org>
14675
14676         * window.c (window_top_frame_gutter_height): deleted.
14677         (window_bottom_frame_gutter_height): ditto.
14678         (window_left_frame_gutter_height): ditto.
14679         (window_right_frame_gutter_height): ditto.
14680         (window_top_gutter_height): don't use them.
14681         (window_bottom_gutter_height): ditto.
14682         (window_left_gutter_width): ditto.
14683         (window_right_gutter_width): ditto.
14684         (Fsplit_window): ditto.
14685         (Fwindow_pixel_edges): don't use border dimensions here.
14686
14687         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14688         (update_scrollbar_instance): ditto.
14689
14690         * redisplay.c (generate_modeline): don't take gutters into account.
14691         (generate_modeline): ditto.
14692         (redisplay_frame): small gutter display optimization.
14693
14694         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14695
14696         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14697         gutters into account.
14698
14699         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14700         for window position and type.
14701
14702         * gutter.c (get_gutter_coords): fix for frame gutters.
14703         (update_frame_gutters): update frame geometry if the gutters have
14704         changed.
14705         (init_frame_gutters): record current gutter geometries.
14706
14707         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14708         var.
14709         (mswindows_widget_instantiate): ditto.
14710
14711         * frame.h (struct frame): add current_gutter_bounds.
14712
14713         * frame.c (change_frame_size_1): position window and minibuffer
14714         appropriately taking into account the frame gutters.
14715
14716         * frame-x.c: (x_initialize_frame_size): take into account the
14717         frame gutters.
14718
14719 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14720
14721         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14722
14723 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14724
14725         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14726
14727 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14728
14729         * file-coding.c (reset_decoding_stream): Clear previous
14730         detection state when autodetect.
14731
14732 2000-02-29  Didier Verna  <didier@xemacs.org>
14733
14734         * extents.c (set_extent_glyph_1): don't require extents to be
14735         attached.
14736
14737 2000-02-27  Andy Piper  <andy@xemacs.org>
14738
14739         * gutter.c (Fset_default_gutter_position): don't default left and
14740         right gutter visibility to t.
14741         (Fset_default_gutter_position): run
14742         default-gutter-position-changed-hook.
14743         (syms_of_gutter): add default-gutter-position-changed-hook.
14744
14745 2000-02-26  Andy Piper  <andy@xemacs.org>
14746
14747         * specifier.c (Fmake_specifier): add gutter references.
14748
14749         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14750
14751         * lisp.h: declare Fvalid_plist_p.
14752
14753         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14754         as changed.
14755         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14756         well as its visibility so that it gets reconstructed.
14757         (construct_window_gutter_spec): new function. Construct a string
14758         to be displayed in the gutter from a plist of strings. Take care
14759         to only use elements that are declared as visible.
14760         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14761         WINDOW_GUTTER.
14762         (gutter_validate): allow plists of strings in the specifier.
14763         (gutter_specs_changed): construct the real_gutter from the gutter
14764         specs using construct_window_gutter_spec.
14765         (gutter_visible_validate): gutter-visible is a new specifier type.
14766         (Fgutter_visible_specifier_p): new function for the new specifier.
14767         (syms_of_gutter): declare gutter-visible and
14768         Fgutter_visible_specifier_p.
14769         (specifier_type_create_gutter): intitalize new gutter-visible
14770         specifier.
14771         (reinit_specifier_type_create_gutter): ditto.
14772         (specifier_vars_of_gutter): use new specifier type for gutter
14773         visibility.
14774         (init_frame_gutters): construct real_gutter correctly.
14775         (Fgutter_specifier_p): beef up documentation.
14776         (Fgutter_size_specifier_p): ditto.
14777
14778         * winslots.h: add real_gutter slots.
14779
14780 2000-02-25  Andy Piper  <andy@xemacs.org>
14781
14782         * device-msw.c: Be kind to older cygwin versions. From Raymond
14783         Toy <toy@rtp.ericsson.se>.
14784
14785         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14786         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14787
14788 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14789
14790         * elhash.c (MARK_OBJ): Practice macro hygiene.
14791
14792 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14793
14794         * miscplay.c: s/__inline__/inline/g;
14795         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14796         (get_device_compdc): INLINE ==> static inline
14797         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14798         find -name '*.h' | \
14799         xargs global-replace \
14800         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14801
14802 2000-02-25  Andy Piper  <andy@xemacs.org>
14803
14804         * window.c (window_top_frame_gutter_height): new function.
14805         (window_top_window_gutter_height): ditto.
14806         (window_top_gutter_height): use them.
14807         (window_bottom_frame_gutter_height): new function.
14808         (window_bottom_window_gutter_height): ditto.
14809         (window_bottom_gutter_height): use them.
14810         (window_left_window_gutter_width): new function.
14811         (window_left_frame_gutter_width): ditto.
14812         (window_left_gutter_width): use them.
14813         (window_right_window_gutter_width): new function.
14814         (window_right_frame_gutter_width): ditto.
14815         (window_right_gutter_width): use them.
14816         (window_pixel_height): new function. calulate window pixel height
14817         with frame gutter involvement.
14818         (Fsplit_window): calculate new sizes taking frame gutters into
14819         account.
14820         (window_char_height_to_pixel_height): don't include frame gutters.
14821         (window_char_height): use window_pixel_height.
14822         (window_pixheight): rename from window_pixel_height.
14823         (change_window_height): use it.
14824         (window_pixel_height_to_char_height): don't include frame gutters.
14825         (window_char_width_to_pixel_width): ditto.
14826
14827 2000-02-25  Andy Piper  <andy@xemacs.org>
14828
14829         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14830         if it is.
14831
14832 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14833
14834         * alloc.c (staticpro):
14835         (staticpro_nodump):
14836         (dumpstruct):
14837         (dumpopaque):
14838         (pdump_wire):
14839         (pdump_wire_list):
14840         (compact_string_chars):
14841         (pdump_dump_wired):
14842         Convert:  if (foo) abort();  ==>  assert (! foo);
14843
14844         * eldap.c (Fldap_search_basic):
14845         (Fldap_add):
14846         (Fldap_modify):
14847         (Fldap_delete):
14848         Fix compiler warnings, and possible crashes if (random) return
14849         value were to be used.
14850
14851 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14852
14853         * device-msw.c: Workaround ResetDC failure.
14854
14855         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14856         applying a devmode.
14857
14858         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14859         (mswindows_text_width): Do not start printer page.
14860
14861         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14862
14863         * glyphs-msw.c: Added image methods to msprinter console and
14864         msprinter-specific image instantiation.
14865
14866 2000-02-20  Mike Alexander  <mta@arbortext.com>
14867
14868         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14869         to avoid crashes when selection-sets-clipboard is on
14870         (mswindows_own_selection): ditto
14871
14872 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14873
14874         * glyphs-msw.c:
14875         * redisplay-msw.c (get_frame_dc):
14876         (get_frame_compdc):
14877         * console-msw.h:
14878         * device-msw.c (mswindows_init_device):
14879         (mswindows_delete_device):
14880         (msprinter_init_device):
14881         (msprinter_delete_device):
14882         * frame-msw.c (mswindows_init_frame_1):
14883         (mswindows_delete_frame):
14884         (msprinter_init_frame_3):
14885         (msprinter_delete_frame): Move compatible DC to device object from
14886         frame object, for both mswindows and msprinter. Only one at a time
14887         is needed, it is a real waste to have one per frame!
14888
14889 2000-02-23  Andy Piper  <andy@xemacs.org>
14890
14891         * glyphs.c: add dynamic width and height elements.
14892         (image_instance_equal): ditto.
14893
14894         * glyphs-widget.c (widget_query_geometry): calculate width and
14895         height dynamically if required.
14896         (initialize_widget_image_instance): initialize dynamic dimensions.
14897         (widget_instantiate): pick-up dynamic dimensions.
14898
14899         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14900         dynamic determination. Add appropriate macros.
14901
14902         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14903         dimensions safe.
14904         (WINDOW_GUTTER_SIZE): ditto.
14905         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14906
14907         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14908         inline.
14909         (get_frame_dc): ditto.
14910
14911         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14912         here.
14913
14914 2000-02-23  Martin Buchholz <martin@xemacs.org>
14915
14916         * XEmacs 21.2.31 is released.
14917
14918 2000-02-22  Ben Wing <ben@xemacs.org>
14919
14920         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14921
14922 2000-02-22  Andy Piper  <andy@xemacs.org>
14923
14924         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14925
14926 2000-02-21  Mike Sperber <mike@xemacs.org>
14927
14928         * .dbxrc:
14929         * .gdbinit:
14930         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14931         variables.
14932
14933 2000-02-21  Mike Sperber <mike@xemacs.org>
14934
14935         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14936
14937 2000-02-21  Martin Buchholz <martin@xemacs.org>
14938
14939         * XEmacs 21.2.30 is released.
14940
14941 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14942
14943         Performance hacking.
14944         * *.c (syms_of_*):
14945         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14946         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14947         * emacs.c (main_1):
14948         * lisp.h (DEFUN):
14949         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14950         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14951         * symeval.h (DEFVAR_SYMVAL_FWD):
14952         * symbols.c (guts_of_unbound_marker):
14953         Make all c_readonly objects also lisp_readonly and marked for life.
14954         * lrecord.h (struct lrecord_implementation):
14955         Document flags better.
14956         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14957         * lrecord.h (DECLARE_LRECORD):
14958         * lrecord.h (XSETRECORD):
14959         * lrecord.h (RECORDP):
14960         * lrecord.h (RECORD_TYPEP):
14961         * lrecord.h (RECORD_MARKER): New.
14962         * lrecord.h (error_check_*):
14963         * lrecord.h (CONCHECK_NONRECORD):
14964         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14965         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14966         * lrecord.h (set_lheader_implementation):
14967         * lrecord.h (enum lrecord_type): New.
14968         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14969         * alloc.c (disksave_object_finalization_1):
14970         * alloc.c (mark_object):
14971         * alloc.c (lrecord_type_index):
14972         * alloc.c (tick_lcrecord_stats):
14973         * alloc.c (Fgarbage_collect):
14974         * alloc.c (init_alloc_once_early):
14975         * alloc.c (pdump_load):
14976         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14977         * alloc.c (lrecord_type_index): Delete.
14978         Make lisp object type indexes be constant.
14979           Makes (byte-compile) 5% faster.
14980         Put all marker functions into their own array.
14981           Makes (garbage-collect) 5% faster.
14982         Optimize SYMBOL_VALUE_MAGIC_P.
14983           Makes (byte-compile) 2-3% faster.
14984         * config.h.in (gc_checking_assert): New.
14985         * alloc.c: Use gc_checking_assert().
14986         * .dbxrc: Make compatible with new object type implementation.
14987         * .gdbinit: Make compatible with new object type implementation.
14988         * alloc.c: Delete all symbols defined only for debugging, such as
14989         Lisp_Type_Vector and lrecord_charset.
14990
14991 2000-02-21  Andy Piper  <andy@xemacs.org>
14992
14993         * gui-msw.c (Fmswindows_shell_execute): fix file location
14994         problems.
14995
14996         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14997         unshowing so that set_window_buffer doesn't undo
14998         kill_buffer_hook's hard work.
14999
15000         * glyphs-widget.c (tab_control_query_geometry): don't count the
15001         first item when calculating geometry.
15002
15003         * glyphs.c (map_subwindow): remove redundant code.
15004         (update_frame_subwindows): be more circumspect about when to
15005         update subwindows.
15006
15007         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
15008         when items haven't changed. Update faces if faces have changed as
15009         well as just the widget face.
15010         (x_tab_control_update): Update faces if faces have changed as well
15011         as just the widget face.
15012
15013 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15014
15015         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
15016         registration.
15017         (build_syscolor_string): Use mswindows_color_to_string to try to
15018         get a named color.
15019         (mswindows_device_system_metrics): Reverse the foreground and
15020         background colors so that they match the documentation.
15021
15022         * objects-msw.c: (mswindows_X_color_map): tweak some values so
15023         they match the default Windows palette.
15024         (mswindows_color_to_string): New function.
15025
15026 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15027
15028         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
15029
15030 2000-02-18  Olivier Galibert  <galibert@pobox.com>
15031
15032         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
15033         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
15034
15035         * symbols.c (init_symbols_once_early): Removed obsolete
15036         DATA_SEG_BITS related kludge.
15037         (defvar_magic): Ditto.
15038
15039         * malloc.c: Removed obsolete DATA_SEG_BITS
15040         * ralloc.c: Ditto.
15041         * mem-limits.h: Ditto.
15042
15043         * Makefile.in.in: Removed obsolete HAVE_SHM
15044         * emacs.c: Ditto.
15045
15046 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15047
15048         *  device-msw.c (mswindows_delete_device): Free DDE string
15049         handles.
15050
15051 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15052
15053         * keymap.c (get_keyelt):
15054         * unexnt.c (unexec):
15055         * vm-limit.c (memory_warnings):
15056         * ntheap.c (recreate_heap):
15057         * ntheap.h (UNINIT_PTR):
15058         * select-msw.c (Fmswindows_get_clipboard):
15059         (Fmswindows_set_clipboard):
15060         * objects-msw.h (MSWINDOWS_BAD_HFONT):
15061         * objects-msw.c:
15062         * menubar-msw.c (displayable_menu_item):
15063         * glyphs-msw.c:
15064         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
15065         * sysdep.c (sys_subshell):
15066         * process-nt.c (nt_create_process):
15067         * nt.c (normalize_filename):
15068         (dostounix_filename):
15069         (unixtodos_filename):
15070         * ntproc.c (win32_executable_type):
15071         * ntplay.c (play_sound_data_1):
15072         (play_sound_file):
15073         * editfns.c (get_home_directory):
15074         * event-msw.c (struct winsock_stream):
15075         (mswindows_dde_callback):
15076         * device-msw.c (msprinter_init_device):
15077         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
15078
15079         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
15080         mswindows_clear_toolbar were swapped!
15081
15082         * objects-msw.c:(colormap_t):
15083         (fontmap_t):
15084         * emacs.c (struct standard_args): Fixed const jumble.
15085
15086         * glyphs-widget.c (update_widget): Fixed comparison notation.
15087
15088         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
15089
15090         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
15091         __declspec(noreturn) syntax.
15092
15093 2000-02-19  Martin Buchholz  <martin@xemacs.org>
15094
15095         * eldap.c (Fldap_open):
15096         (Fldap_search_basic):
15097         (Fldap_add):
15098         (Fldap_modify):
15099         Use new coding system conversion macros.
15100
15101 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15102
15103         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
15104
15105 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
15106
15107         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
15108         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15109
15110         * eldap.c (Qadd, Qreplace): New constant symbols
15111         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
15112         interruptions by XEmacs signals
15113         Remove unnecessary calls to slow_down_interrupts and
15114         speed_up_interrupts
15115         (Fldap_search_basic): Renamed from Fldap_search_internal
15116         Added new optional parameter VERBOSE that triggers the
15117         display of progress messages
15118         Remove unnecessary calls to slow_down_interrupts and
15119         speed_up_interrupts
15120         LDAP result code analysis rewritten
15121         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15122         (syms_of_eldap): Define the new symbols and functions
15123
15124
15125 2000-02-17  Martin Buchholz  <martin@xemacs.org>
15126
15127         * realpath.c: Determine PATH_MAX maximally portably.
15128
15129         * insdel.c (bytecount_to_charcount): Optimize.
15130         The function used to be optimized for entirely ASCII sequences.
15131         Now it is optimized for successive characters from the same
15132         charset.  This also wins big for _mostly_ ASCII sequences.
15133
15134         * fileio.c (Ffile_truename): convert return from realpath() using
15135         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
15136         - Rewrite GCPROing slightly.
15137
15138         * sysdep.c (sys_open): Do filename conversion, like all other
15139         sys_* functions.  Fixes bug:
15140         (let ((file-name-coding-system 'iso-8859-2))
15141            (write-region x y latin2-name))
15142         ==> writes filename using internal encoding.
15143
15144 2000-02-18  Martin Buchholz  <martin@xemacs.org>
15145
15146         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
15147         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
15148         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
15149         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
15150         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
15151         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
15152         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
15153         (CONST_IF_NOT_DEBUG): Delete.
15154         * alloc.c (this_one_is_unmarkable): Delete.
15155         (mark_object): Don't check for this_one_is_unmarkable. Use the
15156         c_readonly flag instead.
15157         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
15158
15159 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15160
15161         * event-msw.c (mswindows_drain_windows_queue):
15162         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
15163         away redundant repaint events.
15164
15165 2000-02-17  Andy Piper  <andy@xemacs.org>
15166
15167         * redisplay.h: declare mark_redisplay_structs.
15168
15169         * redisplay.c (redisplay_window):
15170         (redisplay_frame): don't check subwindows_state_changed.
15171         (mark_redisplay): mark gutters here.
15172
15173         * glyphs.c: (instantiate_image_instantiator): always layout if we
15174         haven't done so already.
15175         (allocate_image_instance): don't mark as dirty.
15176         (update_subwindow): bind inhibit_quit.
15177
15178         * gutter.c (mark_gutters): new function.
15179
15180         * glyphs-x.c (x_update_widget): Always resize to get round a
15181         widget bug.
15182
15183         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
15184         breaking absolutely everything.
15185
15186         * gutter.h: declare mark_gutters.
15187
15188 2000-02-16  Martin Buchholz <martin@xemacs.org>
15189
15190         * XEmacs 21.2.29 is released.
15191
15192 2000-02-15  Olivier Galibert  <galibert@pobox.com>
15193
15194         * fns.c (size_bit_vector): Fix computation of the size.
15195
15196 2000-02-15  Martin Buchholz  <martin@xemacs.org>
15197
15198         * *.[ch]: Change CONST to const globally.
15199         find -name '*.[ch]' | \
15200         xargs global-replace \
15201         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
15202         - Remove vestigial references to CONST_IS_LOSING
15203
15204 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15205
15206         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
15207         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
15208         events instead of dispatching them directly.
15209         (mswindows_handle_paint): New function to do repainting.
15210         (mswindows_wnd_proc):
15211         (emacs_mswindows_handle_magic_event): Call above function.
15212
15213 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15214
15215         * objects-msw.c (mswindows_create_font_variant): Return the new
15216         font handle.
15217         (initialize_font_instance): Get font metrics from the underlined
15218         variant of the font to cope with the case where the underlined
15219         font has a bigger descent.
15220
15221 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15222
15223         * gui.c (gui_item_accelerator): Return the first underlined
15224         character in item name.
15225
15226 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15227
15228         * lisp.h: Added Qprinter.
15229
15230         * general.c (syms_of_general): Initialized it.
15231
15232         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
15233         (get_frame_dc):
15234         (get_frame_compdc): Made inline.
15235
15236         * console.h (struct console_methods): Added eject_page method.
15237
15238         * frame.h: Added FRAME_DISPLAY_P and friends.
15239         Aligned backslahes in many macros in more readable fashion.
15240         Added page_number to struct frame, and an accessor macro
15241         for it.
15242
15243         * defice.h: Added DEVICE_DISPLAY_P and friends.
15244
15245         * device.c (Fdevice_printer_p): Used these.
15246
15247         * frame.c (allocate_frame_core): Initialize page number.
15248         (Fprint_job_page_number):
15249         (Fprint_job_eject_page): Implemented.
15250
15251         * frame-msw.c (msprinter_eject_page): Added method.
15252         (msprinter_start_page): Added.
15253
15254         * window.c (Fwindow_truncated_p): Fixed docstring.
15255         (Fwindow_last_line_visible_height): Implemented.
15256
15257 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15258
15259         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15260
15261 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15262
15263         * syntax.c (scan_words): Always advance at least one character.
15264
15265 2000-02-13  Andy Piper  <andy@xemacs.org>
15266
15267         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15268         to make sure the glyph is in the cachels.
15269
15270         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15271         global image instance flag.
15272         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15273         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15274
15275         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15276         (Fset_image_instance_property): mark layout as changed.
15277         (invalidate_glyph_geometry_maybe): mark layout as changed.
15278         (glyph_width): use new NEEDS_LAYOUT macro.
15279         (glyph_ascent): ditto.
15280         (glyph_descent): ditto.
15281         (glyph_height): ditto.
15282         (image_instance_layout): mark layout as clean after laying out.
15283         (update_subwindow): don't mark layout as clean here.
15284
15285         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15286         should no longer be needed.
15287
15288         * glyphs-x.c (x_update_widget): sanitize asserts.
15289         (x_finalize_image_instance): sanitize assignment to widgets.
15290
15291         * glyphs-widget.c (widget_instantiate): don't need to clear the
15292         layout flag here.
15293
15294 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15295
15296         * sysdep.c (getcwd): Use standard prototype.
15297         * sysdep.h (getcwd): Use standard prototype.
15298
15299         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15300         (sequence, start, end).
15301         Remove redundant type checking.
15302         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15303         view of `caller-protects') to avoid a crash where the real fix was
15304         found elsewhere.
15305
15306 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15307
15308         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15309
15310         * s/sol2.h: Remove feature macro initialization.
15311
15312         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15313         (vector_hash): New.  Code from internal_hash.
15314         * lrecord.h:
15315         Fix up allocation subsystem comments.
15316
15317         * config.h.in: Add __EXTENSIONS__ for Solaris.
15318
15319         * systime.h (EMACS_GETTIMEOFDAY): New.
15320         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15321         Remove Solaris-specific code.
15322         Use void* for the (ignored) second arg for gettimeofday().
15323
15324         * elhash.c (hash_table_hash): Implement it, finally.
15325         * elhash.c:  Use hashcode_t.
15326
15327         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15328         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15329
15330         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15331         * fns.c (size_bit_vector):
15332         * alloc.c (size_vector):
15333         (make_vector_internal):
15334         (make_bit_vector_internal):
15335         (sweep_bit_vectors_1):
15336         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15337
15338 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15339
15340         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15341         Include strings.h to avoid warnings for bzero and strcasecmp.
15342
15343 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15344
15345         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15346         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15347
15348         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15349         sequence.
15350
15351 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15352
15353         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15354         use a value field instead.
15355         (symbol_value_forward_forward): Use value field.
15356         (DEFVAR_SYMVAL_FWD): Use value field.
15357         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15358         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15359         (DEFVAR_CONST_INT): Ditto.
15360         (DEFVAR_BOOL): Ditto.
15361         (DEFVAR_CONST_BOOL): Ditto.
15362         (DEFVAR_INT_MAGIC): Ditto.
15363         (DEFVAR_BOOL_MAGIC): Ditto.
15364
15365         * symbols.c (guts_of_unbound_marker): Use value field.
15366         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15367         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15368
15369         * lisp.h: Declare dumpopaque and noninteractive1.
15370
15371         * alloc.c (dumpopaque): Added.
15372         (pdump_dump_opaquevec): Added.
15373         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15374         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15375         noninteractive.
15376
15377 2000-02-10  Andy Piper  <andy@xemacs.org>
15378
15379         * glyphs.c (image_instance_layout): if the size changes, mark it
15380         as such.
15381
15382         * redisplay-output.c (redisplay_output_layout): Update the
15383         subwindow here.
15384         (redisplay_output_subwindow): ditto.
15385
15386         * glyphs.c (update_subwindow): make sure we reset flags for
15387         layouts as well as everything else.
15388
15389         * glyphs-widget.c (layout_layout): don't need to set the instances
15390         dimensions here.
15391
15392 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15393
15394         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15395         not HAVE_DLOPEN, which is a lower-level thing.
15396
15397         * .cvsignore: Ignore gmon.out
15398
15399 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15400
15401         * .cvsignore: Ignore portable dumper xemacs.dmp file
15402
15403 2000-02-09  Andy Piper  <andy@xemacs.org>
15404
15405         * redisplay-output.c (redisplay_output_layout): be more clever
15406         about when we output based on the changed flags.
15407
15408         * glyphs.h (struct image_instantiator_methods): add update_method.
15409         (struct Lisp_Image_Instance): add changed flags. Declare new
15410         macros for manipulating them.
15411
15412         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15413         (image_instance_parent_glyph): find an image_instance's parent
15414         glyph or image_instance.
15415         (image_instance_layout): mark the size as changed.
15416         (set_image_instance_dirty_p): new function. mark an image
15417         instance, plus all of its parents, as dirty.
15418         (Fset_image_instance_property): use it.
15419         (Fglyph_animated_timeout_handler): use it.
15420         (update_subwindow): call update_widget and device methods for
15421         update_subwindow. Mark all changed flags as clean.
15422         (Fresize_subwindow): mark size as changed.
15423
15424         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15425         failures.
15426         (x_update_subwindow): only resize subwindows here.
15427         (x_update_widget): new function. Update all changed properties of
15428         a widget.
15429         (x_resize_subwindow): deleted.
15430         (x_widget_set_property): deleted.
15431         (x_progress_gauge_set_property): deleted.
15432         (x_progress_gauge_update): new function. Implement recorded
15433         changes.
15434         (x_tab_control_update): ditto.
15435         (x_tab_control_set_property): deleted.
15436         (console_type_create_glyphs_x): declare new functions.
15437         (image_instantiator_format_create_glyphs_x): ditto.
15438
15439         * glyphs-widget.c (widget_set_property): mark text changed.
15440         (update_widget): new function. Update properties of a widget.
15441         (widget_instantiate): for layouts make sure we set their
15442         children's parent correctly.
15443         (tab_control_set_property): new function. Record changes that will
15444         take place under redisplay's control.
15445         (progress_gauge_set_property): ditto.
15446         (image_instantiator_progress_guage): declare new functions.
15447         (image_instantiator_tab_control): ditto.
15448
15449         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15450         now.
15451         (mswindows_update_widget): new function. Update all properties on
15452         a widget that have changed.
15453         (mswindows_button_update): new function. Update a button's set
15454         state.
15455         (mswindows_tab_control_update): new function. Update the items in
15456         a tab.
15457         (mswindows_tab_control_set_property): deleted.
15458         (mswindows_progress_gauge_update): new function. Update the
15459         progress gauge's progress.
15460         (mswindows_widget_set_property): deleted. This is all done
15461         asynchronously now.
15462         (mswindows_progress_gauge_set_property): ditto.
15463         (console_type_create_glyphs_mswindows): declare new methods.
15464         (image_instantiator_format_create_glyphs_mswindows): ditto.
15465
15466         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15467         (msprinter_set_frame_properties): ditto.
15468
15469         * console.h (struct console_methods): Add update_widget_method.
15470
15471 2000-02-09  Andy Piper  <andy@xemacs.org>
15472
15473         * gui-msw.c (Fmswindows_shell_execute): Make
15474         mswindows-shell-execute industrial strength.
15475
15476 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15477
15478         * lrecord.h: Make macro argument `props' match member function `plist'.
15479         * fns.c (Fget):
15480         * fns.c (Fput):
15481         * fns.c (Fremprop):
15482         * fns.c (Fobject_plist):
15483         * alloc.c:
15484         * symbols.c:
15485         Object property list frobbing cleanup.
15486         - Allow any lisp object (compared with `eq'), not just symbols, as
15487           keys in object plists.
15488         - Move symbol plist frobbing into symbols.c, where it belongs.
15489         - Move string plist frobbing into alloc.c, where it belongs.
15490         - Everything's an lrecord now, so no need to test for symbolp, etc.
15491         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15492
15493         * extents.c: Reorder code to remove declarations.
15494
15495         * frame.h (store_in_alist): Remove useless declaration.
15496
15497 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15498
15499         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15500         * config.h.in: Add HAVE_XCONVERTCASE.
15501
15502 2000-02-07  Andy Piper  <andy@xemacs.org>
15503
15504         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15505         it breaks many things.
15506
15507 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15508
15509         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15510         actually can start a common comment type.
15511         * src/syntax.h (SYNTAX_END_P): ditto for end.
15512
15513 2000-02-07  Martin Buchholz <martin@xemacs.org>
15514
15515         * XEmacs 21.2.28 is released.
15516
15517 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15518
15519         * event-Xt.c (x_keysym_to_character): New.
15520         (maybe_define_x_key_as_self_inserting_character): New.
15521         (x_has_keysym): New.
15522         Auto-define all keys on the keyboard as self-insert-key.
15523
15524 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15525
15526         * menubar.c (vars_of_menubar): A small code simplification.
15527
15528         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15529
15530         * ExternalShell.c:
15531         * ExternalClient.c:
15532         * EmacsShell-sub.c:
15533         * EmacsManager.c:
15534         * EmacsFrame.c:
15535         Use consistent style for specifying X resources.
15536
15537         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15538         This makes (dontusethis-set-symbol-value-handler) actually usable.
15539
15540         * lrecord.h (lrecord_decription_type):
15541         * alloc.c (pdump_register_sub):
15542         (pdump_dump_data):
15543         (pdump_reloc_one):
15544         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15545         Comply with XEmacs coding style.
15546         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15547         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15548
15549         * keymap.c (Faccessible_keymaps):
15550         Make (accessible-keymaps map "\C-h") do the Right Thing.
15551         Make (accessible-keymaps map []) do the Right Thing.
15552         Make (accessible-keymaps map "") do the Right Thing.
15553         (check_keymap_definition_loop): New function.
15554         (keymap_store_internal): Keep luser from shooting self in foot,
15555           via (define-key ctl-x-4-map "p" global-map).
15556         Remove fullness slot from struct Lisp_Keymap, since hash tables
15557         are now reliable.
15558         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15559
15560 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15561
15562         * redisplay.c (init_redisplay): Fix small memory leak.
15563         * elhash.h:
15564         * elhash.c (pdump_reorganize_hash_table):
15565         Rename from reorganize_hash_table. Change prototype.
15566         Reuse the original memory for hentries.  Save 100k.
15567         * alloc.c (PDUMP_READ): new macro.
15568         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15569         * alloc.c: No need to #ifndef before #undef.
15570
15571         * print.c: Allow debug_print() to print readably by modifying
15572         debug_print_readably.  Use consistent variable names.
15573
15574         * .dbxrc: Try to get things to work even if stopped in a function
15575         without source available by explicitly specifying source files.
15576 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15577
15578         * unexnt.c (_start): Removed bogus code which caused loading heap
15579         from differrent executable file.
15580         Removed bogus assignment to _fmode, which caused inconsistencies.
15581
15582 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15583
15584         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15585         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15586         Do not preliminary `#define signal sigset'.
15587
15588         * systime.h: Do not prototype environ on windows nt and cygwin,
15589         this conflicts with system header.
15590
15591         * syssignal.h: Use correct define for WINDOWSNT
15592
15593         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15594         with system header.
15595
15596         * sysdep.c (near start of file): Fixed commentary and rearranged
15597         ifdefs in readable order.
15598         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15599         (start_of_text):
15600         (end_of_text):
15601         (end_of_data): Do not compile in if using PDUMP.
15602
15603         * symsinit.h: Prototyped vars_of_nt().
15604
15605         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15606         (find_child_console): Use it.
15607         (sys_kill): Use it.
15608
15609         * ntheap.h: Do not extern os_subtype.
15610
15611         * ntheap.c (cache_system_info): Do not cache unneeded:
15612         nt_major_version, nt_minor_version and os_subtype.
15613         (recreate_heap): Do not compile in when PDUMPing.
15614
15615         * nt.c (geteuid and friends): Use the new varibale
15616         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15617         (init_user_info): Removed the above mentioned hackery.
15618         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15619         stat has been fixed in the C runtime.
15620         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15621
15622         * file-coding.c (struct file_coding_dump): Do not define
15623         ucs_to_mule_table in the struct if not MULE.
15624         (struct struct lrecord_description fcd_description_1): Do not dump
15625         the above.
15626
15627         * emacs.c (main_1): Call vars_of_nt().
15628         (right before Fdump_emacs_data): Don't need lastfile if using both
15629         portabe dumper and system malloc.
15630
15631         * alloc.c (Fmemory_limit): Conditionalized out.
15632         (pdump): Use OPEN_BINARY for the portable dump file.
15633         (pdump_load): Ditto.
15634
15635 2000-02-02  Mike Alexander  <mta@arbortext.com>
15636
15637         * nt.c (convert_time): Set tm_isdst before calling mktime and
15638         avoid calling it at all if the compiler supports 64 bit integers.
15639         Also initialize utc_base_ft before using it.
15640
15641 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15642
15643         * frame.c (change_frame_size_1): Take f->internal_border_width
15644         into consideration when calculating the width of the frame.
15645
15646 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15647
15648         * window.c (frame_min_height):
15649         (frame_size_valid_p):
15650         (frame_pixsize_valid_p): Added.
15651         (check_frame_size): Generalized.
15652
15653         * window.h: Prototyped the above.
15654
15655         * lisp.h:
15656         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15657         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15658         Deleted Vwin32_* and Vbinary_process_* unused variables.
15659
15660         * device-msw.c (msprinter_init_device): Do not get printer font
15661         list; Added DEVMODE functions.
15662
15663         * frame-msw.c: Added lots of printer code.
15664
15665         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15666         general.c.
15667
15668         * console-msw.h: Added more msprinter device private slots.
15669
15670 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15671
15672         * event-msw.c (key_needs_default_processing_p): Added.
15673         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15674
15675 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15676
15677         * glyphs.c (image_instance_layout): Mark image instance as clean
15678         after layout.
15679         (glyph_dirty_p): Removed redundant function.
15680         (invalidate_glyph_geometry_maybe): Added.
15681         (update_glyph_cachel_data): Call it.
15682
15683         * glyphs.h: Prototyped it.
15684
15685         * redisplay.c (add_glyph_rune): Call it.
15686         (redisplay_window): Reset glyphs cachels when frame faces have
15687         changed, thus forcing recomputation of built-in border glyphs.
15688
15689 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15690
15691         * Makefile.in.in: Make portable dumper and purify play well together.
15692         Add imperfect, but better than nothing, support for pdump.
15693         Remove xemacs.dmp when temacs is re-generated.
15694         Don't ignore errors when dumping xemacs.
15695
15696         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15697
15698 2000-01-28  Andy Piper  <andy@xemacs.org>
15699
15700         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15701         (setup_normal_frame): ditto.
15702         (setup_frame_without_minibuffer): ditto.
15703         (setup_minibuffer_frame): ditto.
15704         (delete_frame_internal): ditto.
15705         (Fmake_frame_invisible): ditto.
15706         (Ficonify_frame): ditto.
15707
15708         * window.h: change Fset_window_buffer signature.
15709
15710         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15711         (Fset_window_buffer): allow recording of buffer if the window is
15712         the selected window.
15713         (window_loop): Use new Fset_window signature.
15714
15715 2000-01-23  Daniel Pittman  <daniel@danann.net>
15716
15717         * config.h.in: Added template for `HAVE_ATHENA_3D'
15718
15719 2000-01-29  Andy Piper  <andy@xemacs.org>
15720
15721         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15722
15723         * gutter.c (output_gutter): Don't output if the window isn't live.
15724
15725 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15726
15727         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15728         of 01/12/00: Moved SetFocus back here where it belongs.
15729
15730 2000-01-23  Andy Piper  <andy@xemacs.org>
15731
15732         * s/cygwin32.h: declare printer things.
15733
15734 2000-01-26  Andy Piper  <andy@xemacs.org>
15735
15736         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15737         Alexander.
15738
15739 2000-01-24  Andy Piper  <andy@xemacs.org>
15740
15741         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15742         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15743
15744         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15745
15746         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15747
15748         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15749
15750         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15751         (mswindows_output_display_block): Avoid local shadows.
15752
15753         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15754         (mswindows_enqueue_mouse_button_event): ditto.
15755         (mswindows_handle_gui_wm_command): remove declaration.
15756
15757         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15758         warnings.
15759
15760         * console-msw.h: Avoid shadows.
15761         (mswindows_get_toolbar_button_text):
15762         (emacs_mswindows_create_stream_pair):
15763         (emacs_mswindows_delete_stream_pair):
15764         (mswindows_handle_toolbar_wm_command): declare.
15765
15766         * device-msw.c (build_syscolor_string): Avoid shadows.
15767
15768 2000-01-23  Andy Piper  <andy@xemacs.org>
15769
15770         * glyphs-widget.c (widget_instantiate): reverse the items for
15771         layouts so that children are in the expected order.
15772
15773 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15774
15775         * ralloc.c: safe_bcopy ==> memmove
15776         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15777         * s/msdos.h: Remove BCOPY macros.
15778         * insdel.c (gap_right): Remove BCOPY conditional code.
15779         * insdel.c (gap_left): Remove BCOPY conditional code.
15780         XEmacs demands a working ANSI C compiler - hence memmove.
15781
15782         * regex.c (regex_compile): Remove accidental use of trigraphs.
15783
15784 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15785
15786         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15787         event timestamp.
15788
15789 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15790
15791         * event-msw.c (mswindows_drain_windows_queue): Added the
15792         parameter.
15793         (mswindows_need_event): Commented the call to
15794         mswindows_drain_windows_queue().
15795         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15796         only.
15797
15798         * console-msw.h: Moved a few function prototypes here from
15799         event-msw.c.
15800
15801         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15802         parameter from unsigned short to unsigned long.
15803         (Fmswindows_shell_execute): Added return value.
15804
15805 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15806
15807         * sysdep.c (init_system_name):
15808           process-unix.c (unix_canonicalized_host_name):
15809         Don't call freeaddrinfo() if getaddrinfo() fails.
15810
15811         * process-unix.c (unix_open_unix_network_stream):
15812         Moved the code to get a port # into address loop.
15813
15814 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15815
15816         * buffer.c (reinit_vars_of_buffer):
15817         The right place to initialize conversion_in_dynarr and
15818         conversion_out_dynarr.
15819
15820         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15821
15822         * process-unix.c (unix_canonicalize_host_name): Muleize.
15823         (unix_open_network_stream): Muleize.
15824
15825         * buffer.h: Fix up prototypes for ralloc.c functions.
15826
15827 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15828         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15829         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15830                 instead of gethostbyname()
15831         * process-unix.c: In unix_canonicalize_host_name() and
15832                 unix_open_network_stream(), add code to use getaddrinfo()
15833                 instead of gethostbyname().
15834
15835 2000-01-27  Daniel Pittman <daniel@danann.net>
15836
15837         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15838         libs when built with flat Athena.
15839
15840 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15841
15842         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15843         Use coding standards for function prototypes.
15844
15845 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15846
15847         * dialog-msw.c (push_lisp_string_as_unicode):
15848         * doc.c (unparesseuxify_doc_string):
15849         * dired.c (Fuser_name_completion_1):
15850         * dired.c (Fuser_name_all_completions):
15851         * dired.c (free_user_cache):
15852         * dired.c (user_name_completion):
15853         * console-x.c (get_display_arg_connection):
15854         * minibuf.c (clear_echo_area_internal):
15855         * minibuf.c (echo_area_append):
15856         * eldap.c (Fldap_open):
15857         * eldap.c (Fldap_search_internal):
15858         * frame-x.c (x_set_frame_text_value):
15859         * frame-x.c (x_set_frame_properties):
15860         * frame-x.c (x_create_widgets):
15861         * redisplay-tty.c (term_get_fkeys_1):
15862         * objects-x.c (x_parse_nearest_color):
15863         * objects-x.c (x_valid_color_name_p):
15864         * objects-x.c (x_initialize_font_instance):
15865         * objects-x.c (x_list_fonts):
15866         * objects-x.c (x_find_charset_font):
15867         * tooltalk.c (Fadd_tooltalk_message_arg):
15868         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15869         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15870         * process-unix.c (unix_create_process):
15871         * ntproc.c (sys_spawnve):
15872         * sound.c (Fplay_sound_file):
15873         * sound.c (Fplay_sound):
15874         * buffer.c (init_initial_directory):
15875         * buffer.c (init_buffer):
15876         * editfns.c (init_editfns):
15877         * editfns.c (Ftemp_directory):
15878         * editfns.c (Fuser_full_name):
15879         * editfns.c (uncache_home_directory):
15880         * editfns.c (get_home_directory):
15881         * editfns.c (Fuser_home_directory):
15882         * editfns.c (Fformat_time_string):
15883         * editfns.c (Fcurrent_time_string):
15884         * gui-x.c (button_item_to_widget_value):
15885         * database.c (Fopen_database):
15886         * event-Xt.c (x_to_emacs_keysym):
15887         * event-Xt.c (x_event_to_emacs_event):
15888         * event-Xt.c (describe_event_window):
15889         * event-msw.c (mswindows_wnd_proc):
15890         * glyphs-eimage.c (jpeg_instantiate):
15891         * glyphs-eimage.c (gif_instantiate):
15892         * glyphs-eimage.c (png_instantiate):
15893         * glyphs-eimage.c (tiff_instantiate):
15894         * glyphs-x.c (xbm_instantiate_1):
15895         * glyphs-x.c (x_xbm_instantiate):
15896         * glyphs-x.c (x_xface_instantiate):
15897         * glyphs-x.c (autodetect_instantiate):
15898         * glyphs-x.c (cursor_font_instantiate):
15899         * glyphs-x.c (x_widget_instantiate):
15900         * glyphs-x.c (x_widget_set_property):
15901         * glyphs-x.c (x_widget_property):
15902         * glyphs-x.c (BUILD_GLYPH_INST):
15903         * print.c (write_string_to_stdio_stream):
15904         * print.c (output_string):
15905         * print.c (Falternate_debugging_output):
15906         * print.c (Fexternal_debugging_output):
15907         * glyphs-msw.c (extract_xpm_color_names):
15908         * glyphs-msw.c (mswindows_xpm_instantiate):
15909         * glyphs-msw.c (bmp_instantiate):
15910         * glyphs-msw.c (resource_name_to_resource):
15911         * glyphs-msw.c (mswindows_resource_instantiate):
15912         * glyphs-msw.c (xbm_instantiate_1):
15913         * glyphs-msw.c (mswindows_xbm_instantiate):
15914         * glyphs-msw.c (mswindows_xface_instantiate):
15915         * glyphs-msw.c (mswindows_widget_instantiate):
15916         * glyphs-msw.c (add_tree_item):
15917         * glyphs-msw.c (add_tab_item):
15918         * glyphs-msw.c (mswindows_combo_box_instantiate):
15919         * glyphs-msw.c (mswindows_widget_property):
15920         * glyphs-msw.c (mswindows_combo_box_property):
15921         * glyphs-msw.c (mswindows_widget_set_property):
15922         * console.c (stuff_buffered_input):
15923         * objects-msw.c (mswindows_initialize_color_instance):
15924         * objects-msw.c (mswindows_valid_color_name_p):
15925         * objects-msw.c (mswindows_list_fonts):
15926         * objects-msw.c (mswindows_font_instance_truename):
15927         * bytecode.c (optimize_compiled_function):
15928         * select-x.c (symbol_to_x_atom):
15929         * select-x.c (x_atom_to_symbol):
15930         * select-x.c (hack_motif_clipboard_selection):
15931         * select-x.c (selection_data_to_lisp_data):
15932         * select-x.c (lisp_data_to_selection_data):
15933         * select-x.c (Fx_get_cutbuffer_internal):
15934         * select-x.c (Fx_store_cutbuffer_internal):
15935         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15936         * buffer.h (TO_INTERNAL_FORMAT): New function.
15937         * emacs.c (make_arg_list_1):
15938         * emacs.c (make_argc_argv):
15939         * emacs.c (main_1):
15940         * emacs.c (Fdump_emacs):
15941         * emacs.c (split_string_by_emchar_1):
15942         * file-coding.h:
15943         * lisp.h:
15944         * lstream.h:
15945         * symsinit.h:
15946         * device-x.c (x_init_device):
15947         * device-x.c (Fx_valid_keysym_name_p):
15948         * device-x.c (Fx_get_font_path):
15949         * device-x.c (Fx_set_font_path):
15950         * glyphs.c (bitmap_to_lisp_data):
15951         * glyphs.c (pixmap_to_lisp_data):
15952         * alloc.c (make_ext_string): Use coding system arguments.  Update
15953         all callers.
15954         * alloc.c (build_string):
15955         * callproc.c (child_setup):
15956         * callproc.c (init_callproc):
15957         * fileio.c (lisp_strerror):
15958         * fileio.c (directory_file_name):
15959         * fileio.c (Fexpand_file_name):
15960         * fileio.c (Ffile_truename):
15961         * fileio.c (Fsysnetunam):
15962         * fileio.c (Fdo_auto_save):
15963         * sysdep.c (sys_readdir):
15964         * tests.c: New file.  Allow adding C tests.
15965         Replace GET_* macros with a more comprehensible and flexible
15966         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15967         Modify all calls.
15968         Any coding system can be used to do format conversion.
15969         Eliminate enum external_data_format.
15970         Eliminate convert_to_external_format.
15971         Eliminate convert_to_internal_format.
15972         Make sure file-name, keyboard, terminal, and ctext are always
15973         defined as coding systems or aliases.  Make
15974         file-name-coding-system, terminal-coding-system, and
15975         keyboard-coding-system magical variables that are equivalent to
15976         defining the corresponding coding system aliases.
15977
15978         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15979         * file-coding.c (Fcoding_system_alias_p): New function.
15980         * file-coding.c (Fcoding_system_aliasee): New function.
15981         * file-coding.c (append_suffix_to_symbol): New function.
15982         * file-coding.c (dangling_coding_system_alias_p): New function.
15983         * file-coding.c (Ffind_coding_system):
15984         * file-coding.c (Fcopy_coding_system):
15985         * file-coding.c (encode_coding_no_conversion):
15986         * file-coding.c (syms_of_file_coding):
15987         * file-coding.c (vars_of_file_coding):
15988         Rewrite coding system alias code.
15989         Allow nested aliases, like symbolic links.
15990         Allow redefinition of coding system aliases.
15991         Prevent existence of dangling coding system aliases.
15992
15993         * dired.c (Fuser_name_completion_1):
15994         * dired.c (Fuser_name_all_completions):
15995         A crash would happen if user did QUIT in the middle of building
15996         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15997
15998         * lisp.h:
15999         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
16000
16001         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
16002         an unsigned char *.  Update all callers.
16003
16004 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16005
16006         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
16007
16008 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16009
16010         * elhash.c (hentry_description): Use more portable definition.
16011         (resize_hash_table): Initialize new hentries using
16012         xnew_array_and_zero, thereby simplifying the code.
16013
16014         * mule-charset.c (make_charset): Make sure entire object is
16015         initialized, to avoid Purify warnings.
16016
16017         * alloc.c (resize_string): Fix unlikely crash with big strings.
16018
16019 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16020
16021         * realpath.c (xrealpath):
16022         Don't call getwd().
16023
16024 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16025
16026         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
16027
16028 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
16029
16030         * unexelfsgi.c (unexec): Change the way we decide which segment
16031         should be extended.
16032
16033         Assumption that .bss section should be outside the PT_LOADable
16034         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
16035         it's present) is inside the 'data' segment. This would fail the
16036         test which was used to find a segment to grow and cover new
16037         heap. Instead of this assumption, I created another one - on IRIX
16038         the segment to grow should start below .bss and it's address
16039         should extent above the end of .bss. Once this segment is
16040         identified, it's grown to accommodate the new heap and new
16041         zero-length .bss section is added at the end of .data2.
16042
16043 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16044
16045         * eval.c (Feval): Wrong number of arguments should use original
16046         function, not the indirect_function version of it.
16047
16048 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
16049
16050         * glyphs-x.c (x_button_instantiate): Don't add image if
16051         it is not a pixmap.
16052         (x_locate_pixmap_file): Call Fexpand_file_name when file name
16053         is relative.
16054
16055 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
16056
16057         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
16058         declaration.
16059         (DEFVAR_INT_MAGIC): Ditto.
16060         (DEFVAR_BOOL_MAGIC): Ditto.
16061         * glyphs.h: Reindent backslash.
16062
16063 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16064
16065         * glyphs-widget.c (layout_query_geometry):
16066         (layout_layout): Use correct types for gheight, gwidth.
16067
16068 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16069
16070         * EmacsManager.c (QueryGeometry): Purified.
16071
16072 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16073
16074         * alloc.c (make_float): Make sure entire object is initialized, to
16075         avoid Purify warnings.
16076         (pdump_register_sub): Remove useless assignment.
16077         (pdump): Use xmalloc, not malloc.
16078         (pdump_load): Use xmalloc, not malloc.
16079
16080 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16081
16082         * callproc.c:
16083         * dired-msw.c:
16084         * fileio.c:
16085         * process-nt.c:
16086         * redisplay-msw.c:
16087         * sysdep.c: Removed redundant #include <windows.h>
16088
16089 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16090
16091         * frame.c (delete_frame_internal): Do not delete device when its
16092         implementation so declares.
16093         (delete_frame_internal): Set device selected frame to nil when
16094         last frame goes away.
16095
16096         * device-msw.c (msprinter_device_system_metrics): Implemented.
16097         (mswindows_device_system_metrics): Added 'device-dpi property.
16098
16099         * device.c: (Fdevice_printer_p): Added.
16100         Added 'offset-workspace device metric.
16101
16102         * console.h (device_metrics): Declared DM_offset_workspace.
16103
16104 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16105
16106         * fileio.c (Ffile_truename): Remove pointless and confusing
16107         initialization of elen.
16108
16109         * glyphs-widget.c: Compiler warning fixes.
16110
16111 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
16112
16113         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
16114         instead of a Lisp_Object as argument to make it consistent with
16115         the other LIVE_P macros.
16116         (CHECK_LIVE_PROCESS): New macro.
16117
16118         * process.c: Declare Qprocess_live_p.
16119         (Fprocess_live_p): New function.
16120         (create_process): Use PROCESS_LIVE_P.
16121         (read_process_output): Ditto.
16122         (set_process_filter): Ditto.
16123         (Fdelete_process): Ditto.
16124         (kill_buffer_processes): Ditto
16125         (process_send_signal): Use CHECK_LIVE_PROCESS.
16126         (Fprocess_input_coding_system): Check whether process is still
16127         alive (fix PR#1061).
16128         (Fprocess_output_coding_system): Ditto.
16129         (Fprocess_coding_system): Ditto.
16130         (Fset_process_input_coding_system): Ditto.
16131         (Fset_process_output_coding_system): Ditto.
16132
16133 2000-01-23  Andy Piper  <andy@xemacs.org>
16134
16135         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
16136         layout and widget.
16137
16138         * glyphs.c (mark_image_instance): take into account changed
16139         image_instance format.
16140         (image_instance_equal): ditto.
16141         (image_instance_hash): ditto.
16142
16143         * glyphs-widget.c (widget_instantiate): Incorporate layout
16144         instantiation here. Delay layout of the layout until later.
16145         (layout_instantiate): deleted.
16146         (layout_query_geometry): new function. get the geometry of a
16147         layout.
16148         (layout_layout): layout a layout dynamically.
16149         (image_instantiator_widget): New function - splitting up
16150         image_instantiator_format_create_glyphs_widget for netwinder
16151         compilation.
16152         (image_instantiator_buttons):
16153         (image_instantiator_edit_fields):
16154         (image_instantiator_combo_box):
16155         (image_instantiator_scrollbar):
16156         (image_instantiator_progress_guage):
16157         (image_instantiator_tree_view):
16158         (image_instantiator_tab_control):
16159         (image_instantiator_labels):
16160         (image_instantiator_layout): ditto.
16161         (image_instantiator_format_create_glyphs_widget): Call preceding
16162         functions.
16163
16164 2000-01-22  Martin Buchholz  <martin@xemacs.org>
16165
16166         * process.c (Fset_process_coding_system):
16167         * device-x.c (Fx_keysym_hash_table):
16168         Docstring fixes.
16169
16170         * lstream.c (Lstream_write): Return documented value, not 0.
16171
16172         * fileio.c (directory_file_name):
16173         (Fsubstitute_in_file_name):
16174         (Fsubstitute_insert_file_contents_internal):
16175         (Fwrite_region_internal):
16176         * emacs.c:
16177         * sysdep.c:
16178         * getloadavg.c:
16179         * systty.h:
16180         Remove vestigial APOLLO-conditional code.
16181
16182 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16183
16184         * getpagesize.h: Add guard macros.
16185         * libsst.h: Add guard macros.
16186         * libst.h: Add guard macros.
16187         * line-number.h: Add guard macros.
16188         * ndir.h: Add guard macros.
16189         * sysfloat.h: Add guard macros.
16190         * sysfile.h: Add guard macros.
16191         * sysproc.h: Add guard macros.
16192         * syswait.h: Add guard macros.
16193         * xintrinsic.h: Add guard macros.
16194         * xintrinsicp.h: Add guard macros.
16195         * xmmanager.h: Add guard macros.
16196         * xmmanagerp.h: Add guard macros.
16197         * xmprimitive.h: Add guard macros.
16198         * xmu.h: Add guard macros.
16199         * gpmevent.h: Add copyright statement. Add guard macros.
16200         * miscplay.h: Add guard macros.
16201         * *.h: Use consistent C-standards-approved guard macro names.
16202
16203         * opaque.c (make_opaque): Switch parameter order.
16204         * opaque.h (make_opaque): Switch parameter order.
16205         Update all callers.
16206         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
16207
16208         * config.h.in (type_checking_assert): Added.
16209         (bufpos_checking_assert): Added.
16210
16211 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16212
16213         * alloc.c: Harmless pdump changes.
16214         - Use countof().
16215         - spell alignment correctly.
16216         * sysdep.c: Use countof()
16217
16218 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16219
16220         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
16221         initially_selected_for_input() console method, default to 0.
16222         (semi_canonicalize_console_connection): Try to delegate to
16223         canonicalize_console_connection if no such console method.
16224         (canonicalize_console_connection): Vice versa.
16225         (print_console): Do not print nil connection.
16226
16227         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
16228         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
16229         (XDEVIMPF_FRAMELESS_OK): Added.
16230         (CONSOLE_INHERITS_METHOD): Added.
16231
16232         * console-msw.c (mswindows_canonicalize_console_connection):
16233         Added.
16234         (mswindows_canonicalize_device_connection): Added.
16235
16236         * console-msw.h (struct msprinter_device): Added this struct and
16237         accessor macros.
16238         (mswindows_device): Made fontlist a lisp object.
16239
16240         * device.c (semi_canonicalize_device_connection):  Try to delegate
16241         to canonicalize_device_connection if no such console method.
16242         (canonicalize_device_connection): Vice versa.
16243         (print_device): Do not print nil connection.
16244
16245         * device-msw.c (mswindows_init_device): Call InitCommonControls
16246         when have widgets.
16247         (mswindows_delete_device): Removed fontlist deallocation.
16248         (mswindows_mark_device): Added.
16249
16250         * events.c (event_equal): Added abort() at unreached code.
16251         (event_hash): Ditto.
16252
16253         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
16254         fallback tags of Windows devices.
16255
16256         * general.c (syms_of_general): Initialized Qmsprinter.
16257
16258         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16259         of fallback tags of Windows devices.
16260
16261         * lisp.h: Declared Qmsprinter.
16262
16263         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16264         of strings.
16265         (mswindows_list_fonts): Ditto.
16266         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16267         that it can be used by both mswindows and msprinter devices.
16268         (initialize_font_instance): Added.
16269         (mswindows_initialize_font_instance): Use it.
16270         (msprinter_initialize_font_instance): Added.
16271
16272         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16273         and implementation flags check.
16274         (redisplay_without_hooks): Changed the call to the above.
16275         (Fredraw_device): Ditto.
16276         (Fredisplay_device): Ditto.
16277
16278         * redisplay-msw.c (get_frame_dc): Implemented.
16279         (get_frame_compdc): Implemented.
16280         (many functions): Use the two functions above to get device
16281         contexts, ether for a window or a printer.
16282
16283 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16284
16285         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16286         initialization here.
16287         (init_symbols_once_early): Call it.
16288         * emacs.c (main_1): Call it.
16289         * symsinit.h: Declare it.
16290
16291 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16292
16293         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16294         Lisp_Object.
16295         (pdump_backtrace): Ditto.
16296         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16297         (pdump_get_entry): Abort if trying to register a null pointer.
16298         (pdump_dump_data): Cleanup types when relocating.
16299         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16300         (pdump_dump_rtables): Remove bad casts.
16301         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16302         Lisp_Object instead of a EMACS_INT for the hashtable
16303         reorganization.
16304
16305 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16306
16307         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16308
16309         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16310
16311         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16312
16313         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16314
16315 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16316
16317         * faces.h (FACE_STRIKETHRU_P): Added.
16318
16319         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16320         of font variants.
16321
16322         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16323         (mswindows_set_dc_font): New function, aware of font variants,
16324         separated from mswindows_update_dc.
16325
16326         * objects-msw.h (struct mswindows_font_instance_data): Added
16327         definition.
16328
16329         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16330         cached fonts and the data structure.
16331         (mswindows_initialize_font_instance): Added creation of font data
16332         structure.
16333         (mswindows_print_font_instance): Print at least something.
16334         (mswindows_create_font_variant): Implemented.
16335         (mswindows_get_hfont): Implemented.
16336
16337 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16338
16339         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16340         prototyping problem with msvc.
16341
16342         * emacs.c (main_1): added syms_of_gui_mswindows() call
16343
16344         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16345         syms_of_gui_mswindows() function
16346
16347         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16348
16349 2000-01-18  Martin Buchholz <martin@xemacs.org>
16350
16351         * XEmacs 21.2.27 is released.
16352
16353 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16354
16355         * glyphs-eimage.c (struct tiff_error_struct):
16356         (tiff_error_func):
16357         (tiff_warning_func):
16358         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16359
16360         * unexmips.c:
16361         * unexhp9k3.c:
16362         * unexfreebsd.c:
16363         * unexec.c: Remove vestigial Lucid C code.
16364         * unexalpha.c:
16365         * unexaix.c:
16366         * termcap.c:
16367         * libsst.c: Ansify.
16368         Remove declarations of errno and strerror().
16369
16370         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16371
16372         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16373
16374 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16375
16376         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16377         Optimize.
16378
16379 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16380
16381         * md5.c:
16382         * file-coding.c:
16383         * file-coding.h:
16384         Change enum eol_type to eol_type_t.
16385
16386 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16387
16388         * gui.c (get_gui_callback): Check cons before accessing car.
16389
16390 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16391
16392         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16393         (XSETSPECIFIER_TYPE): Ditto.
16394
16395 2000-01-17  Didier Verna  <didier@xemacs.org>
16396
16397         * redisplay.c (generate_fstring_runes): compute string size in
16398         characters, not bytes.
16399
16400 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16401
16402         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16403
16404 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16405
16406         * print.c (print_error_message): Call print_prepare().
16407
16408 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16409
16410         * .dbxrc: Renamed from dbxrc.
16411
16412         * events.c (event_to_character):
16413         Use `assert (foo)' instead of `if (!foo) abort()'
16414
16415         * .gdbinit (xtype): Add documentation.
16416         * .gdbinit (check-temacs): New function.
16417         * .gdbinit (check-xemacs): New function.
16418         * dbxrc (check-xemacs): New function.
16419         * dbxrc (check-xemacs): New function.
16420
16421 2000-01-14  Andy Piper  <andy@xemacs.org>
16422
16423         * glyphs-widget.c (widget_query_geometry): Make sure that we
16424         calculate default dimensions correctly.
16425
16426 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16427
16428         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16429
16430         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16431         pdump_wire'd variable.
16432
16433         * emacs.c: (main_1): Conditionalized calls to
16434         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16435
16436 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16437
16438         * window.c (Fset_window_configuration):
16439         * sysdep.c (_start):
16440         * input-method-motif.c (res):
16441         * event-Xt.c (Xt_process_to_emacs_event):
16442         Simple compiler warning fixes.
16443
16444         * bytecode.c (funcall_compiled_function): Use the original
16445         function symbol on the backtrace list in preference to the
16446         compiled_function object in error messages.
16447
16448 2000-01-13  Andy Piper  <andy@xemacs.org>
16449
16450         * glyphs-x.c (update_widget_face): Make sure we update the widget
16451         background as well as foreground.
16452
16453 2000-01-13  Andy Piper  <andy@xemacs.org>
16454
16455         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16456         fields to subwindow.
16457         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16458         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16459         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16460         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16461
16462         * glyphs-widget.c (check_valid_tab_orientation): new function.
16463         (initialize_widget_image_instance): zero orientation and
16464         justification.
16465         (widget_instantiate): pick up orientation.
16466         (tab_control_query_geometry): return appropriate values for
16467         vertical tabs.
16468
16469         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16470         appropriate creation flags for left, right and bottom tabs.
16471
16472         * s/cygwin32.h: add tab definitions.
16473
16474 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16475
16476         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16477         frame upon hiding a subwindow.
16478         (mswindows_button_instantiate): Changed the push button style to
16479         BS_PUSHBUTTON.
16480         (mswindows_button_instantiate): Removed button BS_NOTIFY
16481         style.
16482         (mswindows_button_instantiate): Removed redundant check for
16483         a disabled gui item.
16484         (mswindows_button_instantiate): Made use of WS_TABSTOP
16485         consistent: "operable" controls (edit, button, tree, scroll) have
16486         this style, "display-only" ones (static, progress gauge) do
16487         not. This style is currently ignored by XEmacs though. Also,
16488         removed the WS_EX_CONTROLPARENT style - it is not for children,
16489         it is for their parents!
16490         (mswindows_edit_field_instantiate): Ditto.
16491         (mswindows_progress_gauge_instantiate): Ditto.
16492         (mswindows_tree_view_instantiate): Ditto.
16493         (mswindows_tab_control_instantiate): Ditto.
16494         (mswindows_scrollbar_instantiate): Ditto.
16495         (mswindows_combo_box_instantiate): Ditto.
16496         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16497         style to the "clip" window.
16498         (mswindows_button_instantiate): Removed compilation warning by
16499         equally typing terms of the ?: operator.
16500
16501 2000-01-12  Didier Verna  <didier@xemacs.org>
16502
16503         * redisplay.c (generate_fstring_runes): new parameter holding the
16504         last modeline-format extent.
16505         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16506         extent, fill the glyph block with it.
16507         (generate_fstring_runes): handle these parameters.
16508         (generate_formatted_string_db): ditto.
16509
16510         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16511         glyphs'extents in the modeline.
16512
16513 1999-01-11  Mike Woolley  <mike@bulsara.com>
16514
16515         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16516         256Mb, as a workaround for the non-starting problem many people
16517         have experienced.
16518
16519 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16520
16521         * console-tty.c (Fset_console_tty_output_coding_system):
16522         Force redrawing tty frame.
16523
16524 2000-01-10  Didier Verna  <didier@xemacs.org>
16525
16526         * redisplay.c (generate_fstring_runes): fix size computation bug.
16527
16528 2000-01-09  William M. Perry <wmperry@aventail.com>
16529
16530         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16531
16532 2000-01-09  Andy Piper  <andy@xemacs.org>
16533
16534         * glyphs-msw.c: index -> i to avoid shadows.
16535         (xbm_create_bitmap_from_data): make static.
16536         (check_valid_string_or_int): deleted.
16537         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16538
16539         * glyphs-x.c (x_update_subwindow): remove unused args.
16540
16541         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16542         back pointer - this is done in allocate_image_instance.
16543         (query_string_font): return Qnil to make the compiler happy.
16544         (unmap_subwindow): set to ~0 to make the compiler happy.
16545         (glyph_query_geometry): comment out until used.
16546         (glyph_layout): ditto.
16547
16548 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16549
16550         * insdel.c (signal_after_change): Remove extraneous unbind_to().