update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (find_char_feature_in_family): New function.
4         (Fchar_feature): Use `find_char_feature_in_family' with
5         `->identical', `<-subsumptive' and `<-denotational'.
6
7 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
8
9         * text-coding.c (char_encode_as_entity_reference): Allow prefix
10         within 8 characters; fix infinite loop.
11
12 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
13
14         * chartab.c (Q_same): New variable.
15         (Q_same_of): New variable.
16         (Fput_char_attribute): Convert char-refs in value of `{->|<-}same'
17         to characters and put reverse links.
18         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
19         for `{->|<-}same'.
20         (syms_of_chartab): Add new symbols `{->|<-}same'.
21
22 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
23
24         * chartab.c (Q_component): New variable.
25         (Q_component_of): Likewise.
26         (Fput_char_attribute): Convert char-refs in value of
27         `{->|<-}ideographic-component-forms' to characters and put reverse
28         links.
29         (syms_of_chartab): Add new symbols
30         `{->|<-}ideographic-component-forms'.
31
32 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
33
34         * chartab.c (Q_identical): New variable.
35         (Q_identical_from): New variable.
36         (Fchar_feature): Regard `->identical' as a feature to find
37         ancestors.
38         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
39         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
40         for `{->|<-}identical'.
41         (syms_of_chartab): Add new symbols `{->|<-}identical'.
42
43 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
44
45         * char-ucs.h (encode_char_2): New inline function.
46         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
47
48 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
49
50         * chartab.c (Fput_char_attribute): Convert char-specs to
51         characters in value of `ideographic-structure'.
52         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
53         for `{<-|->}simplified(@...)'.
54         (Fdefine_char): bTry to use predefined character's id.
55
56 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
57
58         * fns.c (simplify_char_spec): Try to convert builtin chars to
59         defined chars.
60
61 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
62
63         * chartab.c (Fput_char_attribute): Convert char-refs in value of
64         `<-simplified[^*]*' to characters and put reverse links.
65
66 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
67
68         * chartab.c (Q_subsumptive): Renamed from Q_unified.
69         (Q_subsumptive_from): Renamed from Q_unified_from.
70         (Fchar_feature): Use `Q_subsumptive_from' instead of
71         `Q_unified_from'.
72         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
73         `Q_unified'.
74         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
75         `<-unified' to `<-subsumptive'.
76
77 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
78
79         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
80         inheritance itself; fix typo; stop recursive search if cyclic
81         inheritance is found.
82
83 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
84
85         * chartab.c (Q_denotational): New variable.
86         (Q_denotational_from): New variable.
87         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
88         (put_char_attribute): New function.
89         (Fput_char_attribute): Use `put_char_attribute'; regard
90         `->denotational' and `<-denotational' as same as `->unified' and
91         `<-unified'.
92         (syms_of_chartab): Add new symbols `->denotational' and
93         `<-denotational'.
94
95 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
96
97         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
98         `Fget_char_attribute'.
99         (Fchar_variants): Likewise.
100         (get_char_table): Likewise.
101         (Fchar_feature): New function.
102         (put_char_composition): Use `Fchar_feature' instead of
103         `Fget_char_attribute'.
104         (Fput_char_attribute): Likewise; don't put the target character
105         into its `->unified' value.
106         (syms_of_chartab): Add new builtin function `char-feature'.
107
108 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
109
110         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
111         `Fget_char_attribute'.
112         (char_encode_utf8): Likewise.
113
114         * chartab.h: Add an EXFUN for `Fchar_feature'.
115
116 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
117
118         * chartab.c (Vnext_defined_char_id): New variable.
119         (Fput_char_attribute): Accept characters in `->unified'.
120         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
121         new characters which are not related with builtin char-id ranges.
122         (vars_of_chartab): Add new variable `next-defined-char-id'.
123
124 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * chartab.c (Q_unified): New variable.
127         (Q_unified_from): New variable.
128         (Fput_char_attribute): Add code for `->unified'.
129         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
130         XEmacs CHISE.
131
132 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
133
134         * mule-charset.c (decode_ccs_conversion): New function.
135         (decode_defined_char): Use `decode_ccs_conversion'.
136         (decode_builtin_char): Likewise.
137
138 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
139
140         * char-ucs.h: Change some charset-ids of private coded-charsets.
141
142 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
143
144         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
145         (char_encode_as_entity_reference): Likewise.
146         (decode_coding_big5): Modify for `decode_defined_char' and
147         `DECODE_CHAR'.
148         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
149         avoid compiler warning.
150         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
151
152         * mule-charset.c (decode_defined_char): Add new argument
153         `without_inheritance'.
154         (Fdecode_char): Add new optional argument `without_inheritance'.
155         (Fdecode_builtin_char): Modify for `Fdecode_char'.
156
157         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
158         (simplify_char_spec): Likewise.
159
160         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
161         setting.
162
163         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
164         (map_char_table): Likewise.
165         (Fdefine_char): Use `Fdecode_char' without inheritance.
166         (Ffind_char): Modify for `Fdecode_char'.
167
168         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
169
170         * char-ucs.h (decode_defined_char): Add new argument
171         `without_inheritance'.
172         (DECODE_CHAR): Likewise.
173         (MAKE_CHAR): Modify for `DECODE_CHAR'.
174
175 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
176
177         * chartab.c (Vchise_system_db_directory): New variable.
178         (vars_of_chartab): Add new variable `chise-system-db-directory'.
179
180 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
181
182         * chartab.c: EXFUN `Fmount_char_attribute_table'.
183         (print_chartab_range): Don't define when `UTF2000' is defined.
184         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
185         `CHISE_DS_open'.
186
187 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
188
189         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
190         and optional argument `rehash' is specified, call
191         `open_chise_data_source_maybe' before
192         `chise_ds_foreach_char_feature_name' is called.
193
194 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
195
196         * chartab.c (char_attribute_list_reset_map_func): New function
197         when HAVE_LIBCHISE is defined.
198         (Fchar_attribute_list): Add new optional argument `rehash' when
199         HAVE_LIBCHISE is defined.
200         (open_chise_data_source_maybe): Use "chise-db" instead of
201         "char-db".
202         (char_attribute_system_db_file): Likewise.
203         (Fload_char_attribute_table): Use
204         `chise_feature_foreach_char_with_value' instead of
205         `chise_char_feature_value_iterate'.
206
207 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
208
209         * chartab.c (Vchise_db_directory): New variable.
210         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
211
212 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
213
214         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
215         instead of HAVE_CHISE to specify using with libchise.
216
217         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
218
219         * chartab.h: Don't use HAVE_CHISE_CLIENT.
220
221         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
222         defined or HAVE_LIBCHISE_LIBCHISE is defined.
223         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
224         is defined.
225         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
226         HAVE_CHISE to specify using with libchise.
227         (syms_of_chartab): Don't define symbol `system-char-id' when
228         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
229
230 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
231
232         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
233         specify CHISE DB support.
234         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
235         of `char_attribute_system_db_file' to check feature DB file.
236
237         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
238         HAVE_CHISE_CLIENT to specify CHISE DB support.
239
240         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
241         specify CHISE DB support.
242         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
243         not defined.
244         (Freset_char_attribute_table): Use `chise_feature_setup_db'
245         instead of `char_attribute_system_db_file' to check feature DB
246         file.
247
248 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
249
250         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
251         `HAVE_CHISE_CLIENT'.
252
253 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
254
255         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
256         (Fsave_charset_mapping_table): Don't use
257         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
258
259         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
260         (HAVE_LIBCHISE): New macro.
261
262         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
263
264         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
265         (Fsave_char_attribute_table): Don't use
266         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
267
268 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
269
270         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
271         defined.
272         (save_uint16_byte_table): Likewise.
273         (save_byte_table): Likewise.
274         (char_table_get_db): Use `chise_ds_load_char_feature_value'
275         instead of `chise_char_load_feature_value'.
276         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
277
278 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
279
280         * chartab.h (struct Lisp_Char_Table): Delete member
281         `feature_table' if CHISE is defined.
282
283         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
284         (Fcopy_char_table): Likewise.
285         (char_table_open_db_maybe): Likewise.
286         (char_table_close_db_maybe): Likewise.
287         (char_table_get_db): Likewise.
288         (Fmount_char_attribute_table): Likewise.
289         (Fload_char_attribute_table): Likewise.
290
291 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
292
293         * mule-charset.c (load_char_decoding_entry_maybe): Use
294         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
295         `chise_ccs_decode'.
296
297 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
298
299         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
300         instead of `chise_open_data_source'.
301         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
302         `chise_ds_close'.
303
304 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
305
306         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
307         instead of `chise_ds_open_feature_table'.
308         (char_table_close_db_maybe): Don't use `chise_ft_close'.
309
310 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
311
312         * mule-charset.c (Fsave_charset_mapping_table): Use
313         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
314         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
315         `chise_ccs_sync' instead of `chise_ccst_close'.
316         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
317
318         * chartab.c (open_chise_data_source_maybe): Modify for
319         `chise_open_data_source'.
320         (char_table_open_db_maybe): Modify for
321         `chise_ds_open_feature_table'.
322
323 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
324
325         * mule-charset.c (load_char_decoding_entry_maybe): Use
326         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
327         `chise_ccst_close'.
328
329 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
330
331         * mule-charset.c (Fsave_charset_mapping_table): Use
332         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
333         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
334         `chise_dt_put_char' and `chise_dt_close'.
335         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
336         `chise_ccs_decode' and `chise_ccst_close' instead of
337         `chise_ds_open_decoding_table', `chise_dt_get_char' and
338         `chise_dt_close'.
339
340         * chartab.c (char_table_get_db): Use
341         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
342         (load_char_attribute_table_map_func): Modify for
343         `chise_char_feature_value_iterate'.
344         (Fload_char_attribute_table): Use
345         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
346
347 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
348
349         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
350
351 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
352
353         * chartab.c (put_char_table): Modify for inherited coded-charsets
354         in XEmacs CHISE.
355
356 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
357
358         * chartab.c (Fput_char_table_map_function): Fixed.
359         (word_boundary_p): Don't check charset in XEmacs CHISE.
360
361 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
362
363         * mule-charset.c (Fsave_charset_mapping_table): Use
364         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
365         instead of `chise_open_decoding_table'; refer
366         `default_chise_data_source'; use `chise_dt_close' instead of
367         `chise_close_decoding_table'.
368         (load_char_decoding_entry_maybe): Likewise.
369
370         * chartab.c (default_chise_data_source): New variable when `CHISE'
371         is defined.
372         (Fcopy_char_table): `ct->ds' is deleted.
373         (open_chise_data_source_maybe): New function.
374         (Fclose_char_data_source): New function.
375         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
376         use `chise_ds_open_feature_table' instead of
377         `chise_open_feature_table'.
378         (char_table_close_db_maybe): Use `chise_ft_close' instead of
379         `chise_close_feature_table'; `cit->ds' is deleted.
380         (syms_of_chartab): Add new builtin function
381         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
382
383         * chartab.h (default_chise_data_source): New extern variable.
384         (open_chise_data_source_maybe): New prototype.
385         (struct Lisp_Char_Table): Delete `ds'.
386
387 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
388
389         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
390         `CHISE' is defined.
391
392 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
393
394         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
395         not defined; add code for non-libchise setting.
396         (char_table_close_db_maybe): Likewise.
397         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
398         defined.
399         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
400         even if `CHISE' is not defined.
401         (Freset_char_attribute_table): Likewise.
402         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
403         `char_table_close_db_maybe' even if `CHISE' is not defined; use
404         `char_table_get_db'.
405         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
406         `char_table_close_db_maybe' even if `CHISE' is not defined.
407
408 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
409
410         * chartab.c (char_table_open_db_maybe): New function.
411         (char_table_close_db_maybe): New function.
412         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
413         (Freset_char_attribute_table): Likewise.
414         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
415         `char_table_close_db_maybe'.
416         (Fload_char_attribute_table): Likewise.
417
418 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
419
420         * chartab.c: Don't include <chise.h> because it is included in
421         chartab.h.
422         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
423         defined.
424         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
425         `CHISE' is defined.
426         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
427         `CHISE' is defined.
428         (Fclose_char_attribute_table): Close `ct->feature_table' and
429         `ct->ds' when `CHISE' is defined.
430         (Freset_char_attribute_table): Likewise.
431         (load_char_attribute_maybe): Use `cit->ds' and
432         `cit->feature_table' when `CHISE' is defined.
433         (Fload_char_attribute_table): Likewise.
434
435         * chartab.h: Include <chise.h> when `CHISE' is defined.
436         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
437         when `CHISE' is defined.
438
439 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
440
441         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
442         is defined.
443         (char_table_description): Likewise.
444         (Fmake_char_table): Likewise.
445         (Fcopy_char_table): Likewise.
446         (Fmount_char_attribute_table): Likewise.
447         (Fclose_char_attribute_table): Likewise.
448         (Freset_char_attribute_table): Likewise.
449         (load_char_attribute_maybe): Likewise.
450         (Fload_char_attribute_table): Likewise.
451
452         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
453         defined.
454
455 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
456
457         * chartab.c (load_char_attribute_table_map_func): New function
458         when CHISE is defined.
459         (Qload_char_attribute_table_map_function): Don't define when CHISE
460         is defined.
461         (Fload_char_attribute_table_map_function): Likewise.
462         (Fload_char_attribute_table): Use libchise when `CHISE' is
463         defined.
464         (syms_of_chartab): Don't define
465         `load-char-attribute-table-map-function' when CHISE is defined.
466
467 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
468
469         * chartab.c: Include <chise.h> when `CHISE' is defined.
470         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
471
472 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
473
474         * mule-charset.c (charset_code_point): Fix problem when searching
475         in mother CCS fails with `defined_only' mode.
476
477 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
478
479         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
480         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
481         (put_char_composition): Likewise.
482         (Fput_char_attribute): Likewise.
483         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
484
485 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
486
487         * chartab.c (Q_ucs): Deleted.
488         (Fput_char_attribute): Don't refer `->ucs'.
489         (Fdefine_char): Likewise.
490         (Ffind_char): Likewise.
491         (syms_of_chartab): Delete `->ucs'.
492
493 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
494
495         * mule-charset.c (Qmap_cns11643_2): Renamed from
496         `Qchinese_cns11643_2'.
497         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
498         `chinese-cns11643-2'.
499         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
500         `=cns11643-2'.
501
502 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
503
504         * mule-charset.c (Qmap_cns11643_1): Renamed from
505         `Qchinese_cns11643_1'.
506         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
507         `chinese-cns11643-1'.
508         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
509         `=cns11643-1'.
510
511 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
512
513         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
514         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
515         `chinese-gb12345'.
516         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
517         `=gb12345'.
518
519 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
520
521         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
522         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
523         `chinese-gb2312'.
524         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
525         `=gb2312'.
526
527 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
528
529         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
530         (syms_of_mule_charset): Add new symbol `=big5' instead of
531         `chinese-big5'.
532         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
533
534 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
535
536         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
537         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
538         `korean-ksc5601'.
539         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
540         `=ks-x1001'.
541
542 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
543
544         * mule-charset.c (Qmap_jis_x0212): Renamed from
545         `Qjapanese_jisx0212'.
546         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
547         `japanese-jisx0212'.
548         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
549         `=jis-x0212'.
550
551 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
552
553         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
554         `Qjapanese_jisx0208'.
555         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
556         of `japanese-jisx0208'.
557         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
558         `=jis-x0208-1983'.
559
560 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
561
562         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
563         `Qjapanese_jisx0208_1978'.
564         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
565         of `japanese-jisx0208-1978'.
566         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
567         `=jis-x0208-1978'.
568
569 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
570
571         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
572         only for XEmacs CHISE.
573
574 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
575
576         * char-ucs.h: Compact non-ISO-IR charset-ids.
577         (LEADING_BYTE_UCS): Changed to -177.
578         (LEADING_BYTE_CONTROL_1): Changed to -77.
579         (LEADING_BYTE_UCS_BMP): Changed to -176.
580         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
581
582 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
583
584         * mule-charset.c (Qiso_ir): New variable.
585         (Fmake_charset): Recognise new property `iso-ir'.
586         (syms_of_mule_charset): Add new symbol `iso-ir'.
587
588 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
589
590         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
591         n to -n; charset-id of non ISO-IR sets are changed to positive
592         numbers.
593
594 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
595
596         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
597         for &MCS-XXXXXXXX; values.
598
599 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
600
601         * mule.c (Vxemacs_chise_version): Renamed from
602         `Vutf_2000_version'.
603         (vars_of_mule): Add new variable `xemacs-chise-version'; define
604         `utf-2000-version' as an alias for `xemacs-chise-version'.
605
606 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
607
608         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
609         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
610         defined.
611
612         * config.h.in (CHISE): New macro.
613
614 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
615
616         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
617         of `ucs'.
618         (Qmap_ucs): New variable.
619         (syms_of_mule_charset): Add new symbol `=ucs'.
620         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
621
622         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
623         (simplify_char_spec): Likewise.
624
625         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
626
627         * char-ucs.h (Qmap_ucs): New extern variable.
628
629 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
630
631         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
632         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
633         don't define it when UTF2000 is not defined.
634         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
635         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
636         when UTF2000 is not defined.
637         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
638         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
639
640 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
641
642         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
643
644         * mule-charset.c (Vcharset_ucs_gb): Deleted.
645         (Qucs_gb): Deleted.
646         (syms_of_mule_charset): Delete `ucs-gb'.
647         (complex_vars_of_mule_charset): Likewise.
648
649 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
650
651         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
652
653         * mule-charset.c (Vcharset_ucs_cns): Deleted.
654         (Qucs_cns): Deleted.
655         (syms_of_mule_charset): Delete `ucs-cns'.
656         (complex_vars_of_mule_charset): Likewise.
657
658 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
659
660         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
661
662         * mule-charset.c (Vcharset_ucs_jis): Deleted.
663         (Qucs_jis): Deleted.
664         (syms_of_mule_charset): Delete `ucs-jis'.
665         (complex_vars_of_mule_charset): Likewise.
666
667 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
668
669         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
670
671         * mule-charset.c (Vcharset_ucs_ks): Deleted.
672         (Qucs_ks): Deleted.
673         (syms_of_mule_charset): Delete `ucs-ks'.
674         (complex_vars_of_mule_charset): Likewise.
675
676 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
677
678         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
679         (Qideograph_daikanwa_2): Deleted.
680         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
681         (complex_vars_of_mule_charset): Likewise.
682
683         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
684         (LEADING_BYTE_DAIKANWA_1): Deleted.
685         (LEADING_BYTE_DAIKANWA_2): Deleted.
686         (MIN_CHAR_DAIKANWA): Deleted.
687         (MAX_CHAR_DAIKANWA): Deleted.
688
689 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
690
691         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
692         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
693         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
694
695         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
696         (Vcharset_ideograph_daikanwa): Deleted.
697         (Qideograph_hanziku_{1..12}): Deleted.
698         (Qideograph_daikanwa): Deleted.
699         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
700         Vcharset_ideograph_daikanwa.
701         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
702         `ideograph-hanziku-{1..12}'.
703         (complex_vars_of_mule_charset): Likewise.
704
705 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
706
707         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
708
709         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
710         (Qideograph_gt_pj_{1..11}): Deleted.
711         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
712         (complex_vars_of_mule_charset): Likewise.
713
714 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
715
716         * mule-charset.c (Vcharset_ucs_big5): Deleted.
717         (Vcharset_ideograph_gt): Deleted.
718         (Qucs_big5): Deleted.
719         (Qideograph_gt): Deleted.
720         (syms_of_mule_charset): Delete symbol `ucs-big5' and
721         `ideograph-gt'.
722         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
723         and `ideograph-gt'.
724
725         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
726         (LEADING_BYTE_GT): Deleted.
727         (MIN_CHAR_GT): Deleted.
728         (MAX_CHAR_GT): Deleted.
729
730 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
731
732         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
733
734 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
735
736         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
737         (save_uint16_byte_table): Likewise.
738         (save_byte_table): Likewise; convert values by it.
739         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
740         for `ideographic-structure'.
741         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
742         as the filter for `ideographic-structure'.
743
744 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
745
746         * chartab.c (put_char_composition): New function.
747         (Fput_char_attribute): Use `put_char_composition'; use
748         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
749
750         * fns.c (simplify_char_spec): New function.
751         (char_ref_simplify_spec): New function.
752         (Fchar_refs_simplify_char_specs): New function.
753         (syms_of_fns): Add new builtin function
754         `char-refs-simplify-char-specs'.
755
756 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
757
758         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
759         (Qideograph_cbeta): Deleted.
760         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
761         (complex_vars_of_mule_charset): Likewise.
762
763         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
764         (MIN_CHAR_CBETA): Comment out.
765         (MAX_CHAR_CBETA): Likewise.
766
767 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
768
769         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
770         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
771         CHISE client feature.
772
773 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
774
775         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
776
777 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
778
779         * mule-charset.c (charset_lookup_description_1): Use
780         `NUM_LEADING_BYTES' in UTF-2000.
781
782 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
783
784         * char-ucs.h (GC_CHARSETP): Deleted.
785
786 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
787
788         * char-ucs.h (MAX_CHAR_GT): Updated.
789
790 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
791
792         * text-coding.c: Sync with XEmacs 21.4.10.
793
794 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
795
796         * mule-charset.c (Vcharset_china3_jef): Deleted.
797         (Qchina3_jef): Deleted.
798         (syms_of_mule_charset): Don't define `china3-jef'.
799         (complex_vars_of_mule_charset): Likewise.
800
801         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
802         (MIN_CHAR_CHINA3_JEF): Comment out.
803         (MAX_CHAR_CHINA3_JEF): Comment out.
804
805 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
806
807         * mule-charset.c (Vcharset_ucs_gb): New variable.
808         (Qucs_gb): New variable.
809         (syms_of_mule_charset): Add new symbol `ucs-gb'.
810         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
811
812         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
813
814 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
815
816         * mule-charset.c (charset_code_point): if a coded-charset has a
817         final-byte, don't inherit the builtin range of the mother CCS.
818
819 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
820
821         * mule-charset.c (charset_code_point): Fix problem about
822         inheritance.
823
824 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
825
826         * mule-charset.c (decode_builtin_char): Reorganized.
827
828 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
829
830         * text-coding.c (char_encode_as_entity_reference): Modify for
831         `charset_code_point'.
832         (char_encode_shift_jis): Likewise.
833         (char_encode_big5): Likewise.
834         (char_encode_utf8): Likewise.
835         (char_encode_iso2022): Likewise.
836
837         * mule-charset.c (charset_code_point): Add new argument
838         `defined_only'.
839         (Fencode_char): Add new optional argument `defined_only'.
840
841         * chartab.c (put_char_table): Modify for `charset_code_point'.
842
843         * char-ucs.h (charset_code_point): Add new argument
844         `defined_only'.
845         (encode_char_1): Modify for `charset_code_point'.
846
847 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
848
849         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
850         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
851
852 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
853
854         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
855         (Qjis_x0208): Likewise.
856         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
857         XCHARSET_FINAL(charset).
858         (charset_code_point): Modify condition for final-byte based
859         builtin-chars.
860         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
861         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
862         in UTF-2000; specify `=jis-x0208' as the mother of
863         `japanese-jisx0208-1978', `japanese-jisx0208' and
864         `japanese-jisx0208-1990' in UTF-2000.
865
866 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
867
868         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
869
870 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
871
872         * text-coding.c (decode_coding_utf16): Support UTF-16.
873         (char_encode_utf16): Fixed.
874
875 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
876
877         * text-coding.c (Qutf16): New variable in MULE.
878         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
879         (Fcoding_system_type): Add `utf-16' in MULE.
880         (struct detection_state): Add a structure for utf16 in MULE.
881         (detect_coding_type): Setup st->utf16.mask in MULE.
882         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
883         MULE.
884         (reset_encoding_stream): Use `char_encode_utf16' and
885         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
886         (detect_coding_utf16): New function [incomplete].
887         (decode_coding_utf16): New function [support only UCS-2].
888         (char_encode_utf16): New function.
889         (char_finish_utf16): New function.
890         (syms_of_file_coding): Add new symbol `utf-16'; setup
891         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
892
893         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
894         UTF-2000.
895         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
896         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
897
898 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
899
900         * chartab.c (put_char_table): When a charset is specified as a
901         range in UTF-2000, don't support builtin characters.
902
903 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
904
905         * mule-charset.c (decode_defined_char): Don't refer external
906         database if Qunbound or Qnil are found.
907         (Fsave_charset_mapping_table): Don't define it if
908         HAVE_CHISE_CLIENT is not defined.
909         (Freset_charset_mapping_table): New function.
910         (load_char_decoding_entry_maybe): Store Qnil if a character is not
911         found in external database.
912         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
913         if HAVE_CHISE_CLIENT is not defined; add new builtin function
914         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
915
916 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
917
918         * text-coding.c (decode_coding_utf8): Check CCS is specified or
919         not.
920
921 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
922
923         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
924         Q_lowercase, Q_uppercase in UTF-2000.
925
926         * chartab.c (get_char_table): Add special code for the standard
927         case table to use character attribute `->downcase' and
928         `->uppercase' for case operations in UTF-2000.
929
930         * casetab.c (Qflippedcase): New variable in UTF-2000.
931         (Q_lowercase): Likewise.
932         (Q_uppercase): Likewise.
933         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
934         and `->uppercase' in UTF-2000.
935         (complex_vars_of_casetab): Assign attribute name `downcase' to
936         downcase and CANON table of Vstandard_case_table in UTF-2000;
937         assign attribute name `flippedcase' to upcase and EQV table of
938         Vstandard_case_table in UTF-2000.
939
940 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
941
942         * text-coding.c (decode_add_er_char): Support isolated-chars.
943         (char_encode_as_entity_reference): Likewise.
944
945 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
946
947         * emacs.c (Vutf_2000_lisp_directory): New variable.
948         (Vconfigure_utf_2000_lisp_directory): Likewise.
949         (complex_vars_of_emacs): Add new variable
950         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
951
952 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
953
954         * char-ucs.h (DECODE_CHAR): Delete special code for
955         `chinese-big5-1' and `chinese-big5-2'.
956
957         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
958         (Qbig5_2): Likewise.
959         (decode_defined_char): Support CONVERSION_BIG5_1 and
960         CONVERSION_BIG5_2.
961         (decode_builtin_char): Likewise.
962         (charset_code_point): Likewise.
963         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
964         'conversion in UTF-2000.
965         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
966         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
967         `chinese-big5-2' as children of `chinese-big5'.
968
969         * char-ucs.h (CONVERSION_BIG5_1): New macro.
970         (CONVERSION_BIG5_2): New macro.
971
972 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
973
974         * text-coding.c (char_encode_big5): Support entity-reference.
975
976 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
977
978         * text-coding.c (char_encode_as_entity_reference): New function.
979         (char_encode_utf8): Use `char_encode_as_entity_reference'.
980
981 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
982
983         * text-coding.c (decode_coding_big5): Support entity-reference
984         decoding feature.
985
986 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
987
988         * text-coding.c (allocate_coding_system): Initialize initial
989         charsets for CODESYS_UTF8.
990         (Fmake_coding_system): Accept charset-g0, charset-g1 and
991         charset-g2 for CODESYS_UTF8.
992         (decode_coding_utf8): Use charset-g0.
993         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
994         to force variants to map to UCS.
995
996 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
997
998         * text-coding.c (Qutf_8_mcs): New variable.
999         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1000         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1001         instead of `utf-8' in UTF-2000.
1002
1003 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1004
1005         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1006         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1007         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1008         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1009         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1010         CONVERSION_96x96x96x96 are introduced.
1011         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1012         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1013         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1014
1015         * char-ucs.h (CONVERSION_94): New macro.
1016         (CONVERSION_96): New macro.
1017         (CONVERSION_94x94): New macro.
1018         (CONVERSION_96x96): New macro.
1019         (CONVERSION_94x94x94): New macro.
1020         (CONVERSION_96x96x96): New macro.
1021         (CONVERSION_94x94x94x60): New macro.
1022         (CONVERSION_94x94x94x94): New macro.
1023         (CONVERSION_96x96x96x96): New macro.
1024
1025 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1026
1027         * chartab.c (Vcharacter_variant_table): Deleted.
1028         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1029         of `Vcharacter_variant_table'.
1030         (Fput_char_attribute): Likewise.
1031         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1032         (complex_vars_of_chartab): Likewise.
1033
1034 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1035
1036         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1037
1038         * fns.c (Qideographic_structure): New variable.
1039         (Qkeyword_char): New variable.
1040         (ids_format_unit): New function.
1041         (Fideographic_structure_to_ids): New function.
1042         (syms_of_fns): Add new symbols `ideographic-structure' and
1043         `:char'; add new builtin function `ideographic-structure-to-ids'.
1044
1045         * data.c (Fchar_ref_p): New function.
1046         (syms_of_data): Add new builtin function `char-ref-p'.
1047
1048         * chartab.h: Add an EXFUN for `Ffind_char'.
1049
1050 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1051
1052         * text-coding.c (Vcharacter_composition_table): Deleted.
1053         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1054         in every UTF-2000.
1055
1056         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1057         UTF-2000.
1058         (Vcharacter_composition_table): Deleted.
1059         (Fget_composite_char): Use the implementation for external-DB
1060         support in every UTF-2000.
1061         (Fput_char_attribute): Likewise.
1062         (char_attribute_system_db_file): Don't define if external-DB
1063         feature is not available.
1064         (Fsave_char_attribute_table): Likewise.
1065         (Fmount_char_attribute_table): Likewise.
1066         (Fclose_char_attribute_table): Likewise.
1067         (Freset_char_attribute_table): Likewise.
1068         (Fload_char_attribute_table): Likewise.
1069         (syms_of_chartab): Don't define `save-char-attribute-table',
1070         `mount-char-attribute-table', `reset-char-attribute-table',
1071         `close-char-attribute-table' and `load-char-attribute-table' if
1072         external-DB feature is not available.
1073         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1074
1075 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1076
1077         * text-coding.c (Qcomposition): Add extern if external-DB feature
1078         is supported.
1079         (Vcharacter_composition_table): Don't add extern if external-DB
1080         feature is supported.
1081         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1082         character composition rule if external-DB feature is supported.
1083
1084         * chartab.c (Vcharacter_composition_table): Don't define if
1085         external-DB feature is supported.
1086         (Qcomposition): New variable.
1087         (Fget_composite_char): New implementation for external-DB support.
1088         (Fput_char_attribute): Use `composition' property of each
1089         character instead of `Vcharacter_composition_table' to store
1090         character-composition rules if external-DB feature is supported.
1091         (syms_of_chartab): Add new symbol `composition'.
1092         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1093         external-DB feature is supported.
1094
1095 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1096
1097         * chartab.c (Vchar_db_stingy_mode): New variable.
1098         (load_char_attribute_maybe): Close database if
1099         Vchar_db_stingy_mode is not NIL.
1100         (Fload_char_attribute_table_map_function): Use
1101         `get_char_id_table_0' instead of `get_char_id_table'.
1102         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1103
1104         * chartab.h (get_char_id_table_0): New inline function.
1105         (get_char_id_table): Use `get_char_id_table_0'.
1106
1107 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1108
1109         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1110         and `COMPOSE_ADD_CHAR'.
1111         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1112
1113 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1114
1115         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1116         instead of `DECODE_ADD_UCS_CHAR'.
1117         (COMPOSE_ADD_CHAR): Likewise.
1118
1119 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1120
1121         * text-coding.c (decode_flush_er_chars): New inline function.
1122         (decode_add_er_char): New function.
1123         (decode_coding_utf8): Use `decode_flush_er_chars' and
1124         `decode_add_er_char'.
1125
1126 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1127
1128         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1129         done before `decode_output_utf8_partial_char'.
1130
1131         * mule-charset.c (complex_vars_of_mule_charset): Specify
1132         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1133         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1134
1135 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1136
1137         * mule-charset.c (decode_defined_char): New function; search
1138         mother.
1139         (decode_builtin_char): Don't search mother if
1140         XCHARSET_MAX_CODE(charset) == 0.
1141         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1142         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1143         (Fdecode_char): Use `decode_defined_char' instead of
1144         `DECODE_DEFINED_CHAR'.
1145         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1146         mother of `Vcharset_ucs_jis'.
1147
1148         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1149         instead of `DECODE_DEFINED_CHAR'.
1150
1151         * char-ucs.h (decode_defined_char): Renamed from
1152         `DECODE_DEFINED_CHAR'; changed to normal function.
1153         (DECODE_CHAR): Use `decode_defined_char' instead of
1154         `DECODE_DEFINED_CHAR'.
1155
1156         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1157
1158 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1159
1160         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1161
1162         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1163         variable.
1164         (Quse_entity_reference): New variable.
1165         (Qd): New variable.
1166         (Qx): New variable.
1167         (QX): New variable.
1168         (coding_system_description): Add description for
1169         `ccs_priority_list'.
1170         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1171         (allocate_coding_system): Initialize `ccs_priority_list' in
1172         UTF-2000.
1173         (Fmake_coding_system): Add description about
1174         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1175         (codesys).
1176         (Fcoding_system_property): Accept `disable-composition' and
1177         `use-entity-reference' in UTF-2000.
1178         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1179         in UTF-2000.
1180         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1181         (decode_coding_utf8): Decode entity-reference if
1182         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1183         (char_encode_utf8): Encode non-Unicode characters as
1184         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1185         (str->codesys).
1186         (syms_of_file_coding): Add new symbols `use-entity-reference',
1187         `d', `x', `X'.
1188         (vars_of_file_coding): Add new variable
1189         `coded-charset-entity-reference-alist'.
1190         (complex_vars_of_file_coding): Declare `disable-composition' and
1191         `use-entity-reference' to be coding-system-properties in UTF-2000.
1192
1193         * file-coding.h (struct Lisp_Coding_System): Add new member
1194         `use_entity_reference' and `ccs_priority_list'.
1195         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1196         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1197         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1198
1199 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1200
1201         * chartab.c (save_uint8_byte_table): Don't clear the table.
1202         (save_uint16_byte_table): Likewise.
1203         (save_byte_table): Likewise.
1204         (Fmount_char_attribute_table): New function.
1205         (syms_of_chartab): Add new builtin function
1206         `mount-char-attribute-table'.
1207
1208 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1209
1210         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1211         "w+" mode.
1212         (load_char_decoding_entry_maybe): Open database as read-only mode.
1213
1214         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1215         open database as "w+" mode.
1216         (load_char_attribute_maybe): Open database as read-only mode.
1217         (Fload_char_attribute_table): Likewise.
1218
1219 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1220
1221         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1222         (char_table_description): Delete member `db_file'.
1223         (Fmake_char_table): Don't refer `ct->db_file'.
1224         (Fcopy_char_table): Likewise.
1225         (Fsave_char_attribute_table): Likewise.
1226         (Fclose_char_attribute_table): Likewise.
1227         (Freset_char_attribute_table): Likewise.
1228         (load_char_attribute_maybe): Likewise.
1229         (Fload_char_attribute_table): Likewise.
1230
1231         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1232
1233 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1234
1235         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1236         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1237         `ct->db' is living.
1238         (load_char_attribute_maybe): Likewise.
1239         (Fload_char_attribute_table): Likewise.
1240
1241 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1242
1243         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1244         `ct->db_file' unconditionally.
1245
1246 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1247
1248         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1249         UTF-2000.
1250         (char_table_description): Add description for `db_file' and `db'
1251         in UTF-2000.
1252         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1253         UTF-2000.
1254         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1255         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1256         (Fclose_char_attribute_table): New function.
1257         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1258         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1259         and `cit->db'.
1260         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1261         (syms_of_chartab): Add new builtin function
1262         `Fclose_char_attribute_table'.
1263
1264 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1265
1266         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1267         `db' in UTF-2000.
1268         (load_char_attribute_maybe): Change interface.
1269         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1270
1271 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1272
1273         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1274
1275 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1276
1277         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1278         instead of `DECODE_CHAR' for mother; don't use special code for
1279         chinese-big5 to use code space of chinese-big5-1 and
1280         chinese-big5-2.
1281         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1282         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1283
1284         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1285         (MAX_CHAR_BIG5_CDP): Revival.
1286
1287 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1288
1289         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1290         the XLFD registry-encoding name of `chinese-big5'.
1291
1292 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1293
1294         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1295         (Qchinese_big5_cdp): Deleted.
1296         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1297         (complex_vars_of_mule_charset): Delete coded-charset
1298         `chinese-big5-cdp'.
1299
1300         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1301         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1302         `CHARSET_ID_OFFSET - n' for private CCS.
1303         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1304         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1305         of `MIN_LEADING_BYTE'.
1306         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1307         `(CHARSET_ID_OFFSET - 97)'.
1308         (MIN_CHAR_BIG5_CDP): Deleted.
1309         (MAX_CHAR_BIG5_CDP): Deleted.
1310
1311 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1312
1313         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1314
1315 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1316
1317         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1318         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1319         chartab.c].
1320
1321         * chartab.c (Vutf_2000_version): Moved to mule.c.
1322         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1323
1324 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1325
1326         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1327         when HAVE_CHISE_CLIENT is not defined.
1328
1329         * mule.c (vars_of_mule): Provide feature `chise' when
1330         HAVE_CHISE_CLIENT is defined.
1331
1332 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1333
1334         * config.h.in (UTF2000): Add comment.
1335         (HAVE_CHISE_CLIENT): New macro.
1336
1337 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1338
1339         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1340         CONSP.
1341         (Fput_char_attribute): Likewise.
1342         (char_attribute_system_db_file): Encode file-name of attribute.
1343         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1344         the initial value.
1345
1346 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1347
1348         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1349         (Fsave_charset_mapping_table): Use
1350         `char_attribute_system_db_file'.
1351         (load_char_decoding_entry_maybe): Likewise.
1352
1353         * chartab.h (Qsystem_char_id): New external variable.
1354         (char_attribute_system_db_file): New prototype.
1355
1356         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1357         (char_attribute_system_db_file): New function.
1358         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1359         (Freset_char_attribute_table): Likewise.
1360         (load_char_attribute_maybe): Likewise.
1361         (Fload_char_attribute_table): Likewise.
1362         (syms_of_chartab): Add new symbol `system-char-id'.
1363
1364 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1365
1366         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1367         `XCHARSET_GRAPHIC(ccs)'.
1368
1369 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1370
1371         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1372
1373 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1374
1375         * chartab.c (Q_ucs_variants): New variable.
1376         (syms_of_chartab): Add new symbol `->ucs-variants'.
1377         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1378         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1379         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1380
1381         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1382
1383         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1384         `HAVE_DATABASE' is defined.
1385         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1386         `HAVE_DATABASE' is defined.
1387
1388 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1389
1390         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1391         attribute-table.
1392         (Freset_char_attribute_table): New function.
1393         (syms_of_chartab): Add new builtin function
1394         `reset-char-attribute-table'.
1395
1396 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1397
1398         * chartab.c (load_char_attribute_maybe): Don't make directories.
1399
1400 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1401
1402         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1403
1404         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1405         for decoding-table.
1406
1407 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1408
1409         * mule-charset.c (Fsave_charset_mapping_table): Use
1410         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1411
1412         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1413         instead of `XCHARSET_CHARS'.
1414
1415 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1416
1417         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1418         (XCHARSET_BYTE_SIZE): Likewise.
1419
1420         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1421         mule-charset.c].
1422         (XCHARSET_BYTE_SIZE): Likewise.
1423
1424 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1425
1426         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1427         data-directory to store database.
1428         (Fsave_char_attribute_table): Likewise.
1429         (load_char_attribute_maybe): Likewise.
1430         (Fload_char_attribute_table): Likewise.
1431
1432 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1433
1434         * mule-charset.c (Fsave_charset_mapping_table): New function.
1435         (syms_of_mule_charset): Add new builtin function
1436         `save-charset-mapping-table'.
1437
1438 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1439
1440         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1441         (get_ccs_octet_table): New inline function.
1442         (put_ccs_octet_table): Likewise.
1443         (decoding_table_put_char): Use `get_ccs_octet_table' and
1444         `put_ccs_octet_table'.
1445         (decoding_table_remove_char): Use `decoding_table_put_char'.
1446         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1447
1448         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1449         into encoding_table.
1450         (make_charset): Use Qunbound instead Qnil as initial value of
1451         decoding_table.
1452
1453 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1454
1455         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1456         element is Qunloaded.
1457         (map_over_uint16_byte_table): Likewise.
1458         (map_over_byte_table): Likewise.
1459         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1460         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1461         database support, load encoding-table of the specified
1462         coded-charset if it is not loaded yet.
1463         (save_uint8_byte_table): New function of UTF-2000 with external
1464         database support.
1465         (save_uint16_byte_table): Likewise.
1466         (save_byte_table): Likewise.
1467         (Fput_char_attribute): Don't store value into external database
1468         even if the external database feature is supported in UTF-2000;
1469         set `attribute' as name of char-table if the external database
1470         feature is supported.
1471         (Fsave_char_attribute_table): New function in UTF-2000.
1472         (syms_of_chartab): Add new builtin function
1473         `save-char-attribute-table' in UTF-2000.
1474
1475 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1476
1477         * chartab.c (char_attribute_table_to_put): New variable in
1478         UTF-2000.
1479         (Qput_char_table_map_function): Likewise.
1480         (value_to_put): Likewise.
1481         (Fput_char_table_map_function): New function in UTF-2000.
1482         (put_char_table): Use `Fmap_char_attribute' for
1483         CHARTAB_RANGE_CHARSET in UTF-2000.
1484         (Fput_char_attribute): Store symbol instead of string in
1485         `XCHAR_TABLE_NAME (table)'.
1486         (load_char_attribute_maybe): Likewise.
1487         (syms_of_chartab): Add new symbol/function
1488         `put-char-table-map-function'.
1489
1490 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1491
1492         * database.h: Add new EXFUN for `Fmap_database'.
1493
1494         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1495         (syms_of_database): Likewise.
1496
1497         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1498         UTF-2000.
1499         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1500         (XCHAR_TABLE_UNLOADED): Likewise.
1501
1502         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1503         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1504         HAVE_DATABASE is defined.
1505         (char_attribute_table_to_load): New variable of UTF-2000 with
1506         external database support.
1507         (Qload_char_attribute_table_map_function): Likewise.
1508         (Fload_char_attribute_table_map_function): New function of
1509         UTF-2000 with external database support.
1510         (Fload_char_attribute_table): New function of UTF-2000.
1511         (Fmap_char_attribute): Call Fload_char_attribute_table if
1512         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1513         (syms_of_chartab): Add new symbol and function
1514         `load-char-attribute-table-map-function' in UTF-2000 with external
1515         database support; add new function `load-char-attribute-table' in
1516         UTF-2000.
1517
1518 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1519
1520         * chartab.h (load_char_attribute_maybe): New prototype for
1521         UTF-2000 with DATABASE support.
1522         (get_char_id_table): Use `load_char_attribute_maybe' if
1523         HAVE_DATABASE is defined.
1524
1525         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1526         with DATABASE support.
1527
1528 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1529
1530         * chartab.c (Fput_char_attribute): Use S-expression as key of
1531         external database.
1532
1533         * chartab.h (get_char_id_table): Use S-expression as key of
1534         external database.
1535
1536 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1537
1538         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1539         if an element is not loaded, load the corresponding attributes
1540         from an external database.
1541         (map_over_uint16_byte_table): Likewise.
1542         (map_over_byte_table): Likewise.
1543         (map_char_table): Modify for `map_over_uint8_byte_table',
1544         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1545         element is not loaded, load the corresponding attributes from an
1546         external database.
1547         (Fput_char_attribute): Change initial values to Qunloaded.
1548
1549         * chartab.h (get_char_id_table): If a character attribute is not
1550         loaded and the attribute value is not found in an external
1551         database, store Qunbound as the attribute value.
1552
1553 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1554
1555         * chartab.c (BT_UINT8_unloaded): New macro.
1556         (UINT8_VALUE_P): Accept Qunloaded.
1557         (UINT8_ENCODE): Likewise.
1558         (UINT8_DECODE): Likewise.
1559         (BT_UINT16_unloaded): New macro.
1560         (UINT16_VALUE_P): Accept Qunloaded.
1561         (UINT16_ENCODE): Likewise.
1562         (UINT16_DECODE): Likewise.
1563         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1564         BT_UINT16_unloaded.
1565         (mark_char_table): Mark `ct->name' in UTF-2000.
1566         (char_table_description): Add `name' in UTF-2000.
1567         (Fmake_char_table): Initialize `ct->name'.
1568         (Fcopy_char_table): Copy `ct->name'.
1569         (Fput_char_attribute): Store value into an external database if
1570         HAVE_DATABASE is defined.
1571
1572         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1573         UTF-2000.
1574         (CHAR_TABLE_NAME): New macro in UTF-2000.
1575         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1576         (get_char_id_table): Try to read an external database if Qunloaded
1577         is stored in a table.
1578
1579         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1580         Qunloaded.
1581
1582 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1583
1584         * database.h: Add EXFUN definitions for Fopen_database,
1585         Fput_database, Fget_database and Fclose_database.
1586
1587         * data.c (Qunloaded): New variable in UTF-2000.
1588
1589         * lisp.h (Qunloaded): New variable in UTF-2000.
1590
1591 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1592
1593         * mule-charset.c (put_char_ccs_code_point): Modify for
1594         `decoding_table_remove_char' and `decoding_table_put_char'.
1595         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1596
1597         * char-ucs.h (decoding_table_remove_char): Change arguments to
1598         hide decoding_table vector.
1599         (decoding_table_put_char): Likewise.
1600
1601 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1602
1603         * mule-charset.c (decoding_table_remove_char): Moved to
1604         char-ucs.h.
1605         (decoding_table_put_char): Likewise.
1606
1607         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1608         from mule-charset.c].
1609         (decoding_table_remove_char): New inline function [moved from
1610         mule-charset.c].
1611         (decoding_table_put_char): Likewise.
1612
1613 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1614
1615         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1616         extension.
1617
1618 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1619
1620         * mule-charset.c (decode_builtin_char): Support mother charsets.
1621
1622 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1623
1624         * mule-charset.c (Q94x94x60): New variable.
1625         (charset_code_point): Support conversion `94x94x60'.
1626         (Fmake_charset): Likewise.
1627         (syms_of_mule_charset): Add new symbol `94x94x60'.
1628
1629         * char-ucs.h (CONVERSION_94x94x60): New macro.
1630
1631 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1632
1633         * mule-charset.c (charset_code_point): Unify code about
1634         `code-offset'.
1635
1636 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1637
1638         * mule-charset.c (charset_code_point): Merge code about builtin
1639         characters into code about mother charsets; don't use
1640         `range_charset_code_point'.
1641         (range_charset_code_point): Deleted.
1642
1643 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1644
1645         * mule-charset.c (Qcode_offset): New variable.
1646         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1647         `max-code'; accept new property `code-offset'.
1648         (syms_of_mule_charset): Add new symbol `code-offset'.
1649
1650 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1651
1652         * mule-charset.c (range_charset_code_point): Fixed.
1653
1654 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1655
1656         * mule-charset.c (decode_builtin_char): Change semantics of
1657         code-offset of coded-charset.
1658         (charset_code_point): Likewise.
1659         (range_charset_code_point): Likewise.
1660         (complex_vars_of_mule_charset): Modify for the change.
1661
1662 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1663
1664         * mule-charset.c (Fencode_char): Reverse arguments.
1665
1666         * mule-charset.c (charset_code_point): Fixed.
1667
1668 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1669
1670         * mule-charset.c (Vcharset_mojikyo): Deleted.
1671         (Vcharset_mojikyo_2022_1): Deleted.
1672         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1673         (Qmin_code): New variable in UTF-2000.
1674         (Qmax_code): Likewise.
1675         (Qmother): Likewise.
1676         (Qconversion): Likewise.
1677         (Q94x60): Likewise.
1678         (Qmojikyo): Deleted.
1679         (Qmojikyo_2022_1): Deleted.
1680         (Qmojikyo_pj_{1..22}): Deleted.
1681         (mark_charset): Mark `cs->mother'.
1682         (charset_description): Add description for `mother'.
1683         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1684         new arguments `mother' and `conversion'; use
1685         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1686         (charset_code_point): Moved from char-ucs.h; support `mother'
1687         charset feature.
1688         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1689         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1690         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1691         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1692         allow 2 as the value of `graphic' in UTF-2000; add new properties
1693         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1694         require `final' in UTF-2000; modify for `make_charset'.
1695         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1696         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1697         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1698         (Fencode_char): New function.
1699         (syms_of_mule_charset): Add new builtin function `encode-char' in
1700         UTF-2000; add new symbols `min-code', `max-code', `mother',
1701         `conversion' and `94x60'; delete symbols `mojikyo',
1702         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1703         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1704         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1705         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1706
1707         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1708         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1709
1710         * char-ucs.h (Vcharset_mojikyo): Deleted.
1711         (Vcharset_mojikyo_2022_1): Deleted.
1712         (LEADING_BYTE_MOJIKYO): Deleted.
1713         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1714         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1715         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1716         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1717         add new member `mother'; add new member `conversion'.
1718         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1719         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1720         (CHARSET_MOTHER): New macro.
1721         (CHARSET_CONVERSION): New macro.
1722         (CONVERSION_IDENTICAL): New macro.
1723         (CONVERSION_94x60): New macro.
1724         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1725         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1726         (XCHARSET_MOTHER): New macro.
1727         (XCHARSET_CONVERSION): New macro.
1728         (MIN_CHAR_MOJIKYO): Deleted.
1729         (MAX_CHAR_MOJIKYO): Deleted.
1730         (DECODE_MOJIKYO_2022): Deleted.
1731         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1732         (charset_code_point): Changed to non-inline function.
1733         (encode_char_1): Use `charset_code_point'.
1734         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1735
1736 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1737
1738         * lread.c (read_compiled_function): Fix prototype.
1739         (read_vector): Likewise.
1740
1741 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1742
1743         * lrecord.h (struct lrecord_header): Delete `older'.
1744         (set_lheader_implementation): Delete code for `older'.
1745         (set_lheader_older_implementation): Deleted.
1746         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1747         (OLDER_RECORD_P): Deleted.
1748         (OLDER_RECORD_HEADER_P): Deleted.
1749         (alloc_older_lcrecord): Deleted.
1750         (alloc_older_lcrecord_type): Deleted.
1751
1752         * alloc.c (all_older_lcrecords): Deleted.
1753         (alloc_older_lcrecord): Deleted.
1754         (disksave_object_finalization_1): Delete code for older objects.
1755         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1756         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1757
1758 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1759
1760         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1761         instead of `make_older_vector'.
1762         (put_char_ccs_code_point): Likewise.
1763         (mark_charset): Mark `cs->decoding_table'.
1764         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1765
1766         * lisp.h (make_older_vector): Deleted.
1767         (make_vector_newer): Deleted.
1768
1769         * config.h.in (HAVE_GGC): Deleted.
1770
1771         * alloc.c (make_older_vector): Deleted.
1772         (make_vector_newer_1): Deleted.
1773         (make_vector_newer): Deleted.
1774
1775 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1776
1777         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1778         (Qideograph_daikanwa_2): New variable.
1779         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1780         (complex_vars_of_mule_charset): Add new coded-charset
1781         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1782         `LEADING_BYTE_DAIKANWA'.
1783
1784         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1785         (LEADING_BYTE_DAIKANWA_1): New macro.
1786         (LEADING_BYTE_DAIKANWA_2): New macro.
1787         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1788
1789 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1790
1791         * mule-charset.c (complex_vars_of_mule_charset): Change
1792         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1793         the second revised version.
1794
1795 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1796
1797         * mule-charset.c (Vcharset_ucs_smp): New variable.
1798         (Vcharset_ucs_sip): New variable.
1799         (Qucs_smp): New variable.
1800         (Qucs_sip): New variable.
1801         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1802         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1803         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1804         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1805         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1806         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1807
1808         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1809         (LEADING_BYTE_UCS_SIP): New macro.
1810         (MIN_CHAR_SMP): New macro.
1811         (MAX_CHAR_SMP): New macro.
1812         (MIN_CHAR_SIP): New macro.
1813         (MAX_CHAR_SIP): New macro.
1814
1815 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1816
1817         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1818         utf-2000.
1819
1820 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1821
1822         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1823         value; don't store value into `encoding_table' of `Lisp_Charset'.
1824         (mark_charset): `encoding_table' was deleted.
1825         (charset_description): Likewise.
1826         (make_charset): Likewise.
1827         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1828         `put_char_ccs_code_point'.
1829
1830         * chartab.h (Fput_char_attribute): New EXFUN.
1831
1832         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1833         is unified with normal symbol space.
1834         (Fget_char_attribute): Likewise.
1835         (Fput_char_attribute): Likewise; behavior of
1836         `put_char_ccs_code_point' is changed.
1837
1838         * char-ucs.h: Include "elhash.h".
1839         (Vchar_attribute_hash_table): New external variable.
1840         (struct Lisp_Charset): Delete `encoding_table'.
1841         (CHARSET_ENCODING_TABLE): New implementation; refer
1842         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1843         `Lisp_Charset'.
1844
1845 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1846
1847         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1848         (cs) == 0.
1849
1850 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1851
1852         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1853         `chinese-big5'.
1854
1855 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1856
1857         * chartab.c (uint8_byte_table_description): New constant.
1858         (uint8-byte-table): Use `uint8_byte_table_description'.
1859         (uint16_byte_table_description): New constant.
1860         (uint16-byte-table): Use `uint16_byte_table_description'.
1861
1862 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1863
1864         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1865         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1866
1867 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1868
1869         * mule-charset.c (Vcharset_ucs_ks): New variable.
1870         (Qucs_ks): New variable.
1871         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1872         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1873
1874         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1875
1876 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1877
1878         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1879         (Fdecode_char): Likewise.
1880
1881         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1882         chartab.h.
1883         (Fdefine_char): Modify for Fdecode_char.
1884         (Ffind_char): Likewise.
1885
1886         * mule-charset.c (Fdecode_char): Add new optional argument
1887         `defined-only'.
1888         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1889
1890 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1891
1892         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1893         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1894         (allocate_coding_system): Initialize initial-charsets of
1895         CODESYS_BIG5 in XEmacs UTF-2000.
1896         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1897         CODESYS_BIG5 in XEmacs UTF-2000.
1898         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1899         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1900
1901         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1902         variables.
1903         (Qideograph_hanziku_{1 .. 12}): Likewise.
1904         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1905         .. 12}'.
1906         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1907         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1908         `ideograph-hanziku-{1 .. 12}'.
1909
1910         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1911         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1912         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1913         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1914         (DECODE_DEFINED_CHAR): New inline function.
1915         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1916
1917 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1918
1919         * mule-charset.c (Vcharset_china3_jef): Renamed from
1920         `Vcharset_japanese_jef_china3'.
1921         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1922         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1923         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1924         (syms_of_mule_charset): Rename `china3-jef' from
1925         `japanese-jef-china3'.
1926         (complex_vars_of_mule_charset): Likewise; rename
1927         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1928
1929         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1930         `LEADING_BYTE_JEF_CHINA3'.
1931         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1932         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1933
1934 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1935
1936         * mule-charset.c (encode_builtin_char_1): Comment out special code
1937         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1938
1939         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1940         (MAX_CHAR_MOJIKYO_0): Comment out.
1941         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1942         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1943         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1944         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1945
1946 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1947
1948         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1949         (Qideograph_cbeta): New variable.
1950         (encode_builtin_char_1): Comment out special code for
1951         coded-charset `mojikyo' and `japanese-jef-china3'.
1952         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1953         (complex_vars_of_mule_charset): Add new coded-charset
1954         `ideograph-cbeta'.
1955
1956         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1957         (MIN_CHAR_CBETA): New macro.
1958         (MAX_CHAR_CBETA): New macro.
1959
1960 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1961
1962         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1963         (LEADING_BYTE_JEF_CHINA3): New macro.
1964         (MIN_CHAR_JEF_CHINA3): New macro.
1965         (MAX_CHAR_JEF_CHINA3): Likewise.
1966         (DECODE_CHAR): Fixed.
1967
1968 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1969
1970         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1971         (Qjapanese_jef_china3): New variable.
1972         (encode_builtin_char_1): Support `japanese-jef-china3'.
1973         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1974         (complex_vars_of_mule_charset): Add new coded-charset
1975         `japanese-jef-china3'.
1976
1977 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1978
1979         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1980         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1981         94^4, 96^3, 96^4, 128^n and 256^n set.
1982         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1983         (map_char_table): Likewise.
1984
1985 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1986
1987         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1988         UTF-2000.
1989
1990 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1991
1992         * chartab.h (get_char_id_table): New inline function.
1993
1994         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1995         function.
1996
1997 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1998
1999         * chartab.h (decode_char_table_range): New prototype in XEmacs
2000         UTF-2000.
2001         (put_char_id_table): New inline function in XEmacs UTF-2000.
2002
2003         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2004         function.
2005         (decode_char_table_range): Delete static declaration in XEmacs
2006         UTF-2000.
2007
2008 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2009
2010         * chartab.c (put_char_id_table): Use `put_char_table'.
2011
2012 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2013
2014         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2015         (map_over_uint16_byte_table): Likewise.
2016         (map_over_byte_table): Likewise.
2017         (map_char_table): Modify for `map_over_uint8_byte_table',
2018         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2019         UTF-2000.
2020
2021 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2022
2023         * chartab.c (struct map_char_table_for_charset_arg): New
2024         structure.
2025         (map_char_table_for_charset_fun): New function.
2026         (map_char_table): Use `map_char_table' for encoding_table of
2027         `range->charset'.
2028
2029 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2030
2031         * chartab.c (map_char_table): Check a character is found in
2032         range->charset instead of non default value is defined in
2033         char-table when range is CHARTAB_RANGE_ROW.
2034
2035 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2036
2037         * chartab.c (map_char_id_table): Deleted.
2038         (Fmap_char_attribute): Use `map_char_table' instead of
2039         `map_char_id_table'.
2040
2041 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2042
2043         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2044         UTF-2000.
2045         (update_syntax_table): Deleted in XEmacs UTF-2000.
2046
2047         * syntax.c (find_defun_start): Use `syntax_table' instead of
2048         `mirror_syntax_table' in XEmacs UTF-2000.
2049         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2050         UTF-2000.
2051         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2052         XEmacs UTF-2000.
2053         (Fmatching_paren): Likewise.
2054         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2055         in XEmacs UTF-2000.
2056         (find_start_of_comment): Likewise.
2057         (find_end_of_comment): Likewise.
2058         (Fforward_comment): Likewise.
2059         (scan_lists): Likewise.
2060         (char_quoted): Likewise.
2061         (Fbackward_prefix_chars): Likewise.
2062         (scan_sexps_forward): Likewise.
2063         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2064         (update_syntax_table): Likewise.
2065
2066         * search.c (skip_chars): Use `syntax_table' instead of
2067         `mirror_syntax_table' in XEmacs UTF-2000.
2068         (wordify): Likewise.
2069         (Freplace_match): Likewise.
2070
2071         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2072         `mirror_syntax_table' in XEmacs UTF-2000.
2073         (WORDCHAR_P_UNSAFE): Likewise.
2074         (re_match_2_internal): Likewise.
2075
2076         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2077         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2078
2079         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2080         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2081
2082         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2083         XEmacs UTF-2000.
2084
2085         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2086         UTF-2000.
2087         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2088         (char_table_description): Delete `mirror_table' in XEmacs
2089         UTF-2000.
2090         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2091         UTF-2000.
2092         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2093         (Fcopy_char_table): Likewise.
2094         (put_char_table): Don't call `update_syntax_table' in XEmacs
2095         UTF-2000.
2096
2097         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2098         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2099         (casify_region_internal): Likewise.
2100
2101         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2102
2103         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2104         `mirror_syntax_table' in XEmacs UTF-2000.
2105
2106         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2107         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2108         (Fexpand_abbrev): Likewise.
2109
2110 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2111
2112         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2113
2114 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2115
2116         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2117         (map_over_uint16_byte_table): Likewise.
2118         (map_over_byte_table): Likewise.
2119         (get_char_id_table): Refer `cit->default_value'.
2120         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2121         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2122         of character-id ranges.
2123         (mark_char_table): Mark `ct->default_value'.
2124         (char_table_description): Add `default_value'.
2125         (fill_char_table): Use `default_value'.
2126         (decode_char_table_range): Decode `nil' as
2127         `CHARTAB_RANGE_DEFAULT'.
2128         (get_char_id_table): Refer `cit->default_value'.
2129         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2130         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2131         temporary hack; check value of char-table is bound or not.
2132         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2133
2134         * chartab.h (struct Lisp_Char_Table): Add new member
2135         `default_value' in XEmacs UTF-2000.
2136         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2137         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2138         UTF-2000.
2139
2140 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2141
2142         * chartab.h (Lisp_Char_ID_Table): Deleted.
2143
2144         * chartab.c (char_table_description): Fix typo.
2145         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2146         `Lisp_Char_ID_Table'.
2147
2148 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2149
2150         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2151         `CHAR_ID_TABLE_P'.
2152
2153         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2154         `CHAR_ID_TABLE_P'.
2155
2156         * chartab.h (XCHAR_ID_TABLE): Deleted.
2157         (XSETCHAR_ID_TABLE): Deleted.
2158         (CHAR_ID_TABLE_P): Deleted.
2159
2160         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2161         `CHAR_ID_TABLE_P'.
2162         (Fget_composite_char): Likewise.
2163         (put_char_table): Likewise.
2164         (add_char_attribute_alist_mapper): Fixed.
2165         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2166         `CHAR_ID_TABLE_P'.
2167         (Fget_char_attribute): Likewise.
2168         (Fget_char_attribute): Likewise.
2169         (Fmap_char_attribute): Likewise.
2170
2171         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2172         `CHAR_ID_TABLE_P'.
2173         (encode_char_1): Likewise.
2174
2175 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2176
2177         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2178         `XCHAR_ID_TABLE'.
2179
2180         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2181         instead of `XCHAR_ID_TABLE'.
2182         (remove_char_ccs): Likewise.
2183
2184         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2185         `XCHAR_ID_TABLE'.
2186         (Fget_composite_char): Likewise.
2187         (Fchar_variants): Likewise.
2188         (put_char_table): Likewise.
2189         (add_char_attribute_alist_mapper): Likewise.
2190         (Fchar_attribute_alist): Likewise.
2191         (Fget_char_attribute): Likewise.
2192         (Fput_char_attribute): Likewise.
2193         (Fmap_char_attribute): Likewise.
2194         (Fmap_char_attribute): Likewise.
2195
2196         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2197         `XCHAR_ID_TABLE'.
2198         (encode_char_1): Likewise.
2199
2200 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2201
2202         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2203         `Lisp_Char_ID_Table'.
2204         (mark_char_id_table): Deleted.
2205         (print_char_id_table): Likewise.
2206         (char_id_table_equal): Likewise.
2207         (char_id_table_hash): Likewise.
2208         (char_id_table_description): Likewise.
2209         (char_id_table): Likewise.
2210         (make_char_id_table): Use `Fmake_char_table' and
2211         `fill_char_table'.
2212         (get_char_id_table): Use `Lisp_Char_Table' instead of
2213         `Lisp_Char_ID_Table'.
2214         (put_char_id_table): Likewise.
2215         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2216         `XCHAR_ID_TABLE'.
2217         (Fremove_char_attribute): Likewise.
2218         (syms_of_chartab): Don't define type `char-id-table'.
2219
2220         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2221         (char_id_table): Likewise.
2222         (GC_CHAR_ID_TABLE_P): Likewise.
2223         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2224         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2225         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2226         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2227         (get_char_id_table): Use `Lisp_Char_Table' instead of
2228         `Lisp_Char_ID_Table'.
2229         (put_char_id_table_0): Likewise.
2230         (put_char_id_table): Likewise.
2231
2232 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2233
2234         * chartab.h: Lisp_Byte_Table related codes are moved from
2235         chartab.h.
2236
2237         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2238
2239 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2240
2241         * chartab.h: Don't include "chartab.h".
2242         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2243         (Lisp_Char_ID_Table): Likewise.
2244         (char_id_table): Likewise.
2245         (XCHAR_ID_TABLE): Likewise.
2246         (XSETCHAR_ID_TABLE): Likewise.
2247         (CHAR_ID_TABLE_P): Likewise.
2248         (GC_CHAR_ID_TABLE_P): Likewise.
2249         (get_char_id_table): Likewise.
2250
2251         * char-ucs.h: Include "chartab.h".
2252         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2253         (Lisp_Char_ID_Table): Likewise.
2254         (char_id_table): Likewise.
2255         (XCHAR_ID_TABLE): Likewise.
2256         (XSETCHAR_ID_TABLE): Likewise.
2257         (CHAR_ID_TABLE_P): Likewise.
2258         (GC_CHAR_ID_TABLE_P): Likewise.
2259         (get_char_id_table): Likewise.
2260
2261 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2262
2263         * chartab.c (copy_uint8_byte_table): New function.
2264         (copy_uint16_byte_table): New function.
2265         (copy_byte_table): New function.
2266         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2267         characters to call.
2268         (map_over_uint16_byte_table): Likewise.
2269         (map_over_byte_table): Likewise.
2270         (get_byte_table): Move prototype to chartab.h.
2271         (put_byte_table): Likewise.
2272         (put_char_id_table_0): Moved to chartab.h.
2273         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2274         (char_table_entry_equal): Likewise.
2275         (char_table_entry_hash): Likewise.
2276         (char_table_entry_description): Likewise.
2277         (char_table_entry): Likewise.
2278         (make_char_table_entry): Likewise.
2279         (copy_char_table_entry): Likewise.
2280         (get_non_ascii_char_table_value): Likewise.
2281         (map_over_charset_ascii): Likewise.
2282         (map_over_charset_control_1): Likewise.
2283         (map_over_charset_row): Likewise.
2284         (map_over_other_charset): Likewise.
2285         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2286         (print_char_table): Likewise.
2287         (char_table_equal): Likewise.
2288         (char_table_hash): Likewise.
2289         (char_table_description): Likewise.
2290         (fill_char_table): Likewise.
2291         (Fcopy_char_table): Likewise.
2292         (get_char_table): Likewise.
2293         (Fget_range_char_table): Likewise.
2294         (put_char_table): Likewise.
2295         (map_char_table): Likewise.
2296         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2297         UTF-2000.
2298
2299 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2300
2301         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2302         `Vauto_fill_chars' in XEmacs UTF-2000.
2303
2304         * chartab.h (get_byte_table): New prototype [moved from
2305         chartab.c].
2306         (put_byte_table): Likewise [moved from chartab.c].
2307         (put_char_id_table_0): New inline function [moved from chartab.c].
2308         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2309         (Lisp_Char_Table_Entry): Likewise.
2310         (char_table_entry): Likewise.
2311         (XCHAR_TABLE_ENTRY): Likewise.
2312         (XSETCHAR_TABLE_ENTRY): Likewise.
2313         (CHAR_TABLE_ENTRYP): Likewise.
2314         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2315         (NUM_ASCII_CHARS): Likewise.
2316         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2317         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2318
2319 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2320
2321         * chartab.c (get_char_id_table): Change interface.
2322         (put_char_id_table_0): New function.
2323         (put_char_id_table): Change interface; new implementation.
2324         (Fget_composite_char): Modify for interface change of
2325         `get_char_id_table'.
2326         (Fchar_variants): Likewise.
2327         (add_char_attribute_alist_mapper): Likewise.
2328         (Fchar_attribute_alist): Likewise.
2329         (Fget_char_attribute): Likewise.
2330         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2331         as same as character as the first argument like `put-char-table';
2332         modify for interface change of `put_char_id_table'.
2333         (Fremove_char_attribute): Modify for interface change of
2334         `put_char_id_table'.
2335
2336 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2337
2338         * text-coding.c: Sync up with XEmacs 21.2.41.
2339         (COMPOSE_ADD_CHAR): Modify for interface change of
2340         `get_char_id_table'.
2341
2342         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2343         change of `put_char_id_table'.
2344         (remove_char_ccs): Likewise.
2345
2346         * chartab.h (put_char_id_table): Change interface.
2347
2348         * char-ucs.h (get_char_id_table): Change interface.
2349         (charset_code_point): Modify for interface change of
2350         `get_char_id_table'.
2351         (encode_char_1): Likewise.
2352
2353 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2354
2355         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2356         argument `ccs'.
2357         (map_over_uint16_byte_table): Likewise.
2358         (map_over_byte_table): Likewise.
2359         (map_char_id_table): Add new argument `range' like
2360         `map_char_table'.
2361         (Fmap_char_attribute): Add new argument `range' like
2362         `Fmap_char_table'.
2363
2364 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2365
2366         * chartab.c (map_over_uint8_byte_table): Change interface of
2367         mapping function to use struct chartab_range instead of Emchar.
2368         (map_over_uint16_byte_table): Likewise.
2369         (map_over_byte_table): Likewise.
2370         (map_char_id_table): Likewise.
2371         (struct slow_map_char_id_table_arg): Deleted.
2372         (slow_map_char_id_table_fun): Deleted.
2373         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2374         function `slow_map_char_table_fun' instead of struct
2375         `slow_map_char_id_table_arg' and function
2376         `slow_map_char_id_table_fun'.
2377
2378 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2379
2380         * mule-charset.c: Move char-it-table related codes to chartab.c.
2381         (Vutf_2000_version): Moved to chartab.c.
2382         (Fdefine_char): Likewise.
2383         (Ffind_char): Likewise.
2384         (syms_of_mule_charset): Move types `uint8-byte-table',
2385         `uint16-byte-table', `byte-table' and `char-id-table' to
2386         chartab.c; move functions `char_attribute_list,
2387         `find_char_attribute_table, `char_attribute_alist,
2388         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2389         `map_char_attribute, `define_char, `find_char, `char_variants and
2390         `get_composite_char to chartab.c; move symbols `=>ucs',
2391         `->decomposition', `compat', `isolated', `initial', `medial',
2392         `final', `vertical', `noBreak', `fraction', `super', `sub',
2393         `circle', `square', `wide', `narrow', `small' and `font' to
2394         chartab.c.
2395         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2396         setting codes for `Vcharacter_composition_table' and
2397         `Vcharacter_variant_table' to chartab.c.
2398         (complex_vars_of_mule_charset): Move setting code for
2399         `Vchar_attribute_hash_table' to chartab.c.
2400
2401         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2402         (make_char_id_table): New prototype.
2403         (put_char_id_table): Likewise.
2404         (Fget_char_attribute): Likewise.
2405
2406         * chartab.c: Move char-id-table related code from mule-charset.c.
2407         (Vutf_2000_version): Moved from mule-charset.c.
2408
2409         * char-ucs.h (Qucs): New external variable.
2410         (put_char_ccs_code_point): New prototype.
2411         (remove_char_ccs): Likewise.
2412
2413 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2414
2415         * mule-charset.c (Vcharset_ucs_jis): New variable.
2416         (Qucs_jis): Likewise.
2417         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2418         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2419
2420         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2421
2422 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2423
2424         * mule-charset.c (map_over_uint8_byte_table): New function.
2425         (map_over_uint16_byte_table): Likewise.
2426         (map_over_byte_table): Likewise.
2427         (map_char_id_table): Likewise.
2428         (slow_map_char_id_table_fun): Likewise.
2429         (Fmap_char_attribute): Likewise.
2430         (syms_of_mule_charset): Add new function `map-char-attribute'.
2431
2432 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2433
2434         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2435         (syms_of_mule_charset): Add new function `find-char'.
2436
2437 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2438
2439         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2440         XEmacs UTF-2000.
2441         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2442         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2443         XEmacs UTF-2000.
2444         (complex_vars_of_mule_charset): Add new coded-charset
2445         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2446         `ideograph-gt-pj-*'.
2447
2448         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2449
2450 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2451
2452         * mule-charset.c (encode_builtin_char_1): Purge codes about
2453         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2454         {MIN|MAX}_CHAR_HEBREW.
2455         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2456         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2457
2458         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2459         (MAX_CHAR_GREEK): Purged.
2460         (MIN_CHAR_CYRILLIC): Purged.
2461         (MAX_CHAR_CYRILLIC): Purged.
2462         (MIN_CHAR_HEBREW): Commented out.
2463         (MAX_CHAR_HEBREW): Likewise.
2464
2465 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2466
2467         * mule-charset.c (Qto_ucs): New variable.
2468         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2469         (Fdefine_char): Likewise.
2470         (syms_of_mule_charset): Add new symbol `=>ucs'.
2471
2472 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2473
2474         * mule-charset.c (Fdecode_char): Fixed.
2475
2476 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2477
2478         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2479         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2480         "tcvn5712-1".
2481
2482 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2483
2484         * mule-charset.c (Vcharset_ucs_big5): New variable.
2485         (Qucs_big5): Likewise.
2486         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2487         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2488
2489         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2490
2491 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2492
2493         * mule-charset.c (decode_builtin_char): Check Big5 code range
2494         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2495
2496 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2497
2498         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2499         (Qchinese_gb12345): Likewise.
2500         (Fdecode_builtin_char): Fixed.
2501         (syms_of_mule_charset): Add `chinese-gb12345'.
2502         (complex_vars_of_mule_charset): Add coded-charset
2503         `chinese-gb12345'.
2504
2505         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2506         (LEADING_BYTE_CHINESE_GB12345): New macro.
2507
2508 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2509
2510         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2511         and `latin-viscii-upper' for `latin-viscii'.
2512
2513 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2514
2515         * mule-charset.c (Fdecode_builtin_char): Comment out
2516         regularization code for ISO-IR GR representation.
2517
2518 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2519
2520         * mule-charset.c (decode_builtin_char): New function; renamed from
2521         `make_builtin_char'; return -1 instead of signal.
2522         (Fdecode_builtin_char): Use `decode_builtin_char'.
2523
2524         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2525         `make_builtin_char'.
2526         (DECODE_CHAR): Use `decode_builtin_char' instead of
2527         `make_builtin_char'; use mapping table of `chinese-big5' for
2528         `chinese-big5-{1,2}'.
2529
2530 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2531
2532         * text-coding.c (char_encode_big5): New function.
2533         (char_finish_big5): Likewise.
2534         (reset_encoding_stream): Use `char_encode_big5' and
2535         `char_finish_big5' for CODESYS_BIG5.
2536         (mule_encode): Don't use `encode_coding_big5'.
2537         (encode_coding_big5): Deleted.
2538
2539 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2540
2541         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2542         0x81- in XEmacs UTF-2000.
2543         (detect_coding_big5): Likewise.
2544
2545 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2546
2547         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2548         generate character-id if the CCS property does not have
2549         corresponding predefined character.
2550         (make_builtin_char): Return -1 if corresponding predefined
2551         character is not found.
2552         (Fdecode_char): Return nil if corresponding character is not
2553         found.
2554         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2555         don't map to builtin ucs space.
2556
2557 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2558
2559         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2560         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2561
2562 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2563
2564         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2565         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2566         (Qideograph_gt): Likewise.
2567         (Qideograph_gt_pj_{1..11}): Likewise.
2568         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2569         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2570         `ideograph-gt-pj-11'.
2571         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2572         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2573         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2574
2575         * char-ucs.h (LEADING_BYTE_GT): New macro.
2576         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2577         (MIN_CHAR_GT): Likewise.
2578         (MAX_CHAR_GT): Likewise.
2579
2580 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2581
2582         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2583         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2584
2585         * doprnt.c (unsigned_int_converters): Add `c'.
2586         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2587
2588         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2589         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2590         `MIN_CHAR_MOJIKYO'.
2591         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2592         (MAX_CHAR_MOJIKYO_0): New macro.
2593         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2594
2595 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2596
2597         * mule-charset.c (Fdefine_char): Delete cemented out code.
2598         (encode_builtin_char_1): Modify for new allocation of builtin
2599         Mojikyo characters.
2600
2601         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2602
2603 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2604
2605         * mule-charset.c (Vcharset_ucs_cns): New variable.
2606         (Qucs_cns): New variable.
2607         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2608         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2609
2610 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2611
2612         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2613
2614 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2615
2616         * search.c (search_buffer): Make `charset_base_code' as
2617         character-id >> 6 to eliminate the corresponding last byte in
2618         UTF-8 representation [I'm not sure it is right thing].
2619         (boyer_moore): Likewise.
2620
2621 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2622
2623         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2624         representation in MULE.
2625
2626 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2627
2628         * text-coding.c (Fmake_coding_system): Use
2629         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2630         `EXTERNAL_PROPERTY_LIST_LOOP'.
2631
2632 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2633
2634         * text-coding.c (decode_output_utf8_partial_char): New function.
2635         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2636
2637 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2638
2639         * text-coding.c (decode_coding_utf8): Output original byte
2640         sequence if it is broken; change order of conditions.
2641
2642         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2643         of conditions.
2644
2645         * mb-multibyte.h (BYTE_ASCII_P):
2646         Use bit ops for char-signedness safety.
2647         (BYTE_C0_P): Use bit ops for char-signedness safety.
2648         (BYTE_C1_P): Use bit ops for char-signedness safety.
2649
2650         * character.h: (XCHAR_OR_CHAR_INT):
2651         Always use inline function.
2652         Remove redundant type checking assert() - XINT will abort quite
2653         nicely.
2654
2655 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2656
2657         * text-coding.c: (Fencode_shift_jis_char):
2658         (Fencode_big5_char):
2659         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2660         Replace 0 with '\0' when working with bytes.
2661         Replace initial "(" with "\(" in docstrings.
2662
2663         (Fmake_coding_system):
2664         When type is ccl and value is vector, register it with a proper
2665         symbol.  And checks whether the given ccl program is valid.
2666         (mule_decode): When calling ccl_driver, if src indicates
2667         NULL pointer, set an empty string instead.
2668         (mule_encode): Likewise.
2669
2670         (detect_eol_type):
2671         (detect_coding_sjis):
2672         (decode_coding_sjis):
2673         (detect_coding_big5):
2674         (decode_coding_big5):
2675         (detect_coding_ucs4):
2676         (decode_coding_ucs4):
2677         (detect_coding_utf8):
2678         (decode_coding_utf8):
2679         (detect_coding_iso2022):
2680         (decode_coding_iso2022):
2681         (decode_coding_no_conversion):
2682         (mule_decode):
2683         Make all detecting and decoding functions take an Extbyte * arg.
2684         (text_encode_generic):
2685         (encode_coding_big5):
2686         (encode_coding_no_conversion):
2687         (mule_encode):
2688         Make all encoding functions take a Bufbyte * arg.
2689         Use size_t instead of unsigned int for memory sizes.
2690         Only cast to unsigned char whenever dereferencing Extbyte *.
2691
2692         (struct lrecord_description fcd_description_1): Use countof.
2693         (complex_vars_of_file_coding):
2694         Use countof instead of sizeof.
2695         Use CHECK_NATNUM instead of CHECK_INT.
2696
2697 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2698
2699         * mule-charset.c (Fget_char_attribute): Add new optional argument
2700         `default-value'.
2701         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2702         (remove_char_ccs): Likewise.
2703
2704 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2705
2706         * text-coding.c (char_encode_shift_jis): New implementation in
2707         UTF-2000.
2708         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2709         ...)'.
2710
2711         * mule-charset.c (Vcharset_chinese_big5): New variable in
2712         UTF-2000.
2713         (Qchinese_big5): New variable in UTF-2000.
2714         (BIG5_SAME_ROW): New macro in UTF-2000.
2715         (make_builtin_char): Use builtin characters of
2716         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2717         characters of `Vcharset_chinese_big5'.
2718         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2719         (complex_vars_of_mule_charset): Add new coded-charset
2720         `chinese-big5' in UTF-2000.
2721
2722         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2723         (Vcharset_chinese_big5): New external variable declaration.
2724         (Vcharset_japanese_jisx0208_1990): Likewise.
2725
2726 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2727
2728         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2729         function.
2730         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2731
2732 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2733
2734         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2735         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2736         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2737         `mojikyo-pj-*'.
2738
2739 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2740
2741         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2742
2743 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2744
2745         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2746         to 0.17.
2747
2748 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2749
2750         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2751         for `CHARSET_BY_ATTRIBUTES'.
2752         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2753         `CHARSET_BY_ATTRIBUTES'.
2754
2755         * text-coding.c (struct decoding_stream): Rename member `CH' to
2756         `CPOS'.
2757         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2758         (decode_coding_sjis): Likewise.
2759         (decode_coding_big5): Likewise.
2760         (decode_coding_ucs4): Likewise.
2761         (decode_coding_utf8): Likewise.
2762         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2763         `CHARSET_BY_ATTRIBUTES'.
2764         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2765         `str->counter'; decode 3, 4 bytes sets.
2766         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2767         sets.
2768         (decode_coding_no_conversion): Use `str->cpos' instead of
2769         `str->ch'.
2770
2771         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2772         (Qmojikyo_2022_1): New variable.
2773         (make_charset): Don't use `CHARSET_TYPE_*'.
2774         (range_charset_code_point): Support coded-charset
2775         `mojikyo-2022-1'.
2776         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2777         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2778         `CHARSET_BY_ATTRIBUTES'.
2779         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2780         `CHARSET_BY_ATTRIBUTES'.
2781         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2782         (complex_vars_of_mule_charset): Add new coded-charset
2783         `mojikyo-2022-1'.
2784
2785         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2786         interface; changed to inline function.
2787
2788         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2789         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2790         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2791         (CHARSET_TYPE_94): Deleted.
2792         (CHARSET_TYPE_94X94): Deleted.
2793         (CHARSET_TYPE_96): Deleted.
2794         (CHARSET_TYPE_96X96): Deleted.
2795         (CHARSET_TYPE_128): Deleted.
2796         (CHARSET_TYPE_128X128): Deleted.
2797         (CHARSET_TYPE_256): Deleted.
2798         (CHARSET_TYPE_256X256): Deleted.
2799         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2800         to inline function.
2801         (DECODE_MOJIKYO_2022): New inline function.
2802         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2803         `Vcharset_mojikyo_2022_1'.
2804
2805 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2806
2807         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2808         instead of `EQ'.
2809         (put_byte_table): Likewise.
2810         (char_id_table_equal): Use `get_byte_table' [new implementation].
2811
2812 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2813
2814         * mule-charset.c: Include <limits.h> in UTF-2000.
2815         (BT_UINT8_MIN): New macro in UTF-2000.
2816         (BT_UINT8_MAX): New macro in UTF-2000.
2817         (BT_UINT8_t): New macro in UTF-2000.
2818         (BT_UINT8_nil): New macro in UTF-2000.
2819         (BT_UINT8_unbound): New macro in UTF-2000.
2820         (INT_UINT8_P): New inline function in UTF-2000.
2821         (UINT8_VALUE_P): New inline function in UTF-2000.
2822         (UINT8_ENCODE): New inline function in UTF-2000.
2823         (UINT8_DECODE): New inline function in UTF-2000.
2824         (mark_uint8_byte_table): New function in UTF-2000.
2825         (print_uint8_byte_table): New function in UTF-2000.
2826         (uint8_byte_table_equal): New function in UTF-2000.
2827         (uint8_byte_table_hash): New function in UTF-2000.
2828         (make_uint8_byte_table): New function in UTF-2000.
2829         (uint8_byte_table_same_value_p): New function in UTF-2000.
2830         (BT_UINT16_MIN): New macro in UTF-2000.
2831         (BT_UINT16_MAX): New macro in UTF-2000.
2832         (BT_UINT16_t): New macro in UTF-2000.
2833         (BT_UINT16_nil): New macro in UTF-2000.
2834         (BT_UINT16_unbound): New macro in UTF-2000.
2835         (INT_UINT16_P): New inline function in UTF-2000.
2836         (UINT16_VALUE_P): New inline function in UTF-2000.
2837         (UINT16_ENCODE): New inline function in UTF-2000.
2838         (UINT16_DECODE): New inline function in UTF-2000.
2839         (UINT8_TO_UINT16): New inline function in UTF-2000.
2840         (mark_uint16_byte_table): New function in UTF-2000.
2841         (print_uint16_byte_table): New function in UTF-2000.
2842         (uint16_byte_table_equal): New function in UTF-2000.
2843         (uint16_byte_table_hash): New function in UTF-2000.
2844         (make_uint16_byte_table): New function in UTF-2000.
2845         (uint16_byte_table_same_value_p): New function in UTF-2000.
2846         (print_byte_table): New function in UTF-2000.
2847         (byte-table): Use `print_byte_table' as printer.
2848         (make_byte_table): Delete second argument `older'.
2849         (byte_table_same_value_p): New function in UTF-2000.
2850         (copy_byte_table): Deleted.
2851         (get_byte_table): New function in UTF-2000.
2852         (put_byte_table): New function in UTF-2000.
2853         (print_char_id_table): New function in UTF-2000.
2854         (char-id-table): Use `print_char_id_table' as printer.
2855         (make_char_id_table): Delete second argument `older'.
2856         (get_char_id_table): Use `get_byte_table [new implementation].
2857         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2858         implementation].
2859         (Ffind_char_attribute_table): New function in UTF-2000.
2860         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2861         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2862         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2863         (syms_of_mule_charset): Add new function
2864         `find-char-attribute-table' in UTF-2000.
2865
2866         * lrecord.h (enum lrecord_type): Add
2867         `lrecord_type_uint16_byte_table' and
2868         `lrecord_type_uint8_byte_table'.
2869
2870         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2871         (Lisp_Uint8_Byte_Table): New type.
2872         (XUINT8_BYTE_TABLE): New macro.
2873         (XSETUINT8_BYTE_TABLE): New macro.
2874         (UINT8_BYTE_TABLE_P): New macro.
2875         (GC_UINT8_BYTE_TABLE_P): New macro.
2876         (struct Lisp_Uint16_Byte_Table): New structure.
2877         (Lisp_Uint16_Byte_Table): New type.
2878         (XUINT16_BYTE_TABLE): New macro.
2879         (XSETUINT16_BYTE_TABLE): New macro.
2880         (UINT16_BYTE_TABLE_P): New macro.
2881         (GC_UINT16_BYTE_TABLE_P): New macro.
2882
2883 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2884
2885         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2886         (Vcharacter_ideographic_strokes_table): Deleted.
2887         (Vcharacter_total_strokes_table): Deleted.
2888         (Vcharacter_morohashi_daikanwa_table): Deleted.
2889         (Vcharacter_decomposition_table): Deleted.
2890         (Qname): Deleted because it is duplicated.
2891         (Qideographic_radical): Deleted.
2892         (Qideographic_strokes): Deleted.
2893         (Qtotal_strokes): Deleted.
2894         (Qmorohashi_daikanwa): Deleted.
2895         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2896         `ideographic-radical', `ideographic-strokes', `total-strokes',
2897         `morohashi-daikanwa' and `->decomposition'.
2898         (Fget_char_attribute): Likewise.
2899         (Fput_char_attribute): Likewise; use `make-vector' instead of
2900         `make_older_vector' for `->decomposition' value.
2901         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2902         `ideograph-daikanwa'.
2903         (syms_of_mule_charset): Delete builtin symbols `name',
2904         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2905         `morohashi-daikanwa'.
2906         (vars_of_mule_charset): Don't setup
2907         `Vcharacter_ideographic_radical_table',
2908         `Vcharacter_ideographic_strokes_table',
2909         `Vcharacter_total_strokes_table',
2910         `Vcharacter_morohashi_daikanwa_table' and
2911         `Vcharacter_decomposition_table'.
2912
2913 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2914
2915         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2916         `make_older_vector', `make_vector_newer_1' and
2917         `make_vector_newer'.
2918
2919         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2920         `make_older_vector' and `make_vector_newer'.
2921
2922         * config.h.in (HAVE_GGC): New macro.
2923
2924 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2925
2926         * mule-charset.c (struct char_attribute_list_closure): New
2927         structure in UTF-2000.
2928         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2929         (Fchar_attribute_list): Likewise.
2930         (Fset_charset_mapping_table): Use `make_vector_newer'.
2931         (Fdecode_builtin_char): New function in UTF-2000.
2932         (syms_of_mule_charset): Add new function `char-attribute-list' and
2933         `decode-builtin-char' in UTF-2000.
2934
2935         * lisp.h (make_vector_newer): New prototype.
2936
2937         * alloc.c (make_vector_newer_1): New function.
2938         (make_vector_newer): New function.
2939
2940 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2941
2942         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2943         50100)'.
2944
2945 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2946
2947         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2948         (Vcharacter_attribute_table): Deleted.
2949         (Vcharacter_name_table): Deleted.
2950         (put_char_attribute): Deleted.
2951         (remove_char_attribute): Deleted.
2952         (struct char_attribute_alist_closure): New structure.
2953         (add_char_attribute_alist_mapper): New function.
2954         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2955         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2956         (Fget_char_attribute): Likewise.
2957         (Fput_char_attribute): Likewise.
2958         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2959         of `remove_char_attribute'.
2960         (Fdefine_char): Return character.
2961         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2962         and `Vcharacter_name_table'.
2963         (complex_vars_of_mule_charset): Likewise
2964         `Vchar_attribute_hash_table'.
2965
2966 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2967
2968         * character.h (CHARC_CHARSET): New macro.
2969         (CHARC_CHARSET_ID): New macro.
2970         (CHARC_CODE_POINT): New macro.
2971         (CHARC_COLUMNS): New macro.
2972         (CHARC_TO_CHAR): New inline function.
2973         (CHARC_EQ): New inline function.
2974         (CHARC_ASCII_EQ): New inline function.
2975         (CHARC_IS_SPACE): New inline function.
2976         (ASCII_TO_CHARC): New inline function.
2977
2978         * char-ucs.h (encode_char_2): Deleted.
2979         (ENCODE_CHAR): Use `encode_char_1' again.
2980         (breakup_char_1): Likewise.
2981         (CHAR_TO_CHARC): New inline function.
2982
2983         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2984
2985 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2986
2987         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2988         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2989         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2990         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2991         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2992         `CHARC_IS_SPACE'.
2993         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2994
2995         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2996         `CHARC_CODE_POINT'.
2997         (x_output_display_block): Use `CHARC_CHARSET' and
2998         `CHARC_ASCII_EQ'.
2999
3000         * redisplay-tty.c (tty_output_display_block): Use
3001         `CHARC_ASCII_EQ'.
3002         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3003
3004         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3005
3006         * insdel.c (find_charsets_in_charc_string): Use
3007         `CHARC_CHARSET_ID'.
3008         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3009         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3010         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3011         (convert_charc_string_into_malloced_string): Likewise.
3012
3013 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3014
3015         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3016         instead of <Emchar_dynarr *> for buf; use
3017         `convert_bufbyte_string_into_charc_dynarr' instead of
3018         `convert_bufbyte_string_into_emchar_dynarr'; use
3019         `find_charsets_in_charc_string' instead of
3020         `find_charsets_in_emchar_string'.
3021
3022         * redisplay.h:
3023         - Include "character.h".
3024         (struct rune): New member `cglyph'; delete member `chr'.
3025
3026         * redisplay.c (redisplay_text_width_charc_string): New function;
3027         delete `redisplay_text_width_emchar_string'.
3028         (rtw_charc_dynarr): New variable; renamed from
3029         `rtw_emchar_dynarr'.
3030         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3031         `rtw_emchar_dynarr'; use
3032         `convert_bufbyte_string_into_charc_dynarr' instead of
3033         `convert_bufbyte_string_into_emchar_dynarr'; use
3034         `redisplay_text_width_charc_string' instead of
3035         `redisplay_text_width_emchar_string'.
3036         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3037         instead of `rtw_emchar_dynarr'; use
3038         `convert_bufbyte_string_into_charc_dynarr' instead of
3039         `convert_bufbyte_string_into_emchar_dynarr'.
3040         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3041         `redisplay_text_width_charc_string' instead of
3042         `redisplay_text_width_emchar_string'.
3043         (create_text_block): Modify for <struct rune> change.
3044         (generate_formatted_string_db): Likewise.
3045         (create_string_text_block): Likewise.
3046         (pixel_to_glyph_translation): Likewise.
3047
3048         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3049         instead of <const Emchar *>.
3050         (x_text_width): Likewise.
3051         (x_output_display_block): Use <Charc_dynarr *> instead
3052         <Emchar_dynarr *>; modify for <structure rune> change.
3053         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3054         *>.
3055
3056         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3057         <const Emchar *>; use `charc_string_displayed_columns' instead of
3058         `emchar_string_displayed_columns'.
3059         (tty_output_display_block): Use <Charc_dynarr *> instead of
3060         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3061         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3062         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3063         `tty_output_emchar_dynarr_dynarr'.
3064         (tty_output_charc_dynarr): New function; delete
3065         `tty_output_charc_dynarr'.
3066
3067         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3068         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3069         <Emchar_dynarr *> for buf; use
3070         `convert_bufbyte_string_into_charc_dynarr' instead of
3071         `convert_bufbyte_string_into_emchar_dynarr'.
3072
3073         * frame.c (title_string_charc_dynarr): New variable; renamed from
3074         `title_string_emchar_dynarr'.
3075         (generate_title_string): Use `title_string_charc_dynarr' instead
3076         of `title_string_emchar_dynarr'; use
3077         `convert_charc_string_into_malloced_string' instead of
3078         `convert_emchar_string_into_malloced_string'.
3079         (init_frame): Use `title_string_charc_dynarr' instead of
3080         `title_string_emchar_dynarr'.
3081
3082         * console.h:
3083         - Include "character.h".
3084         (struct console_methods): Use <const Charc *> instead of <const
3085         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3086         <Emchar_dynarr *> in output_string_method.
3087
3088         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3089         <Emchar_dynarr *>.
3090
3091         * console-stream.c (stream_text_width): Use <const Charc *>
3092         instead of <const Emchar *>.
3093
3094         * character.h (Charc_dynarr): New type.
3095
3096         * char-ucs.h (structure Charc): New structure; define new type
3097         `Charc'.
3098
3099         * char-lb.h (DECODE_CHAR): New inline function.
3100         (encode_char_1): New inline function.
3101         (ENCODE_CHAR): New macro.
3102         (structure Charc): New structure; define new type `Charc'.
3103
3104         * char-1byte.h (Vcharset_control_1): New macro.
3105         (Vcharset_latin_iso8859_1): New macro.
3106         (DECODE_CHAR): New inline function.
3107         (encode_char_1): New inline function.
3108         (ENCODE_CHAR): New macro.
3109         (structure Charc): New structure; define new type `Charc'.
3110
3111         * insdel.c (find_charsets_in_charc_string): New function; delete
3112         `find_charsets_in_emchar_string'.
3113         (charc_string_displayed_columns): New function; delete
3114         `emchar_string_displayed_columns'.
3115         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3116         `convert_bufbyte_string_into_emchar_dynarr'.
3117         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3118         `convert_charc_string_into_bufbyte_dynarr'.
3119         (convert_charc_string_into_malloced_string): New function; delete
3120         `convert_charc_string_into_malloced_string'.
3121
3122         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3123         `find_charsets_in_emchar_string'.
3124         (charc_string_displayed_columns): New prototype; delete
3125         `emchar_string_displayed_columns'.
3126         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3127         `convert_charc_string_into_bufbyte_dynarr'.
3128         (convert_charc_string_into_malloced_string): New prototype; delete
3129         `convert_charc_string_into_malloced_string'.
3130
3131 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3132
3133         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3134
3135 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3136
3137         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3138
3139         * char-ucs.h: Use <short> for <Charset_ID>.
3140
3141         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3142         <Charset_ID>.
3143
3144 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3145
3146         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3147         to 0.16.
3148
3149 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3150
3151         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3152         variable.
3153         (Qmorohashi_daikanwa): New variable.
3154         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3155         for `morohashi-daikanwa' attribute.
3156         (Fget_char_attribute): Likewise.
3157         (Fput_char_attribute): Likewise.
3158         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3159         has the same value of `ideograph-daikanwa'.
3160         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3161         (vars_of_mule_charset): Setup
3162         `Vcharacter_morohashi_daikanwa_table'.
3163
3164 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3165
3166         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3167         attributes.
3168         (add_charset_to_list_mapper): Add `key' instead of
3169         `XCHARSET_NAME (value)' to return aliases.
3170
3171 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3172
3173         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3174         variable.
3175         (Vcharacter_ideographic_strokes_table): New variable.
3176         (Qideographic_radical): New variable.
3177         (Qideographic_strokes): New variable.
3178         (Fchar_attribute_alist): Use
3179         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3180         attribute; use `Vcharacter_ideographic_strokes_table' for
3181         `ideographic-strokes' attribute.
3182         (Fget_char_attribute): Likewise.
3183         (Fput_char_attribute): Likewise.
3184         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3185         `ideographic-strokes'.
3186         (vars_of_mule_charset): Setup
3187         `Vcharacter_ideographic_radical_table' and
3188         `Vcharacter_ideographic_strokes_table'.
3189
3190 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3191
3192         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3193         (Qtotal_strokes): New variable.
3194         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3195         `total-strokes' attribute.
3196         (Fget_char_attribute): Likewise.
3197         (Fput_char_attribute): Likewise.
3198         (syms_of_mule_charset): Add new symbol `total-strokes'.
3199         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3200
3201 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3202
3203         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3204         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3205         are found.
3206         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3207         `->decomposition' attribute.
3208         (Fput_char_attribute): Likewise.
3209         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3210
3211 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3212
3213         * mule-charset.c (decoding_table_check_elements): New function.
3214         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3215
3216 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3217
3218         * mule-charset.c (Fset_charset_mapping_table): Use
3219         `put_char_ccs_code_point'.
3220
3221 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3222
3223         * mule-charset.c (decoding_table_put_char): New inline function.
3224         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3225
3226 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3227
3228         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3229         (XCHARSET_BYTE_SIZE): New macro.
3230         (decoding_table_remove_char): New inline function.
3231         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3232         `decoding_table_remove_char'.
3233         (remove_char_ccs): Use `decoding_table_remove_char'.
3234         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3235
3236 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3237
3238         * mule-charset.c (Vcharacter_name_table): New variable.
3239         (Qname): New variable.
3240         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3241         attribute.
3242         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3243         `Vcharacter_name_table' for `name' attribute.
3244         (Fremove_char_attribute): Use function `remove_char_ccs'.
3245         (put_char_ccs_code_point): New function.
3246         (remove_char_ccs): New function.
3247         (syms_of_mule_charset): Add new symbol `name'.
3248         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3249
3250 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3251
3252         * mule-charset.c (make_byte_table): Add new argument `older'.
3253         (make_char_id_table): Likewise.
3254         (copy_char_id_table): Comment out because it is not used.
3255         (put_char_id_table): Modify for `make_byte_table'.
3256         (Fput_char_attribute): Make encoding_table as older object;
3257         inherit older bit of `Vcharacter_composition_table'.
3258         (mark_charset): Don't mark `cs->encoding_table'.
3259         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3260         normal object; make `Vcharacter_composition_table' as an older
3261         object; delete staticpro for `Vcharacter_composition_table'; make
3262         `Vcharacter_variant_table' as a normal object.
3263
3264         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3265         (mark_object): Don't check older object in UTF-2000.
3266
3267         * lrecord.h (struct lrecord_header): Add new member `older' in
3268         UTF-2000.
3269         (set_lheader_implementation): Setup `SLI_header->older' in
3270         UTF-2000.
3271         (set_lheader_older_implementation): New macro in UTF-2000.
3272         (OLDER_RECORD_P): New macro in UTF-2000.
3273         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3274         (alloc_older_lcrecord): New prototype in UTF-2000.
3275         (alloc_older_lcrecord_type): New macro in UTF-2000.
3276
3277 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3278
3279         * mule-charset.c (byte_table_description): Use
3280         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3281         (char_id_table_description): Delete bogus `, 1'.
3282         (Fget_char_attribute): Refer encoding_table of each coded-charset
3283         to get value of coded-charset attribute of a character.
3284         (Fput_char_attribute): Use `make_older_vector' instead of
3285         `make_vector'; use encoding_table of each coded-charset to store
3286         value of coded-charset attribute of a character.
3287         (Fremove_char_attribute): Use encoding_table of each coded-charset
3288         to store value of coded-charset attribute of a character.
3289         (mark_charset): Mark `cs->encoding_table'; don't mark
3290         `cs->decoding_table'.
3291         (charset_description): Add description of new member
3292         `encoding_table'.
3293         (make_charset): Initialize `encoding_table'.
3294
3295         * char-ucs.h (struct Lisp_Charset): Add new member
3296         `encoding_table'.
3297         (CHARSET_ENCODING_TABLE): New macro.
3298         (XCHARSET_ENCODING_TABLE): New macro.
3299         (charset_code_point): New implementation.
3300         (encode_char_1): Likewise.
3301
3302         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3303         (disksave_object_finalization_1): Call finalizers of
3304         `all_older_lcrecords' in UTF-2000.
3305         (make_older_vector): New function in UTF-2000.
3306         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3307         UTF-2000.
3308
3309         * lisp.h (make_older_vector): New prototype in UTF-2000.
3310
3311 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3312
3313         * lrecord.h (enum lrecord_type): Rename
3314         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3315
3316         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3317         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3318         `get_char_code_table'.
3319
3320         * mule-charset.c (mark_char_id_table): Renamed from
3321         `mark_char_code_table'.
3322         (char_id_table_equal): Renamed from `char_code_table_equal'.
3323         (char_id_table_hash): Renamed from `char_code_table_hash'.
3324         (make_char_id_table): Renamed from `make_char_code_table'.
3325         (copy_char_id_table): Renamed from `copy_char_code_table'.
3326         (get_char_id_table): Renamed from `get_char_code_table'.
3327         (put_char_id_table): Renamed from `put_char_code_table'.
3328         (to_char_id): Renamed from `to_char_code'.
3329
3330         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3331         `Lisp_Char_Code_Table'.
3332         (char_id_table): Renamed from `char_code_table'.
3333         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3334         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3335         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3336         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3337         (get_char_id_table): Renamed from `get_char_code_table'.
3338
3339 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3340
3341         * lrecord.h (enum lrecord_type): Rename
3342         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3343
3344         * mule-charset.c (mark_byte_table): Renamed from
3345         `mark_char_byte_table'.
3346         (byte_table_equal): Renamed from `char_byte_table_equal'.
3347         (byte_table_hash): Renamed from `byte_table_hash'.
3348         (make_byte_table): Renamed from `make_byte_table'.
3349         (copy_byte_table): Renamed from `copy_char_byte_table'.
3350
3351         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3352         `Lisp_Char_Byte_Table'.
3353         (byte_table): Renamed from `char_byte_table'.
3354         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3355         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3356         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3357         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3358
3359 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3360
3361         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3362         (dfc_convert_to_internal_format): Likewise.
3363         
3364         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3365         * text-coding.c (Fcoding_system_alias_p): New function.
3366         * text-coding.c (Fcoding_system_aliasee): New function.
3367         * text-coding.c (append_suffix_to_symbol): New function.
3368         * text-coding.c (dangling_coding_system_alias_p): New function.
3369         * text-coding.c (Ffind_coding_system):
3370         * text-coding.c (Fcopy_coding_system):
3371         * text-coding.c (encode_coding_no_conversion):
3372         * text-coding.c (syms_of_file_coding):
3373         * text-coding.c (vars_of_file_coding):
3374         Rewrite coding system alias code.
3375         Allow nested aliases, like symbolic links.
3376         Allow redefinition of coding system aliases.
3377         Prevent existence of dangling coding system aliases.
3378         Eliminate convert_to_external_format.
3379         Eliminate convert_to_internal_format.
3380         
3381         * text-coding.c: Change enum eol_type to eol_type_t.
3382
3383 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3384
3385         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3386         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3387
3388         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3389         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3390
3391 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3392
3393         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3394         `ideograph-daikanwa'.
3395
3396         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3397         (Vcharset_ucs_bmp): Likewise.
3398         (Vcharset_mojikyo): Add new extern variable definition.
3399         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3400         (Vcharset_latin_iso8859_3): Likewise.
3401         (Vcharset_latin_iso8859_4): Likewise.
3402         (Vcharset_latin_iso8859_9): Likewise.
3403         (Vcharset_latin_viscii_lower): Likewise.
3404         (Vcharset_latin_viscii_upper): Likewise.
3405         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3406         `mojikyo' code-point is used to decode.
3407         (encode_char_2): New function [to convert `mojikyo' code-point to
3408         Mojikyo font encoding].
3409         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3410         (breakup_char_1): Likewise.
3411         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3412
3413 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3414
3415         * text-coding.c (Fmake_coding_system): Add document about
3416         `disable-composition' property.
3417
3418 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3419
3420         * text-coding.c (Qdisable_composition): New variable; delete
3421         `Qcomposite'.
3422         (Fmake_coding_system): Add new property `disable-composite';
3423         delete property `composite'.
3424         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3425         instead of `!CODING_SYSTEM_COMPOSITE'.
3426         (syms_of_file_coding): Add new symbol `disable-composition';
3427         delete symbol `composite'.
3428
3429         * file-coding.h (struct Lisp_Coding_System): Add
3430         `disable_composition'; delete `enable_composition'.
3431         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3432         `CODING_SYSTEM_COMPOSITE'.
3433         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3434         `XCODING_SYSTEM_COMPOSITE'.
3435
3436 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3437
3438         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3439         to 0.15.
3440
3441 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3442
3443         * text-coding.c (Qcomposite): New variable.
3444         (Fmake_coding_system): Add new property `composite'.
3445         (struct decoding_stream): Add `combined_char_count',
3446         `combined_chars' and `combining_table' in UTF-2000.
3447         (COMPOSE_FLUSH_CHARS): New macro.
3448         (COMPOSE_ADD_CHAR): New macro.
3449         (reset_decoding_stream): Reset `str->combined_char_count' and
3450         `str->combining_table' in UTF-2000.
3451         (decode_coding_iso2022): Modify for character-decomposition.
3452         (syms_of_file_coding): Add new symbol `composite'.
3453
3454 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3455
3456         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3457         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3458         of `Vcharacter_composition_table' if `->decomposition' property
3459         has only 1 element.
3460         (Qlatin_tcvn5712): New variable.
3461         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3462         (complex_vars_of_mule_charset): Add new coded-charset
3463         `latin-tcvn5712'.
3464
3465         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3466
3467 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3468
3469         * file-coding.h (struct Lisp_Coding_System): Add
3470         `enable_composition'.
3471         (CODING_SYSTEM_COMPOSITE): New macro.
3472         (XCODING_SYSTEM_COMPOSITE): New macro.
3473
3474 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3475
3476         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3477
3478 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3479
3480         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3481         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3482
3483 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3484
3485         * mule-charset.c (Vcharset_mojikyo): New variable.
3486         (Fdefine_char): Don't use coded-charset which does not have
3487         non-builtin character range to allocate character-id.
3488         (Qmojikyo): New variable.
3489         (syms_of_mule_charset): Add new symbol `mojikyo'.
3490         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3491
3492         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3493         (LEADING_BYTE_MOJIKYO): New macro.
3494         (MIN_CHAR_MOJIKYO): New macro.
3495         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3496         (MAX_CHAR_MOJIKYO): New macro.
3497
3498 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3499
3500         * mule-charset.c (remove_char_attribute): Fixed.
3501
3502 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3503
3504         * mule-charset.c (remove_char_attribute): New function.
3505         (Fremove_char_attribute): New function.
3506         (encode_builtin_char_1): Comment out builtin-support for
3507         greek-iso8859-7 and cyrillic-iso8859-5.
3508         (Fdecode_char): Check `code' is an integer.
3509         (syms_of_mule_charset): Add `remove-char-attribute'.
3510         (MIN_CHAR_GREEK): Deleted.
3511         (MAX_CHAR_GREEK): Likewise.
3512         (MIN_CHAR_CYRILLIC): Likewise.
3513         (MAX_CHAR_CYRILLIC): Likewise.
3514         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3515         MAX_CHAR_GREEK for `greek-iso8859-7'.
3516
3517         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3518         (MAX_CHAR_GREEK): Likewise.
3519         (MIN_CHAR_CYRILLIC): Likewise.
3520         (MAX_CHAR_CYRILLIC): Likewise.
3521
3522 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3523
3524         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3525         format is used without `ucs' property.
3526         (Fdecode_char): Fix problem with GR representation.
3527         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3528         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3529
3530 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3531
3532         * mule-charset.c (make_builtin_char): New function.
3533         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3534         (Fset_charset_mapping_table): Modify for new representation of
3535         code-point.
3536         (Fdecode_char): New function.
3537         (syms_of_mule_charset): Add new builtin function `decode-char' in
3538         UTF-2000.
3539
3540         * char-ucs.h (make_builtin_char): New prototype.
3541         (DECODE_CHAR): New inline function.
3542         (MAKE_CHAR): Use `DECODE_CHAR'.
3543
3544 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3545
3546         * text-coding.c (parse_charset_conversion_specs): Use
3547         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3548         `XCHARSET_TYPE'.
3549         (iso2022_designate): Likewise.
3550
3551         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3552         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3553
3554         * mule-charset.c (Vcharset_ucs): New variable.
3555         (print_charset): Change design; use `CHARSET_CHARS' and
3556         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3557         (make_charset): Change signature to specify `chars' and
3558         `dimension' instead of `type'.
3559         (range_charset_code_point): Modify for 256^n-set.
3560         (encode_builtin_char_1): Encode as `ucs' in default.
3561         (Fmake_charset): Modify for `make_charset'.
3562         (Fmake_reverse_direction_charset): Likewise.
3563         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3564         UTF-2000.
3565         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3566         for `make_charset'.
3567
3568         * char-ucs.h (Vcharset_ucs): New variable.
3569         (LEADING_BYTE_UCS): New macro.
3570         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3571         and `chars' to `unsigned short' from `unsigned int'.
3572         (CHARSET_TYPE): Deleted.
3573         (XCHARSET_TYPE): Deleted.
3574
3575 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3576
3577         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3578
3579         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3580         (ENCODE_CHAR): New macro.
3581
3582 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3583
3584         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3585         to 0.14 (Kawachi-Katakami).
3586
3587 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3588
3589         * text-coding.c (char_encode_shift_jis): Modify for
3590         `charset_code_point'.
3591         (char_encode_iso2022): Likewise.
3592
3593         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3594         (integer) instead of list of <Lisp_Object>s (integers) as the
3595         format of code-point of a coded-charset.
3596         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3597         (encode_builtin_char_1): New function; delete
3598         `split_builtin_char'.
3599         (charset_code_point): Return <int> instead of <Lisp_Object>.
3600         (Fsplit_char): Don't use `SPLIT_CHAR'.
3601
3602         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3603         prototype for `split_builtin_char'.
3604         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3605         (charset_code_point): Likewise.
3606         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3607         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3608
3609 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3610
3611         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3612         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3613
3614 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3615
3616         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3617
3618         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3619         (MAX_CHAR_OBS_94x94): Deleted.
3620
3621 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3622
3623         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3624
3625         * char-ucs.h (MAX_CHAR_BMP): New macro.
3626
3627 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3628
3629         * text-coding.c: Sync with r21-2-24.
3630
3631 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3632
3633         * file-coding.c: Modify for UTF-2000.
3634
3635 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3636
3637         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3638         to 0.13 (Takaida).
3639
3640 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3641
3642         * mule-charset.c (split_builtin_char): Delete builtin support for
3643         `katakana-jisx0201'.
3644         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3645         BMP area in builtin representation.
3646
3647         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3648         `Vcharset_katakana_jisx0201'.
3649
3650 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3651
3652         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3653         (Qisolated): New variable.
3654         (Qinitial): New variable.
3655         (Qmedial): New variable.
3656         (Qfinal): New variable.
3657         (Qvertical): New variable.
3658         (Qsmall): New variable.
3659         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3660         `Qvertical' and `Qsmall'.
3661         (Qmojikyo_pj_[1 .. 21]): New variable.
3662         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3663         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3664         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3665         .. 21]'.
3666
3667 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3668
3669         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3670         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3671         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3672
3673 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3674
3675         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3676         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3677         BMP.
3678         (Qjapanese_jisx0208_1990): New variable.
3679         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3680         (complex_vars_of_mule_charset): Add new coded-charset
3681         `japanese-jisx0208-1990'.
3682
3683         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3684         (MIN_CHAR_JIS_X0208_1990): New macro.
3685         (MAX_CHAR_JIS_X0208_1990): New macro.
3686
3687 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3688
3689         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3690         coded-charset is not found.
3691
3692 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3693
3694         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3695         (Fdefine_char): Use `Fmake_char'.
3696
3697 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3698
3699         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3700         (Vcharset_hiragana_jisx0208): Deleted.
3701         (Vcharset_katakana_jisx0208): Deleted.
3702         (Qideograph_daikanwa): New variable.
3703         (Qhiragana_jisx0208): Deleted.
3704         (Qkatakana_jisx0208): Deleted.
3705         (split_builtin_char): Split `ideograph-daikanwa'.
3706         (Fsplit_char): New implementation for UTF-2000.
3707         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3708         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3709         (complex_vars_of_mule_charset): Add new coded-charset
3710         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3711         `katakana-jisx0208'.
3712
3713         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3714         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3715         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3716         (MIN_CHAR_DAIKANWA): New macro.
3717         (MAX_CHAR_DAIKANWA): New macro.
3718
3719 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3720
3721         * data.c (Fstring_to_number): Don't recognize floating point if
3722         base is not 10.
3723
3724 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3725
3726         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3727
3728 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3729
3730         * mule-charset.c (Qsquare): New variable.
3731         (to_char_code): Add `Qsquare'.
3732         (syms_of_mule_charset): Add new symbol `square'.
3733
3734 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3735
3736         * mule-charset.c (Qcircle): New variable.
3737         (to_char_code): Add `Qcircle'.
3738         (syms_of_mule_charset): Add new symbol `circle'.
3739
3740 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3741
3742         * mule-charset.c (Qfont): New variable.
3743         (to_char_code): Add `Qfont'.
3744         (syms_of_mule_charset): Add new symbol `font'.
3745
3746 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3747
3748         * mule-charset.c (Qsub): New variable.
3749         (to_char_code): Add `Qsub'.
3750         (syms_of_mule_charset): Add new symbol `sub'.
3751
3752 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3753
3754         * mule-charset.c (Fput_char_attribute): Convert each element of
3755         VALUE to GL position if ATTRIBUTE is a GR-set,
3756
3757 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3758
3759         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3760         coded-charset is a GR-set.
3761
3762 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3763
3764         * mule-charset.c (Fput_char_attribute): Check each element of
3765         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3766
3767 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3768
3769         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3770         UTF-2000.
3771         (Qethiopic_ucs): New variable in UTF-2000.
3772         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3773         (complex_vars_of_mule_charset): Add new coded-charset
3774         `ethiopic-ucs' in UTF-2000.
3775
3776         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3777         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3778         9)'.
3779         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3780         10)'.
3781         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3782
3783 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3784
3785         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3786         `ascii'.
3787
3788 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3789
3790         * mule-charset.c (Vcharacter_variant_table): New variable.
3791         (Q_ucs): New variable.
3792         (Fchar_variants): New function.
3793         (Fput_char_attribute): Register `->ucs' value to
3794         `Vcharacter_variant_table'.
3795         (syms_of_mule_charset): Add new function `char-variants' and new
3796         symbol `->ucs'.
3797         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3798
3799 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3800
3801         * mule-charset.c (get_char_code_table): Allow negative character
3802         code.
3803         (put_char_code_table): Likewise.
3804         (Vcharacter_composition_table): New variable.
3805         (Q_decomposition): New variable.
3806         (Qwide): New variable.
3807         (Qnarrow): New variable.
3808         (Qcompat): New variable.
3809         (QnoBreak): New variable.
3810         (Qsuper): New variable.
3811         (Qfraction): New variable.
3812         (to_char_code): New function.
3813         (Fget_composite_char): New function.
3814         (Fput_char_attribute): Register `->decomposition' value to
3815         `Vcharacter_composition_table'.
3816         (syms_of_mule_charset): Add new function `get-composite-char', new
3817         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3818         `super' and `fraction'.
3819         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3820
3821 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3822
3823         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3824         character; copy the return value.
3825
3826 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3827
3828         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3829
3830         * mule-charset.c (range_charset_code_point): Must use make_int.
3831         (split_builtin_char): New function.
3832
3833 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3834
3835         * mule-charset.c (char_byte_table): Change name from
3836         "char-code-table" to "char-byte-table".
3837         (mark_char_code_table): New function.
3838         (char_code_table_equal): New function.
3839         (char_code_table_hash): New function.
3840         (char_code_table_description): New constant.
3841         (char_code_table): New type.
3842         (make_char_code_table): New function.
3843         (copy_char_code_table): New function.
3844         (get_char_code_table): Modify for `char_code_table' type.
3845         (put_char_code_table): Likewise.
3846         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3847         (Kashiwara).
3848
3849         * char-ucs.h (char_code_table): New type.
3850         (XCHAR_CODE_TABLE): New macro.
3851         (XSETCHAR_CODE_TABLE): New macro.
3852         (CHAR_CODE_TABLE_P): New macro.
3853         (GC_CHAR_CODE_TABLE_P): New macro.
3854         (struct Lisp_Char_Code_Table): New structure.
3855
3856 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3857
3858         * mule-charset.c (Fmake_charset): Setup byte_offset for
3859         {94|96}^n-set.
3860
3861 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3862
3863         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3864         character.
3865
3866 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3867
3868         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3869         is found.
3870
3871 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3872
3873         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3874         charset, it is regarded as a charset.
3875         (put_char_attribute): New function in UTF-2000.
3876         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3877         charset, mapping-table of the charset is modified.
3878         (Fdefine_char): New function in UTF-2000.
3879         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3880         `Fput_char_attribute'.
3881         (syms_of_mule_charset): Add new function `define-char' and new
3882         symbol `ucs' in UTF-2000.
3883         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3884
3885 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3886
3887         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3888         non-UTF-2000 configuration.
3889
3890 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3891
3892         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3893         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3894
3895         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3896         deleted.
3897         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3898         (Fset_charset_mapping_table): Likewise.
3899
3900         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3901         (CHARSET_ENCODING_TABLE): Delete.
3902         (XCHARSET_ENCODING_TABLE): Delete.
3903         (charset_code_point): New interface.
3904
3905 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3906
3907         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3908         instead of `charset_get_byte1' and `charset_get_byte2'.
3909
3910         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3911         (charset_get_byte2): Deleted.
3912
3913 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3914
3915         * char-ucs.h (SPLIT_CHAR): New inline function.
3916         (breakup_char_1): Use `SPLIT_CHAR'.
3917
3918         * mule-charset.c (range_charset_code_point): New function.
3919         (charset_code_point): New function.
3920
3921         * char-ucs.h (range_charset_code_point): New interface.
3922         (breakup_char_1): Use `range_charset_code_point'.
3923
3924 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3925
3926         * mule-charset.c (Fmake_charset): Delete unused local variable
3927         `code_offset'.
3928
3929         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3930         (breakup_char_1): Find a charset and code-point in
3931         `Vcharacter_attribute_table'.
3932
3933 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3934
3935         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3936         to 0.10 (Yao).
3937
3938 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3939
3940         * mule-charset.c (Vcharacter_attribute_table): New variable.
3941         (Fchar_attribute_alist): New function.
3942         (Fget_char_attribute): New function.
3943         (Fput_char_attribute): New function.
3944         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3945         too.
3946         (syms_of_mule_charset): Add new function `char-attribute-alist',
3947         `get-char-attribute' and `put-char-attribute'.
3948         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3949
3950 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3951
3952         * mule-charset.c (Fmake_charset): Just use
3953         `get_unallocated_leading_byte'.
3954
3955         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3956         sets; don't use final-byte based number for private sets.
3957
3958 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3959
3960         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3961         integer.
3962
3963 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3964
3965         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3966         to 0.9.
3967
3968 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3969
3970         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3971         of `CHAR_LEADING_BYTE' in UTF-2000.
3972
3973         * insdel.c (find_charsets_in_bufbyte_string): Use
3974         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3975         (find_charsets_in_emchar_string): Likewise.
3976
3977         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3978         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3979
3980         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3981         (CHAR_CHARSET_ID): New macro.
3982
3983 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3984
3985         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3986         charset-id - MIN_LEADING_BYTE.
3987         (put_char_table): Likewise.
3988
3989 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3990
3991         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3992         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3993         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3994         (CHARSET_ID_OFFSET): New macro.
3995         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3996         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3997         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3998         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3999         4).
4000         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4001         5).
4002         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4003         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4004         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4005         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4006         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4007
4008 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4009
4010         * mule-charset.c (next_allocated_leading_byte): New variable in
4011         UTF-2000.
4012         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4013         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4014         (get_unallocated_leading_byte): Simply use
4015         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4016         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4017         UTF-2000.
4018
4019         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4020         (MAX_LEADING_BYTE_PRIVATE): New macro.
4021         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4022         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4023
4024 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4025
4026         * mule-charset.c (Fmake_charset): Allocate final-byte based
4027         charset-id for 94-set, 96-set and 94x94-set.
4028
4029 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4030
4031         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4032         ambiguous `else'.
4033         (Fmake_charset): Likewise.
4034         (complex_vars_of_mule_charset): Modify the font registry of
4035         `ucs-bmp' not to match `Ethiopic-Unicode'.
4036
4037 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4038
4039         * mule-charset.c (complex_vars_of_mule_charset): Add font
4040         registory of `ucs-bmp'.
4041
4042 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4043
4044         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4045         coded-charsets in `default-coded-charset-priority-list' when
4046         breaking up a character.
4047
4048         * mule-charset.c (Vcharset_latin_viscii): New variable.
4049         (Qlatin_viscii): New variable.
4050         (make_charset): Don't use `decoding_table'.
4051         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4052         byte_offset.
4053         (Fset_charset_mapping_table): New implementation.
4054         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4055         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4056         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4057         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4058         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4059         charset `latin_viscii'.
4060
4061         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4062         (CHARSET_TYPE_94X94): Change to 1 from 2.
4063         (CHARSET_TYPE_96): Change to 2 from 1.
4064         (CHARSET_TYPE_128): New macro.
4065         (CHARSET_TYPE_128X128): Change to 5 from 4.
4066         (CHARSET_TYPE_256): New macro.
4067         (CHARSET_TYPE_256X256): Change to 7 from 5.
4068         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4069
4070 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4071
4072         * text-coding.c (char_encode_shift_jis): Refer
4073         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4074         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4075
4076         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4077         (char_byte_table_equal): New function in UTF-2000.
4078         (char_byte_table_hash): New function in UTF-2000.
4079         (char_byte_table_description): New constant in UTF-2000.
4080         (char_byte_table): New type in UTF-2000.
4081         (make_char_byte_table): New function in UTF-2000.
4082         (copy_char_byte_table): New function in UTF-2000.
4083         (make_char_code_table): New macro in UTF-2000.
4084         (get_char_code_table): New function in UTF-2000.
4085         (put_char_code_table): New function in UTF-2000.
4086         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4087         (charset_description): Add setting in UTF-2000.
4088         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4089         `CHARSET_TO_BYTE1_TABLE(cs)'.
4090         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4091         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4092         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4093         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4094         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4095         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4096         `CHARSET_TO_BYTE2_TABLE(cs)'.
4097
4098         * char-ucs.h (char_byte_table): New type.
4099         (XCHAR_BYTE_TABLE): New macro.
4100         (XSETCHAR_BYTE_TABLE): New macro.
4101         (CHAR_BYTE_TABLE_P): New macro.
4102         (GC_CHAR_BYTE_TABLE_P): New macro.
4103         (struct Lisp_Char_Byte_Table): New structure.
4104         (get_char_code_table): New interface.
4105         (Emchar_to_byte_table): Deleted.
4106         (get_byte_from_character_table): Deleted.
4107         (struct Lisp_Charset): Add `encoding_table'; delete
4108         `to_byte1_table' and `to_byte2_table'.
4109         (CHARSET_ENCODING_TABLE): New macro.
4110         (CHARSET_TO_BYTE1_TABLE): Deleted.
4111         (CHARSET_TO_BYTE2_TABLE): Deleted.
4112         (XCHARSET_ENCODING_TABLE): New macro.
4113         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4114         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4115
4116 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4117
4118         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4119         `vietnamese-viscii-*'.
4120
4121 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4122
4123         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4124         (Qvietnamese_viscii_upper): New variable.
4125         (Fdefine_charset_alias): New function.
4126         (syms_of_mule_charset): Add new function `define-charset-alias'.
4127         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4128         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4129         `latin-viscii-*'.
4130
4131 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4132
4133         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4134         (MAX_CHAR_OBS_94x94): New macro.
4135         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4136         for 94x94 sets.
4137
4138         * mule-charset.c (put_byte_from_character_table): Change unit size
4139         from 128 to 256.
4140         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4141         not defined.
4142         (Fmake_reverse_direction_charset): Modify dummy argument of
4143         `make_charset' for non-UTF-2000 environment.
4144
4145 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4146
4147         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4148
4149         * mule-charset.c (destroy_byte_from_character_table): New macro.
4150         (latin_jisx0201_to_ucs): Deleted.
4151         (latin_iso8859_2_to_ucs): Deleted.
4152         (latin_iso8859_3_to_ucs): Deleted.
4153         (latin_iso8859_4_to_ucs): Deleted.
4154         (latin_iso8859_9_to_ucs): Deleted.
4155         (latin_viscii_lower_to_ucs): Deleted.
4156         (latin_viscii_upper_to_ucs): Deleted.
4157         (mark_charset): Mark `cs->decoding_table'.
4158         (Fcharset_mapping_table): Fix DOC-string.
4159         (Fset_charset_mapping_table): New function.
4160         (syms_of_mule_charset): Add nwe function
4161         `set-charset-mapping-table'.
4162         (complex_vars_of_mule_charset): Don't setup and use
4163         `latin_*_to_ucs'.
4164
4165 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4166
4167         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4168         charset.
4169
4170 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4171
4172         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4173         (Vcharset_katakana_jisx0208): New variable.
4174         (Qhiragana_jisx0208): New variable.
4175         (Qkatakana_jisx0208): New variable.
4176         (make_charset): Add new argument `byte_offset'.
4177         (charset_get_byte1): Modify for new coded-charset definition; use
4178         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4179         `XCHARSET_BYTE_OFFSET'.
4180         (Fmake_charset): Modify for `make_charset'.
4181         (Fmake_reverse_direction_charset): Likewise.
4182         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4183         `katakana-jisx0208'.
4184         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4185         `.'  in font registry of charset `katakana-jisx0201',
4186         `latin-jisx0201', `vietnamese-viscii-lower' and
4187         `vietnamese-viscii-upper'; modify DOC-string of charset
4188         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4189         registry of charset `japanese-jisx0208' not to use font for JIS
4190         X0208:1990; add new charset `hiragana-jisx0208' and
4191         `katakana-jisx0208'.
4192
4193         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4194         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4195         (struct Lisp_Charset): Add `byte_offset'.
4196         (CHARSET_BYTE_OFFSET): New macro.
4197         (XCHARSET_UCS_MIN): New macro.
4198         (XCHARSET_UCS_MAX): New macro.
4199         (XCHARSET_CODE_OFFSET): New macro.
4200         (XCHARSET_BYTE_OFFSET): New macro.
4201         (MIN_CHAR_HIRAGANA): New macro.
4202         (MAX_CHAR_HIRAGANA): New macro.
4203         (MIN_CHAR_KATAKANA): New macro.
4204         (MAX_CHAR_KATAKANA): New macro.
4205         (MAKE_CHAR): Modify for new coded-charset definition; use
4206         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4207         `XCHARSET_BYTE_OFFSET'.
4208
4209 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4210
4211         * mule-charset.c (CHAR96): Deleted.
4212         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4213         <Lisp_Object>.
4214         (latin_iso8859_2_to_ucs): Likewise.
4215         (latin_iso8859_3_to_ucs): Likewise.
4216         (latin_iso8859_4_to_ucs): Likewise.
4217         (latin_iso8859_9_to_ucs): Likewise.
4218         (latin_viscii_lower_to_ucs): Likewise.
4219         (latin_viscii_upper_to_ucs): Likewise.
4220         (latin_tcvn5712_to_ucs): Commented out.
4221         (make_charset): Change type of argument `decoding_table' from
4222         <Emchar*> to <Lisp_Object> [vector of characters].
4223         (Fmake_charset): Modify for `make_charset'.
4224         (Fmake_reverse_direction_charset): Likewise.
4225         (Fcharset_mapping_table): New function in UTF-2000.
4226         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4227         UTF-2000.
4228         (complex_vars_of_mule_charset): Modify for type change of
4229         `*_to_ucs'; modify for `make_charset'.
4230
4231         * char-ucs.h (struct Lisp_Charset): Change type of
4232         `decoding_table' from <Emchar*> to <Lisp_Object>.
4233         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4234
4235 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4236
4237         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4238         error with non-UTF-2000-Mule.
4239
4240 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4241
4242         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4243         in lisp again].
4244         (Vcharset_chinese_cns11643_4): Likewise.
4245         (Vcharset_chinese_cns11643_5): Likewise.
4246         (Vcharset_chinese_cns11643_6): Likewise.
4247         (Vcharset_chinese_cns11643_7): Likewise.
4248         (Qchinese_cns11643_3): Likewise.
4249         (Qchinese_cns11643_4): Likewise.
4250         (Qchinese_cns11643_5): Likewise.
4251         (Qchinese_cns11643_6): Likewise.
4252         (Qchinese_cns11643_7): Likewise.
4253         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4254         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4255         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4256         (complex_vars_of_mule_charset): Likewise.
4257
4258 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4259
4260         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4261         96-set.
4262         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4263         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4264
4265 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4266
4267         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4268         0xFF60.
4269         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4270         (breakup_char_1): Likewise.
4271
4272         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4273         one of them includes the specified character.
4274
4275 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4276
4277         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4278
4279 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4280
4281         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4282
4283 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4284
4285         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4286         definition for non-UTF-2000 Mule.
4287         (latin_iso8859_3_to_ucs): Likewise.
4288         (latin_iso8859_4_to_ucs): Likewise.
4289         (latin_iso8859_9_to_ucs): Likewise.
4290         (latin_jisx0201_to_ucs): Likewise.
4291         (MIN_CHAR_THAI): Likewise.
4292         (MAX_CHAR_THAI): Likewise.
4293         (MIN_CHAR_GREEK): Likewise.
4294         (MAX_CHAR_GREEK): Likewise.
4295         (MIN_CHAR_HEBREW): Likewise.
4296         (MAX_CHAR_HEBREW): Likewise.
4297         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4298         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4299         (MIN_CHAR_CYRILLIC): Likewise.
4300         (MAX_CHAR_CYRILLIC): Likewise.
4301
4302 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4303
4304         * char-ucs.h (breakup_char_1): Use
4305         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4306         thai-tis620 and katakana-jisx0201 area.
4307
4308 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4309
4310         * char-ucs.h (breakup_char_1): Use
4311         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4312         area.
4313
4314         * text-coding.c (reset_encoding_stream): Fixed.
4315         (char_encode_ucs4): Delete `& 255'.
4316
4317         * char-ucs.h (breakup_char_1): Use
4318         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4319
4320 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4321
4322         * file-coding.c (Fmake_coding_system): Don't set up
4323         `codesys->fixed.size'.
4324         (encode_coding_no_conversion): Don't refer
4325         `str->codesys->fixed.size'.
4326
4327 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4328
4329         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4330         (latin_a_char_to_byte1): Deleted.
4331         (latin_a_char_to_byte2): Deleted.
4332
4333 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4334
4335         * mule-charset.c (make_charset): Add new argument `ucs_min',
4336         `ucs_max' and `code_offset'.
4337         (charset_get_byte1): New implementation [delete specific charset
4338         depended implementations].
4339         (Fmake_charset): Modify for `make_charset'.
4340         (Fmake_reverse_direction_charset): Likewise.
4341         (complex_vars_of_mule_charset): Likewise.
4342
4343         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4344         `code_offset'.
4345         (CHARSET_UCS_MIN): New macro.
4346         (CHARSET_UCS_MAX): New macro.
4347         (CHARSET_CODE_OFFSET): New macro.
4348         (MAKE_CHAR): Delete charset depended definitions [except
4349         katakana-jisx0201].
4350
4351 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4352
4353         * char-ucs.h (breakup_char_1): Use
4354         `Vdefault_coded_charset_priority_list' for C0-Controls,
4355         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4356
4357 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4358
4359         * char-ucs.h (charset_get_byte1): New function.
4360         (XCHARSET_GET_BYTE1): Deleted.
4361         (charset_get_byte2): New function.
4362         (XCHARSET_GET_BYTE2): Deleted.
4363         (Vdefault_coded_charset_priority_list): New external variable.
4364         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4365         `Vdefault_preferred_coded_charset_list'.
4366
4367         * mule-charset.c (charset_get_byte1): New function.
4368         (charset_get_byte2): New function.
4369         (Vdefault_coded_charset_priority_list): New variable.
4370         (vars_of_mule_charset): Add new variable
4371         `default-coded-charset-priority-list'.
4372
4373 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4374
4375         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4376         (XCHARSET_GET_BYTE2): New inline function.
4377         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4378         `XCHARSET_GET_BYTE2'.
4379
4380 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4381
4382         * mule-charset.c (make_charset): Initialize
4383         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4384         NULL if table is not defined.
4385
4386 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4387
4388         * text-coding.c (char_encode_shift_jis): Use
4389         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4390         `ucs_to_latin_jisx0201'.
4391
4392         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4393         (ucs_to_latin_iso8859_2): Deleted.
4394         (ucs_to_latin_iso8859_3): Deleted.
4395         (ucs_to_latin_iso8859_4): Deleted.
4396         (ucs_to_latin_iso8859_9): Deleted.
4397         (ucs_to_latin_viscii_lower): Deleted.
4398         (ucs_to_latin_viscii_upper): Deleted.
4399         (ucs_to_latin_tcvn5712): Deleted.
4400         (make_charset): Add new argument `decoding_table'; set up
4401         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4402         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4403         `decoding_table' is defined in UTF-2000.
4404         (Fmake_charset): Modify for `make_charset'.
4405         (Fmake_reverse_direction_charset): Likewise.
4406         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4407         and `GENERATE_96_SET'.
4408
4409         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4410         (ucs_to_latin_jisx0201): Deleted.
4411         (latin_iso8859_2_to_ucs): Deleted.
4412         (ucs_to_latin_iso8859_2): Deleted.
4413         (latin_iso8859_3_to_ucs): Deleted.
4414         (ucs_to_latin_iso8859_3): Deleted.
4415         (latin_iso8859_4_to_ucs): Deleted.
4416         (ucs_to_latin_iso8859_4): Deleted.
4417         (latin_iso8859_9_to_ucs): Deleted.
4418         (ucs_to_latin_iso8859_9): Deleted.
4419         (latin_viscii_lower_to_ucs): Deleted.
4420         (ucs_to_latin_viscii_lower): Deleted.
4421         (latin_viscii_upper_to_ucs): Deleted.
4422         (ucs_to_latin_viscii_upper): Deleted.
4423         (struct Lisp_Charset): Renamed `encoding_table' to
4424         `to_byte1_table'; add `to_byte2_table'.
4425         (CHARSET_DECODING_TABLE): New macro.
4426         (CHARSET_TO_BYTE1_TABLE): New macro.
4427         (CHARSET_TO_BYTE2_TABLE): New macro.
4428         (XCHARSET_DECODING_TABLE): New macro.
4429         (XCHARSET_TO_BYTE1_TABLE): New macro.
4430         (XCHARSET_TO_BYTE2_TABLE): New macro.
4431         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4432         tables.
4433         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4434         don't use `ucs_to_*' tables.
4435
4436 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4437
4438         * text-coding.c (Fmake_coding_system): Don't set up
4439         `codesys->fixed.size'.
4440         (encode_coding_no_conversion): Use `if' instead of `switch'.
4441
4442         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4443
4444 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4445
4446         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4447         (Fmake_charset): Modify for `make_charset'.
4448         (Fmake_reverse_direction_charset): Likewise.
4449         (complex_vars_of_mule_charset): Likewise.
4450
4451 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4452
4453         * text-coding.c (char_encode_shift_jis): Use table
4454         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4455
4456 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4457
4458         * text-coding.c (text_encode_generic): Use `if' instead of
4459         `switch'.
4460         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4461         decode JIS-Latin.
4462
4463 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4464
4465         * text-coding.c (encode_coding_sjis): Deleted.
4466         (char_encode_shift_jis): New function.
4467         (char_finish_shift_jis): New function.
4468         (reset_encoding_stream): Set up `encode_char' and `finish' for
4469         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4470         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4471         (char_encode_utf8): Treat `eol_type'.
4472
4473 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4474
4475         * file-coding.c (decode_coding_iso2022): Use
4476         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4477
4478 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4479
4480         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4481         to 0.7 (Hirano).
4482
4483 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4484
4485         * char-lb.h (CHAR_COLUMNS): New macro.
4486
4487 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4488
4489         * text-coding.c (char_encode_ucs4): New function.
4490         (char_finish_ucs4): New function.
4491         (encode_coding_ucs4): Deleted.
4492         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4493         (text_encode_generic): Delete local variable `charset' and `half'.
4494         (ucs_to_mule_table): Deleted.
4495         (mule_to_ucs_table): Deleted.
4496         (Fset_ucs_char): Deleted.
4497         (ucs_to_char): Deleted.
4498         (Fucs_char): Deleted.
4499         (Fset_char_ucs): Deleted.
4500         (Fchar_ucs): Deleted.
4501         (decode_ucs4): Deleted.
4502         (mule_char_to_ucs4): Deleted.
4503         (encode_ucs4): Deleted.
4504         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4505         (decode_coding_utf8): Likewise.
4506         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4507         (char_encode_iso2022): Fixed.
4508         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4509         `Fset_char_ucs' and `Fchar_ucs'.
4510         (complex_vars_of_file_coding): Don't initialize
4511         `ucs_to_mule_table'.
4512
4513         * objects-tty.c (tty_initialize_font_instance): Don't use
4514         `XCHARSET_COLUMNS'.
4515
4516         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4517         UTF-2000.
4518
4519         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4520         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4521
4522         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4523         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4524         (emchar_string_displayed_columns): Likewise.
4525
4526         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4527         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4528         (string_column_at_point): Likewise.
4529         (Fmove_to_column): Likewise.
4530
4531         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4532         `encoding_table' and `decoding_table'.
4533         (CHARSET_REP_BYTES): Deleted.
4534         (XCHARSET_REP_BYTES): Deleted.
4535         (XCHARSET_COLUMNS): Deleted.
4536         (CHAR_COLUMNS): New macro.
4537         (lookup_composite_char): Deleted unconditionally.
4538         (composite_char_string): Likewise.
4539
4540 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4541
4542         * char-ucs.h (Emchar_to_byte_table): New type.
4543         (get_byte_from_character_table): New function interface.
4544         (Vcharset_latin_jisx0201): New variable.
4545         (latin_jisx0201_to_ucs): New variable.
4546         (ucs_to_latin_jisx0201): New variable.
4547         (Vcharset_latin_iso8859_2): New variable.
4548         (latin_iso8859_2_to_ucs): New variable.
4549         (ucs_to_latin_iso8859_2): New variable.
4550         (Vcharset_latin_iso8859_3): New variable.
4551         (latin_iso8859_3_to_ucs): New variable.
4552         (ucs_to_latin_iso8859_3): New variable.
4553         (Vcharset_latin_iso8859_4): New variable.
4554         (latin_iso8859_4_to_ucs): New variable.
4555         (ucs_to_latin_iso8859_4): New variable.
4556         (Vcharset_latin_iso8859_9): New variable.
4557         (latin_iso8859_9_to_ucs): New variable.
4558         (ucs_to_latin_iso8859_9): New variable.
4559         (Vcharset_latin_viscii_lower): New variable.
4560         (latin_viscii_lower_to_ucs): New variable.
4561         (ucs_to_latin_viscii_lower): New variable.
4562         (Vcharset_latin_viscii_upper): New variable.
4563         (latin_viscii_upper_to_ucs): New variable.
4564         (ucs_to_latin_viscii_upper): New variable.
4565         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4566         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4567         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4568         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4569         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4570         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4571         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4572         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4573         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4574         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4575
4576         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4577         (Vcharset_latin_viscii_upper): New variable.
4578         (make_byte_from_character_table): New function.
4579         (put_byte_from_character_table): New function.
4580         (get_byte_from_character_table): New function.
4581         (CHAR96): New macro.
4582         (ucs_to_latin_jisx0201): New variable.
4583         (latin_jisx0201_to_ucs): New variable.
4584         (ucs_to_latin_iso8859_2): New variable.
4585         (latin_iso8859_2_to_ucs): New variable.
4586         (ucs_to_latin_iso8859_3): New variable.
4587         (latin_iso8859_3_to_ucs): New variable.
4588         (ucs_to_latin_iso8859_4): New variable.
4589         (latin_iso8859_4_to_ucs): New variable.
4590         (ucs_to_latin_iso8859_9): New variable.
4591         (latin_iso8859_9_to_ucs): New variable.
4592         (ucs_to_latin_viscii_lower): New variable.
4593         (latin_viscii_lower_to_ucs): New variable.
4594         (ucs_to_latin_viscii_upper): New variable.
4595         (latin_viscii_upper_to_ucs): New variable.
4596         (ucs_to_latin_tcvn5712): New variable.
4597         (latin_tcvn5712_to_ucs): New variable.
4598         (Qlatin_viscii_lower): New variable.
4599         (Qlatin_viscii_upper): New variable.
4600         (syms_of_mule_charset): Set up new symbol
4601         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4602         (complex_vars_of_mule_charset): Set up new charset
4603         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4604         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4605         `ucs_to_<CHARSET>' tables.
4606
4607 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4608
4609         * text-coding.c: New file.
4610
4611 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4612
4613         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4614
4615         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4616         (MAKE_CHAR): Modify for `ucs-bmp'.
4617         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4618         non-MULE characters of BMP.
4619
4620 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4621
4622         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4623         to 0.6.
4624
4625 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4626
4627         * lstream.h:
4628         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4629         - Include character.h for `CHAR_ASCII_P'.
4630
4631         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4632
4633         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4634         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4635
4636         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4637         (BYTE_C0_P): Likewise.
4638         (BYTE_C1_P): Likewise.
4639         (Lstream_get_emchar_1): Likewise.
4640         (Lstream_fput_emchar): Likewise.
4641         (Lstream_funget_emchar): Likewise.
4642         (copy_internal_to_external): Likewise.
4643         (copy_external_to_internal): Likewise.
4644
4645         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4646         (BYTE_C0_P): Likewise.
4647         (BYTE_C1_P): Likewise.
4648         (Lstream_get_emchar_1): Likewise.
4649         (Lstream_fput_emchar): Likewise.
4650         (Lstream_funget_emchar): Likewise.
4651         (copy_internal_to_external): Likewise.
4652         (copy_external_to_internal): Likewise.
4653
4654         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4655         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4656
4657         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4658         (BYTE_ASCII_P): Moved to mb-1byte.h.
4659
4660 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4661
4662         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4663
4664         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4665         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4666         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4667         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4668         (VALIDATE_CHARPTR_FORWARD): Likewise.
4669         (simple_charptr_emchar): Moved to mb-multibyte.h.
4670         (simple_set_charptr_emchar): Likewise.
4671         (simple_charptr_copy_char): Likewise.
4672         (non_ascii_charptr_emchar): Likewise.
4673         (non_ascii_set_charptr_emchar): Likewise.
4674         (non_ascii_charptr_copy_char): Likewise.
4675         (charptr_emchar): Moved to mb-*byte.h.
4676         (set_charptr_emchar): Likewise.
4677         (charptr_copy_char): Likewise.
4678
4679         * mb-1byte.h, mb-multibyte.h: New files.
4680
4681 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4682
4683         * mb-utf-8.h (MULTIBYTE): New macro.
4684         (MAX_EMCHAR_LEN): Moved from buffer.h.
4685         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4686
4687         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4688
4689         * mb-lb.h, multibyte.h: New files.
4690
4691         * char-1byte.h (Charset_ID): Moved from buffer.h.
4692         (MIN_LEADING_BYTE): Likewise.
4693         (LEADING_BYTE_ASCII): Likewise.
4694         (NUM_LEADING_BYTES): Likewise.
4695         (CHARSETP): Likewise.
4696         (CHARSET_BY_LEADING_BYTE): Likewise.
4697         (XCHARSET_LEADING_BYTE): Likewise.
4698         (XCHARSET_GRAPHIC): Likewise.
4699         (XCHARSET_COLUMNS): Likewise.
4700         (XCHARSET_DIMENSION): Likewise.
4701         (CHAR_CHARSET): Likewise.
4702         (CHAR_LEADING_BYTE): Likewise.
4703         (BREAKUP_CHAR): Likewise.
4704         (Vcharset_ascii): Likewise.
4705
4706         * buffer.h: Include multibyte.h unconditionally.
4707         (VALID_CHARPTR_P): Moved to multibyte.h.
4708         (ASSERT_VALID_CHARPTR): Likewise.
4709         (REAL_INC_CHARPTR): Likewise.
4710         (REAL_INC_CHARBYTIND): Likewise.
4711         (REAL_DEC_CHARPTR): Likewise.
4712         (INC_CHARPTR): Likewise.
4713         (INC_CHARBYTIND): Likewise.
4714         (DEC_CHARPTR): Likewise.
4715         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4716         (VALIDATE_CHARPTR_FORWARD): Likewise.
4717         (charptr_n_addr): Likewise.
4718         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4719         (simple_charptr_emchar): Moved to multibyte.h.
4720         (simple_set_charptr_emchar): Likewise.
4721         (simple_charptr_copy_char): Likewise.
4722         (non_ascii_charptr_emchar): Likewise.
4723         (non_ascii_set_charptr_emchar): Likewise.
4724         (non_ascii_charptr_copy_char): Likewise.
4725         (charptr_emchar): Likewise.
4726         (set_charptr_emchar): Likewise.
4727         (charptr_copy_char): Likewise.
4728         (charptr_emchar_n): Likewise.
4729         (Charset_ID): Moved to char-1byte.h.
4730         (Vcharset_ascii): Likewise.
4731         (CHAR_CHARSET): Likewise.
4732         (CHAR_LEADING_BYTE): Likewise.
4733         (LEADING_BYTE_ASCII): Likewise.
4734         (NUM_LEADING_BYTES): Likewise.
4735         (MIN_LEADING_BYTE): Likewise.
4736         (CHARSETP): Likewise.
4737         (CHARSET_BY_LEADING_BYTE): Likewise.
4738         (XCHARSET_LEADING_BYTE): Likewise.
4739         (XCHARSET_GRAPHIC): Likewise.
4740         (XCHARSET_COLUMNS): Likewise.
4741         (XCHARSET_DIMENSION): Likewise.
4742         (BREAKUP_CHAR): Likewise.
4743
4744 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4745
4746         * character.h: Add document about interface for characters.
4747
4748         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4749         (MAKE_CHAR): Delete comment about
4750         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4751         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4752         (BREAKUP_CHAR): Modify name of arguments.
4753         (CHAR_CHARSET): Modify name of argument.
4754
4755         * buffer.h: Delete document about Emchar accessors.
4756
4757 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4758
4759         * character.h (CHAR_INTP): Moved from buffer.h
4760         (CHAR_OR_CHAR_INTP): Likewise.
4761         (XCHAR_OR_CHAR_INT): Likewise.
4762         (CHECK_CHAR_COERCE_INT): Likewise.
4763
4764         * buffer.h (CHAR_INTP): Moved to character.h
4765         (CHAR_OR_CHAR_INTP): Likewise.
4766         (XCHAR_OR_CHAR_INT): Likewise.
4767         (CHECK_CHAR_COERCE_INT): Likewise.
4768
4769 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4770
4771         * character.h:
4772         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4773         - Include char-1byte.h, char-lb.h or char-ucs.h.
4774
4775         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4776
4777         * buffer.h: Include character unconditionally.
4778         (valid_char_p): Moved to char-*.h.
4779         (non_ascii_valid_char_p): Moved to char-lb.h.
4780
4781         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4782
4783 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4784
4785         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4786         in UTF-2000 because it is not ported yet and not to use
4787         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4788         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4789         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4790
4791         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4792         (CHAR_ASCII_P): Moved from character.h.
4793
4794         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4795         (CHAR_ASCII_P): Likewise.
4796         (CHAR_FIELD1_MASK): Deleted.
4797         (CHAR_FIELD2_MASK): Deleted.
4798         (CHAR_FIELD3_MASK): Deleted.
4799         (MAX_CHAR_BASIC_LATIN): New macro.
4800         (CHAR_FIELD1): Deleted.
4801         (CHAR_FIELD2_INTERNAL): Deleted.
4802         (CHAR_FIELD3_INTERNAL): Deleted.
4803         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4804         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4805         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4806         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4807         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4808         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4809         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4810         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4811         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4812         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4813         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4814         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4815         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4816         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4817         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4818         (MIN_CHAR_COMPOSITION): Deleted.
4819         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4820         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4821
4822 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4823
4824         * buffer.h: Include mb-utf-8.h in UTF-2000.
4825
4826         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4827
4828         * mb-utf-8.h: New file.
4829
4830 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4831
4832         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4833         instead of `int'.
4834
4835         * mule-charset.h, buffer.h (Charset_ID): New type.
4836
4837 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4838
4839         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4840         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4841         instead of `MULE_CHAR_PRIVATE_OFFSET',
4842         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4843         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4844         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4845
4846         * character.h (Vcharset_japanese_jisx0212): New variable
4847         definition.
4848
4849 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4850
4851         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4852         (charset_by_attributes): Delete array about direction.
4853         (latin_a_char_to_charset): New variable in UTF-2000.
4854         (latin_a_char_to_byte1): New variable in UTF-2000.
4855         (latin_a_char_to_byte2): New variable in UTF-2000.
4856         (Qucs_bmp): New variable.
4857         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4858         `Bufbyte'.
4859         (next_allocated_2_byte_leading_byte): Likewise.
4860         (non_ascii_set_charptr_emchar): Likewise.
4861         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4862         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4863         `charset_by_attributes'.
4864         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4865         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4866         and `CHARSET_BY_LEADING_BYTE'.
4867         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4868         `utf-2000-version' to `vars_of_mule_charset'.
4869         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4870         define `leading-code-private-11' in UTF-2000; move setting of
4871         `utf-2000-version' from `syms_of_mule_charset'.
4872         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4873         UTF-2000.
4874
4875         * character.h (Charset_ID): New type.
4876         (LEADING_BYTE_UCS_BMP): New macro.
4877         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4878         (CHARSET_ID_OFFSET_94): New macro.
4879         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4880         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4881         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4882         final-byte.
4883         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4884         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4885         (CHARSET_ID_OFFSET_96): New macro.
4886         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4887         CHARSET_ID_OFFSET_96 and final-byte.
4888         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4889         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4890         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4891         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4892         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4893         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4894         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4895         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4896         (LEADING_BYTE_THAI_TIS620): Likewise.
4897         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4898         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4899         (CHARSET_ID_OFFSET_94x94): New macro.
4900         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4901         CHARSET_ID_OFFSET_94x94 and final-byte.
4902         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4903         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4904         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4905         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4906         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4907         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4908         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4909         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4910         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4911         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4912         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4913         (CHARSET_TYPE_128X128): New macro.
4914         (CHARSET_TYPE_256X256): New macro.
4915         (XCHARSET_PRIVATE_P): Delete unconditionally.
4916         (charset_by_attributes): Delete array about direction.
4917         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4918         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4919         (MIN_CHAR_94): New macro.
4920         (MAX_CHAR_94): New macro.
4921         (MIN_CHAR_96): New macro.
4922         (MAX_CHAR_96): New macro.
4923         (MIN_CHAR_94x94): New macro.
4924         (MAX_CHAR_94x94): New macro.
4925         (MIN_CHAR_96x96): New macro.
4926         (MAX_CHAR_96x96): New macro.
4927         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4928         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4929         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4930         - 32)'.
4931         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4932         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4933         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4934         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4935         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4936         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4937         `XCHARSET_LEADING_BYTE' to make code-point.
4938         (latin_a_char_to_charset): New variable.
4939         (latin_a_char_to_byte1): New variable.
4940         (latin_a_char_to_byte2): New variable.
4941         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4942         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4943         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4944
4945         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4946         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4947         (find_charsets_in_emchar_string): Likewise.
4948         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4949
4950         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4951         `int'.
4952         (decode_coding_iso2022): Likewise.
4953
4954         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4955         of `unsigned char'.
4956
4957         * redisplay.c (redisplay_text_width_emchar_string): Use
4958         `Charset_ID' instead of `unsigned char'.
4959         (redisplay_frame_text_width_string): Likewise.
4960
4961         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4962         `unsigned char'.
4963
4964         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4965         instead of `unsigned char'.
4966         (face_cachel_charset_font_metric_info): Likewise.
4967
4968         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4969         (get_non_ascii_char_table_value): Likewise.
4970         (get_char_table): Likewise.
4971         (put_char_table): Likewise.
4972         (map_over_other_charset): Likewise.
4973         (map_char_table): Likewise.
4974
4975         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4976         instead of `unsigned char'.
4977
4978 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4979
4980         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4981         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4982
4983         * mule-charset.c (leading_code_private_11): Don't define in
4984         UTF-2000.
4985
4986         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4987         in UTF-2000 because it is not ported yet and not to use
4988         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4989
4990 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4991
4992         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4993
4994 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4995
4996         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4997         in UTF-2000.
4998
4999         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5000         of unsigned char to store leading-byte.
5001
5002         * chartab.c (get_non_ascii_char_table_value): Don't use
5003         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5004
5005         * file-coding.c (encode_coding_big5): Delete bogus implementation
5006         in UTF2000.
5007
5008         * character.h (LEADING_BYTE_*): Delete definition for
5009         non-UTF-2000.
5010         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5011         (LEADING_BYTE_PREFIX_P): Deleted.
5012         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5013         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5014         (BUFBYTE_LEADING_BYTE_P): Deleted.
5015         (CHARSET_PRIVATE_P): Deleted unconditionally.
5016         (rep_bytes_by_first_byte): Deleted unconditionally.
5017         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5018         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5019         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5020         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5021         (CHAR_FIELD2): Deleted.
5022         (CHAR_FIELD3): Deleted.
5023         (MAKE_CHAR): Delete definition for non-UTF-2000.
5024         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5025         (breakup_char_1): New implementation.
5026         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5027         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5028
5029 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5030
5031         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5032         condition.
5033
5034 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5035
5036         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5037         (CHARSET_PRIVATE_P): Likewise.
5038         (XCHARSET_PRIVATE_P): Likewise.
5039         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5040
5041         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5042         UTF2000.
5043         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5044
5045 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5046
5047         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5048         (NUM_LEADING_BYTES): Changed from 128 to 256.
5049         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5050         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5051         UTF2000.
5052         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5053
5054         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5055         UTF2000.
5056         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5057         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5058         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5059         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5060         (Qchinese_cns11643_3): New variable in UTF2000.
5061         (Qchinese_cns11643_4): New variable in UTF2000.
5062         (Qchinese_cns11643_5): New variable in UTF2000.
5063         (Qchinese_cns11643_6): New variable in UTF2000.
5064         (Qchinese_cns11643_7): New variable in UTF2000.
5065         (syms_of_mule_charset): Define `chinese-cns11643-3',
5066         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5067         and `chinese-cns11643-7' in UTF2000.
5068         (vars_of_mule_charset): Initialize
5069         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5070         + 1 in UTF2000.
5071         (complex_vars_of_mule_charset): Setup charset
5072         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5073         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5074
5075 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5076
5077         * mule-charset.c: Move setting for `leading-code-private-11' from
5078         `syms_of_mule_charset' to `vars_of_mule_charset'.
5079
5080 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5081
5082         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5083         and `NUM_LEADING_BYTES' in assert.
5084
5085 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5086
5087         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5088         instead of 128.
5089         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5090         `NUM_LEADING_BYTES' instead of 128.
5091
5092 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5093
5094         * mule-charset.h (charset_by_leading_byte): Use
5095         `NUM_LEADING_BYTES' instead of 128.
5096         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5097
5098         * mule-charset.c (charset_by_leading_byte): Use
5099         `NUM_LEADING_BYTES' instead of 128.
5100         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5101
5102         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5103         128.
5104
5105 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5106
5107         * mule-charset.c (syms_of_mule_charset): Update to
5108         0.4 (Shin-Imamiya).
5109
5110 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5111
5112         * file-coding.c (encode_coding_sjis): New implementation for
5113         UTF2000.  (decode_coding_sjis): Ditto.
5114
5115 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5116
5117         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5118         Don't define in UTF2000.
5119
5120         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5121         defined.
5122
5123         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5124         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5125         MULE.
5126
5127 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5128
5129         * config.h.in (CHAR_IS_UCS4): New macro.
5130
5131         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5132         conventional MULE representation.
5133         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5134
5135         * mule-charset.h: Reverted to original.
5136
5137         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5138         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5139         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5140
5141         * character.h: New file.
5142
5143         * file-coding.c (Fmake_coding_system): Set 1 to
5144         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5145         defined.
5146         (encode_coding_no_conversion): New implementation for UTF2000.
5147
5148         * file-coding.h (struct Lisp_Coding_System): Add new member
5149         `fixed.size'.
5150
5151 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5152
5153         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5154         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5155         (encode_coding_iso2022): New implementation for UTF2000.
5156
5157 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5158
5159         * mule-canna.c (c2mu): New implementation for UTF2000.
5160         (m2c): Likewise.
5161
5162 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5163
5164         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5165
5166 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5167
5168         * file-coding.c (reset_encoding_stream): Set 0 to
5169         `str->iso2022.current_char_boundary' in UTF2000.
5170         (encode_utf8): Don't define in UTF2000.
5171         (encode_coding_utf8): New implementation for UTF-8 representation
5172         of UTF2000.
5173         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5174
5175 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5176
5177         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5178
5179         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5180         UTF2000.
5181         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5182
5183         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5184
5185         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5186         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5187         as UTF-8 in UTF2000.
5188         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5189         (non_ascii_valid_char_p): Don't define in UTF2000.
5190         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5191         (Lstream_get_emchar_1): Likewise.
5192         (utf-2000-version): New variable in UTF2000.
5193
5194         * lread.c (read_escape): Add new reader `u'.
5195
5196         * insdel.c (three_to_one_table): Don't define in UTF2000.
5197         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5198         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5199         UTF2000.
5200         (bytind_to_bufpos_func): Likewise.
5201         (buffer_mule_signal_inserted_region): Likewise.
5202         (vars_of_insdel): Don't initialize `three_to_one_table'.
5203         (init_buffer_text): Use `buf->text->mule_size' instead of
5204         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5205         UTF2000.
5206
5207         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5208         UTF-8 representation in UTF2000.
5209         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5210         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5211         (decode_coding_iso2022): Don't define local variable `lb' in
5212         UTF2000; don't use LEADING_BYTE in UTF2000; use
5213         `DECODE_ADD_UCS_CHAR' in UTF2000.
5214         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5215
5216         * config.h.in (UTF2000): New macro.
5217
5218         * buffer.h (struct buffer_text): Add new member `mule_size' and
5219         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5220         (valid_char_p): Return always 1 in UTF2000.
5221         (MAX_EMCHAR_LEN): 6 in UTF2000.
5222         (three_to_one_table): Don't define in UTF2000.
5223         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5224         UTF2000.
5225         (real_bytind_to_bufpos): Likewise.
5226
5227         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5228
5229 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5230
5231         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5232         representation change.
5233         (Vutf_2000_version): New variable.
5234         (leading_code_private_11): New variable.
5235         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5236         `leading-code-private-11'.
5237
5238         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5239         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5240         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5241         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5242         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5243         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5244         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5245         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5246         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5247         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5248         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5249         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5250         (MIN_CHAR_GREEK): New macro.
5251         (MAX_CHAR_GREEK): New macro.
5252         (MIN_CHAR_CYRILLIC): New macro.
5253         (MAX_CHAR_CYRILLIC): New macro.
5254         (MIN_CHAR_HEBREW): New macro.
5255         (MAX_CHAR_HEBREW): New macro.
5256         (MIN_CHAR_THAI): New macro.
5257         (MAX_CHAR_THAI): New macro.
5258         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5259         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5260         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5261         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5262         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5263         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5264         (CHAR_FIELD2): New inline function.
5265         (CHAR_FIELD3): New inline function.
5266         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5267         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5268         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5269         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5270         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5271         (MIN_CHAR_COMPOSITION): Likewise.
5272         (CHAR_LEADING_BYTE): Modified for character representation change.
5273         (MAKE_CHAR): Likewise.
5274
5275         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5276         (Vcharset_greek_iso8859_7): Likewise.
5277         (Vcharset_cyrillic_iso8859_5): Likewise.
5278         (Vcharset_hebrew_iso8859_8): Likewise.
5279         (Vcharset_thai_tis620): Likewise.
5280         (Vcharset_katakana_jisx0201): Likewise.
5281
5282 2003-09-03  Vin Shelton <acs@xemacs.org>
5283
5284         * XEmacs 21.4.14 is released
5285
5286 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5287
5288         * config.h.in (REGEX_MALLOC): Make it configure'able.
5289
5290 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5291
5292         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5293         linking.
5294         * sysdll.c (dll_init):
5295         * sysdll.c (dll_open):
5296         * sysdll.c (dll_close):
5297         * sysdll.c (dll_function):
5298         * sysdll.c (dll_variable):
5299         * sysdll.c (dll_error):
5300         Add support for loading bundles using Darwin/MacOSX
5301         native API.
5302
5303 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5304
5305         * process.c (start-process-internal): Document coding systems.
5306
5307 2003-07-30  Jerry James  <james@xemacs.org>
5308
5309         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5310
5311 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5312
5313         * event-msw.c (mswindows_enqueue_mouse_button_event):
5314         * event-msw.c (mswindows_wnd_proc):
5315           enqueue button event when scrollwheel event isn't handled by 
5316           mswindows_handle_mousewheel_event, such as when the scrollbars
5317           are not showing.
5318
5319 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5320
5321         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5322
5323 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5324
5325         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5326
5327 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5328
5329         * regex.c (re_match_2_internal): Fix matching degenerate word
5330         boundaries.
5331
5332 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5333
5334         * XEmacs 21.4.13 is released
5335
5336 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5337
5338         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5339         * lisp.h (<inttypes.h>):
5340         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5341         the definition.
5342
5343 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5344
5345         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5346         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5347         Result: "temacs can only be run in -batch mode."
5348         Fix: Check xemacs executable candidate for directory-ness.
5349
5350 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5351
5352         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5353           they conflict with <sys/types.h>.
5354
5355 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5356
5357         * database.c: Berkeley DB wants __STDC__ to be defined.
5358
5359 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5360
5361         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5362
5363 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5364
5365         * process-unix.c (unix_send_process): Fix C++ compile error.
5366
5367 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5368
5369         * Added .dylib as an acceptable shared library file extension
5370         * to support MacOSX.
5371
5372 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5373
5374         * EmacsFrameP.h (EmacsFramePart):
5375         Kludge to allow compiling with Motif1, but linking with Motif2.
5376
5377 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5378
5379         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5380
5381
5382 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5383
5384         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5385
5386 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5387
5388         * sysdll.c: Included lisp.h to define needed alloca_array.
5389
5390 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5391
5392         Make XEmacs redisplay 10 times faster.
5393         If, that is, you're using a slow X connection and MoveOpaque.
5394         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5395         Use compress_motion = TRUE.
5396         * EmacsFrame.c (emacsFrameClassRec): 
5397         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5398         * EmacsManager.c (emacsManagerClassRec):
5399         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5400
5401 2003-01-30  Vin Shelton  <acs@xemacs.org>
5402
5403         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5404
5405 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5406
5407         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5408         Patch by Martin Buchholz.
5409
5410 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5411
5412         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5413         Thanks to icc for warning and Martin Buchholz for reporting.
5414
5415 2003-01-29  Vin Shelton <acs@xemacs.org>
5416
5417         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5418
5419         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5420         remember to multiply by the element size.
5421
5422 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5423
5424         * XEmacs 21.4.12 "Portable Code" is released.
5425
5426 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5427
5428         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5429         * s/cygwin.sc: new linker file.
5430
5431 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5432
5433         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5434
5435         * redisplay-x.c (x_output_string): Use X11-specified types.
5436         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5437         * emacs.c (__free_hook): Use typeof with Intel compiler.
5438         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5439
5440 2003-01-08  Andy Piper  <andy@xemacs.org>
5441
5442         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5443         reserve size during unexec().
5444
5445 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5446
5447         * process-unix.c (unix_create_process): Don't let outchannel block.
5448
5449 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5450
5451         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5452         Needed for IsBadReadPtr().
5453
5454 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5455
5456         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5457
5458 2002-12-14  Ben Wing  <ben@xemacs.org>
5459
5460         * callint.c: Declaration error.
5461         * dumper.c (pdump):
5462         * dumper.c (pdump_load): Warning fix.
5463         * process.c: GCPRO error.
5464         * glyphs.c (unmap_subwindow):
5465         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5466         * event-stream.c (maybe_kbd_translate): Wrong argument to
5467         character_to_event().
5468
5469         * alloc.c (garbage_collect_1):
5470         * emacs.c:
5471         * emacs.c (debug_can_access_memory):
5472         * emacs.c (fatal_error_signal):
5473         * emacs.c (mswindows_handle_hardware_exceptions):
5474         * emacs.c (main_1):
5475         * emacs.c (main):
5476         * emacs.c (assert_failed):
5477         * emacs.c (syms_of_emacs):
5478         * lisp.h:
5479         * print.c:
5480         * print.c (std_handle_out_va):
5481         * print.c (write_string_to_stdio_stream):
5482         * print.c (write_fmt_string):
5483         * print.c (printing_badness):
5484         * print.c (printing_major_badness):
5485         * print.c (print_internal):
5486         * print.c (debug_print_no_newline):
5487         * print.c (debug_backtrace):
5488         Be more defensive in handling bad values when printing.  Add code
5489         from trunk involving inhibit_non_essential_printing_operations.
5490         When going down or in debug_print(), don't do external conversion
5491         and such and try really, really hard when printing to avoid core
5492         dumping.  Add force-debugging-signal, debug_break().
5493
5494 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5495
5496         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5497         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5498
5499 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5500
5501         * database.c: Fix open_database. Berkeley DB API has changed in
5502         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5503
5504 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5505
5506         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5507
5508 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5509
5510         * event-Xt.c (Xt_timeout):
5511         (Xt_timeout_callback):
5512         (emacs_Xt_add_timeout):
5513         (emacs_Xt_remove_timeout):
5514         (Xt_timeout_to_emacs_event):
5515         Turn completed_timeouts from a stack into a queue.  Fixes
5516         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5517
5518 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5519
5520         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5521         * emacs.c (main): Assert that mmap'd allocation is disabled.
5522
5523 2002-10-14  Andy Piper  <andy@xemacs.org>
5524
5525         * glyphs-widget.c (layout_query_geometry): add in fiddle
5526         factor. Include border text in width layout calculation.
5527         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5528
5529 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5530
5531         * XEmacs 21.4.10 "Military Intelligence" is released.
5532
5533 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5534
5535         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5536         using the NAS private array SoundFileInfo that no longer exists in
5537         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5538         and earlier.  This is broken for some versions between 1.5a and
5539         1.5f.
5540
5541 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5542
5543         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5544
5545         * emacs.c (shut_down_emacs): Improve crash message.
5546
5547 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5548
5549         * file-coding.c (determine_real_coding_system): Check for coding
5550         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5551         shebangs and Python PEP 263.
5552
5553 2002-10-08  Andy Piper  <andy@xemacs.org>
5554
5555         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5556         if static sizes haven't been set.
5557
5558 2002-08-30  Mike Alexander  <mta@arbortext.com>
5559
5560         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5561         to close a socket.
5562
5563 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5564
5565         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5566
5567 2002-09-20  Mike Sperber <mike@xemacs.org>
5568
5569         (This partially gets back my patch from 2002-07-20 without the
5570         bug.)
5571         * callproc.c (child_setup): Remove Ben's comment noting confusion
5572         over the file descriptors >= 3: close_process_descs() doesn't
5573         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5574         * process-unix.c (unix_create_process): Call
5575         begin_dont_check_for_quit to inhibit unwanted interaction (and
5576         thus breaking of X event synchronicity) in the child.
5577
5578 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5579
5580         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5581         widget.
5582
5583 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5584
5585         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5586         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5587         the xemacs process did not exit, but looped infinitely here.  This
5588         fixes that problem.
5589
5590 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5591
5592         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5593         (find_context): Improve comments.
5594
5595         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5596         (re_match_2): An XCHAR_TABLE operation was missing.
5597
5598         Many of the following changes were inspired by Andy Piper's (now
5599         obsolete) patch to make syntax-table text property lookup optional.
5600
5601         [Documentation]
5602
5603         * syntax.h (top level): Document semantics of syntax flags.
5604         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5605         * syntax.c, syntax.h (top level): Document syntax cache better in
5606         comments.
5607
5608         [Instrument syntax caching (temporary change)]
5609
5610         * syntax.h (enum syntax_cache_statistics_functions, struct
5611         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5612         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5613         * syntax.c (scan_words, Fforward_comment, scan_lists,
5614         Fbackward_prefix_characters):
5615         * font-lock.c (find_context):
5616         Use them to instrument syntax caching. 
5617         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5618         syntax_cache_statistics_function_names): New type and variables.
5619         * syntax.c (update_syntax_cache): Update and report statistics.
5620
5621         [Major syntax cache optimizations]
5622
5623         syntax.c (lookup_syntax_properties): Default off.
5624
5625         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5626         * syntax.c (update_syntax_cache):
5627         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5628
5629         [Minor syntax cache optimizations and code clarifications]
5630
5631         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5632         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5633         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5634         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5635         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5636         (Code clarification.)
5637
5638         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5639         scan_lists): Compute code from syncode, use Boolean macros instead
5640         of redundant masking operations.  (Code clarification; any decent
5641         compiler can do this optimization.)
5642
5643         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5644         for clarity.
5645
5646         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5647         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5648         use F*_single_property_change instead of F*_extent_change.
5649         Currently F*_single_property_change is _much_ less efficient.
5650
5651         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5652         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5653         syntax_cache.object properly, don't leave Qt or Qnil.
5654         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5655         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5656         tests for Qt or Qnil.
5657
5658 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5659
5660         * redisplay.c (point_in_line_start_cache): 
5661         * extents.c (print_extent_1):
5662         Fix warnings.
5663
5664         * extents.c (Fset_extent_property): Document `syntax-table' property.
5665
5666         * extents.h (Fnext_single_property_change): EXFUN it.
5667
5668 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5669
5670         * search.c (clear_unused_search_regs): New static function.
5671         (search_buffer): 
5672         (simple_search): 
5673         (boyer_moore):
5674         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5675         Minor clarifications in comments.
5676
5677         * regex.c (re_match_2_internal): Ensure no stale submatches.
5678
5679 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5680
5681         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5682
5683 2002-08-29  Jerry James  <james@xemacs.org>
5684
5685         * lisp.h: structrures -> structures.
5686
5687 2002-06-03  Andy Piper  <andy@xemacs.org>
5688
5689         * frame.c (frame_conversion_internal): add conversion appropriate
5690         for setting frame dimensions in pixels.
5691
5692         * console.h (struct console_methods): add device-specific widget
5693         layout functions.
5694
5695         * emacs.c (main_1): initialize glyph vars.
5696
5697         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5698         (handle_focus_event_2): new function. Allow focus to
5699         be set to a particular window and widget.
5700         (enqueue_focus_event): new function. Create a
5701         synthetic focus event.
5702         (emacs_Xt_handle_magic_event): call
5703         handle_focus_event_2.
5704
5705         * frame.c (Fset_frame_pixel_height): new function. Allow
5706         pixel-based sizing. Does the right thing on character-oriented
5707         displays.
5708         (Fset_frame_pixel_width): ditto.
5709         (Fset_frame_pixel_size): ditto.
5710         (syms_of_frame): declare.
5711
5712         * general-slots.h: add :vertically-justify and
5713         :horizontally-justify.
5714
5715         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5716         (mswindows_widget_border_width): new function.
5717         (mswindows_combo_box_instantiate): set border widths.
5718         (console_type_create_glyphs_mswindows): declare.
5719
5720         * glyphs-widget.c:
5721         (check_valid_justification): allow vertical and horizontal
5722         justification.
5723         (widget_border_width): new function. Call device methods.
5724         (widget_instance_border_width): ditto.
5725         (logical_unit_height): new function. Determine the height of a
5726         logical-unit. Logical units are intended to provide grid-like
5727         layout for subcontrols in a layout. If the layout is
5728         :vertically-justify top then subcontrols will be positioned on
5729         logical-unit boundaries, thus allowing adjacent subcontrols to
5730         line up.
5731         (widget_logical_unit_height): ditto for widgets.
5732         (redisplay_widget): misc cleanup.
5733         (widget_spacing): new function. Call device specific
5734         methods. Intended to be the default gap between adjacent widgets.
5735         (widget_query_geometry): use new spacing functions to determine
5736         appropriate geometry.
5737         (initialize_widget_image_instance): initialize horizontal and
5738         vertical justification.
5739         (widget_instantiate): use logica-units where appropriate for
5740         sizing large widgets.
5741         (button_query_geometry): use widget_instance_border_width.
5742         (tree_view_query_geometry): ditto.
5743         (tab_control_query_geometry): ditto.
5744         (edit_field_query_geometry): new function.
5745         (layout_update): pick up :justify, :horizontally-justify and
5746         :vertically-justify none of which worked previously. :justify is
5747         used as a fallback for both horizontal and vertical justification.
5748         (layout_query_geometry): use logical units to size appropriately.
5749         (layout_layout): ditto.
5750         (Fwidget_logical_to_character_width): new function. Allow users to
5751         convert from logical units to characters so that frame sizes can
5752         be set appropriately.
5753         (Fwidget_logical_to_character_height): ditto.
5754         (syms_of_glyphs_widget): declare.
5755         (image_instantiator_edit_fields): add edit_field_query_geometry.
5756         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5757         :horizontally-justify.
5758         (specifier_vars_of_glyphs_widget): new function. Declare
5759         Vwidget_border_width which is not yet used.
5760
5761         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5762         (x_widget_border_width): new function.
5763         (x_widget_instantiate): create a sensible name for widgets.
5764         (console_type_create_glyphs_x): declare x_widget_border_width.
5765
5766         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5767         (struct Lisp_Image_Instance): add :vertically-justify and
5768         :horizontally-justify.
5769         (LAYOUT_JUSTIFY_TOP): new.
5770         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5771         (ROUND_UP): new macro. Round argument up to next integral
5772         interval.
5773
5774         * redisplay-output.c (redisplay_output_layout): misc formatting.
5775
5776         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5777
5778 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5779
5780         * XEmacs 21.4.9 "Informed Management" is released.
5781
5782 2002-08-19  Andy Piper  <andy@xemacs.org>
5783
5784         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5785         win32 format.
5786
5787         * realpath.c (xrealpath): normalize drive spec also so that dir
5788         sep chars are not mixed on cygwin.
5789
5790 2002-08-06  Jerry James  <james@xemacs.org>
5791
5792         * window.c (Fsplit_window): Count only half of the divider width
5793         against the left window when splitting horizontally. 
5794
5795 2002-06-24  Andy Piper  <andy@xemacs.org>
5796
5797         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5798         toolbar was cleared.
5799
5800         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5801         function. Split out from mswindows_output_frame_toolbars.
5802         (mswindows_output_frame_toolbars): move clear pieces to
5803         mswindows_output_frame_toolbars.
5804
5805         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5806         out from gtk_output_frame_toolbars.
5807         (gtk_output_frame_toolbars): move clear pieces to
5808         gtk_clear_frame_toolbars.
5809
5810         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5811         the frame is cleared. How this ever worked before is a mystery.
5812         (x_output_frame_toolbars): Only output toolbars.
5813         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5814
5815         * gutter.c (update_gutter_geometry):
5816         Mark frame layout changed.
5817         (update_frame_gutter_geometry, update_frame_gutters):
5818         Respect frame_layout_changed.
5819
5820         * console.h (struct console_methods): add
5821         clear_frame_toolbars_method.
5822
5823         * redisplay.c (redisplay_frame): call
5824         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5825
5826         * toolbar.h: declare update_frame_toolbars_geometry.
5827
5828         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5829         out from update_frame_toolbars.  Call clear_frame_toolbars.
5830         (update_frame_toolbars): only output, do not change geometry.
5831
5832         * redisplay.c: add frame_layout_changed.
5833
5834         * redisplay.h: add frame_layout_changed.
5835         (CLASS_RESET_CHANGED_FLAGS): set it.
5836         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5837         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5838         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5839
5840         * device.h (struct device): add frame_layout_changed.
5841         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5842
5843         * frame.h (struct frame): add frame_layout_changed.
5844         (MARK_FRAME_LAYOUT_CHANGED): new.
5845
5846 2002-06-30  Mike Alexander  <mta@arbortext.com>
5847
5848         * event-msw.c (mswindows_need_event): Don't wait for a new message
5849         if the queue is not empty.  Suggested by Paul Moore.
5850
5851 2002-06-12  Andy Piper  <andy@xemacs.org>
5852
5853         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5854         for printing on accurately.
5855
5856 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5857
5858         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5859         WM_ACTIVATE message. Make sure that the frame is visible if the
5860         window is visible. This seemss to fix the problem where XEmacs
5861         appears to freeze after switching desktops with certain virtual
5862         window managers.
5863         (debug_output_mswin_message): Added code to output message
5864         parameters for WM_WINDOWPOSCHANGED, 
5865         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5866
5867 2002-05-25  Andy Piper  <andy@xemacs.org>
5868
5869         * select-x.c (vars_of_select_x): Fix docstring of
5870         x-selection-strict-motif-ownership
5871
5872 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5873
5874         * keymap.c (get_keymap):
5875         Add comment about do_autoload GCPROs own args.
5876
5877 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5878
5879         * bytecode.c (execute_optimized_program): check_opcode ifdef
5880         ERROR_CHECK_BYTE_CODE.
5881
5882 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5883
5884         Thanks to Ben Wing and Michael Sperber.
5885
5886         * eval.c (Fcommand_execute):
5887         (Feval):
5888         (Ffuncall):
5889         (Fmacroexpand_internal):
5890         (function_argcount):
5891         callint.c (Fcall_interactively):
5892         Add comment about do_autoload GCPROs own args.
5893
5894         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5895
5896         * eval.c (Ffuncall): Extra braces to placate GCC.
5897
5898 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5899
5900         * backtrace.h (grow_specpdl):
5901         (SPECPDL_RESERVE):
5902         * EmacsFrame.c (EmacsFrameSetValues):
5903         * eval.c (grow_specpdl):
5904         * ExternalShell.c (hack_event_masks_1):
5905         * glyphs-x.c (convert_EImage_to_XImage): 
5906         (x_finalize_image_instance):
5907         * ralloc.c (page_size):
5908         (r_alloc_sbrk):
5909         * xgccache.c (gc_cache_hash):
5910         Fix unsigned comparison warnings.
5911
5912 2002-07-29  Jerry James  <james@xemacs.org>
5913
5914         * lread.c (locate_file): Any nonnegative return value indicates
5915         success if MODE is nonnegative.
5916
5917 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5918
5919         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5920         argument. 
5921
5922 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5923
5924         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5925
5926         * dumper.c (pdump_get_indirect_count):
5927         (pdump_scan_by_alignment):
5928         (pdump_dump_root_struct_ptrs):
5929         (pdump_dump_rtables):
5930         (pdump_dump_root_objects):
5931         (pdump):
5932         * nas.c (WaveOpenDataForReading):
5933         * fns.c (print_bit_vector):
5934         * font-lock.c (SINGLE_SYNTAX_STYLE):
5935         * glyphs.c (check_for_ignored_expose):
5936         (find_matching_subwindow):
5937         * glyphs-eimage.c:
5938         * imgproc.c (get_histogram):
5939         * redisplay.c (point_in_line_start_cache):
5940         * redisplay-output.c (redisplay_unmap_subwindows):
5941         * symbols.c (defsymbol_massage_name_1):
5942         (defkeyword_massage_name):
5943         (deferror_massage_name_and_message):
5944         * redisplay-x.c (x_output_string): 
5945         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5946         * frame.h (struct frame):
5947         * filelock.c (current_lock_owner):
5948         * doprnt.c (emacs_doprnt_1):
5949         * lisp.h (struct Lisp_Bit_Vector):
5950         (DO_REALLOC):
5951         Fix warnings.
5952
5953 2002-02-13  Ben Wing  <ben@xemacs.org>
5954
5955         * event-stream.c (reset_key_echo):
5956         * event-stream.c (reset_this_command_keys):
5957         * event-stream.c (execute_command_event):
5958         If console is dead as a result of C-x 5 0, then post-command stuff
5959         needs to be careful and do only non-console-specific stuff.
5960
5961 2002-07-01  Mike Sperber <mike@xemacs.org>
5962
5963         * process-unix.c (unix_send_process): Mark coding_outstream as
5964         non-open upon SIGPIPE.
5965
5966         * event-stream.c (Fnext_event): Reorder switch cases to something
5967         that makes sense.
5968
5969 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5970
5971         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5972         Don't bogusly reinitialize ascii_character property.
5973
5974 2002-07-08  Mike Sperber <mike@xemacs.org>
5975
5976         * process.c (Fstart_process_internal): Do error checking before we
5977         fork off the child, so the child can't muck with the state of the
5978         parent.
5979
5980 2002-07-08  Mike Sperber <mike@xemacs.org>
5981
5982         * ralloc.c (init_ralloc): Allocate properly for pdump.
5983
5984 2002-06-12  Andy Piper  <andy@xemacs.org>
5985
5986         * glyphs.c (query_string_geometry): check the string.
5987
5988         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5989         widget names.
5990
5991 2002-06-17  Jerry James  <james@xemacs.org>
5992
5993         * sysdll.c: Remove RTLD_GLOBAL initialization.
5994         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5995
5996 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5997
5998         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5999
6000 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
6001
6002         * sysdep.c (sys_rename): Make sys_rename work for the case where
6003         Windows rename sets errno to EACCES if target file exists.
6004
6005 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
6006
6007         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6008         Fix detection of metric units to work on Win95
6009
6010 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
6011
6012         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
6013
6014 2002-04-25  Andy Piper  <andy@xemacs.org>
6015
6016         * redisplay.c (create_text_block): Remove extra comment trailer.
6017
6018 2002-04-24  Andy Piper  <andy@xemacs.org>
6019
6020         * redisplay.c (create_text_block): Don't actually add propagation
6021         data if the line ends after we have added a glyph.
6022
6023 2002-04-22  Andy Piper  <andy@xemacs.org>
6024
6025         * extents.c (extent_fragment_update): check for glyphs we have
6026         previously displayed.
6027         * extents.c (print_extent_1): warning removal.
6028         * extents.h: change prototype.
6029         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
6030         widths correctly for wide glyphs.
6031         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6032         * redisplay.c (prop_type): add PROP_GLYPH.
6033         * redisplay.c (struct prop_block): add glyph type
6034         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6035         to the propagation data.
6036         * redisplay.c (create_text_block): if there is a glyph in the
6037         propagation data use it to salt extent_fragment_update.
6038         * redisplay.c (create_string_text_block): ditto.
6039
6040 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6041
6042         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6043         * redisplay-output.c (compare_runes): Compare them.
6044         * redisplay.c: Update copyright date.
6045         * redisplay.c (pos_data): Add need_baseline_computation field.
6046         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6047         need_baseline_computation; zero yoffset. Set max_pixmap_height
6048         for all pixmaps, not just automatically positioned ones.
6049         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6050         * redisplay.c (calculate_baseline): New, compute textual baseline.
6051         * redisplay.c (add_glyph_rune): Call them.
6052         * redisplay.c (create_text_block): Likewise.
6053         * redisplay.c (create_overlay_glyph_block): Likewise.
6054         * redisplay.c (add_margin_runes): Likewise.
6055         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6056
6057         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6058         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6059         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6060         * redisplay-msw.c (mswindows_output_string): Likewise.
6061         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6062         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6063         * redisplay-x.c (x_output_display_block): Likewise.
6064
6065 2002-03-28  Ben Wing  <ben@xemacs.org>
6066
6067         * redisplay.c: Fixed bug in redisplay
6068         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6069         and down of the lines, since they're bigger than the line
6070         size. (It was seen most obviously when there's a horizontal scroll
6071         bar, e.g. do C-h a glyph or something like that.) The problem was
6072         that the glyph-contrib-p setting on glyphs was ignored even if it
6073         was set properly, which it wasn't until now.
6074
6075 2002-04-24  Andy Piper  <andy@xemacs.org>
6076
6077         * lisp.h (Dynarr_end): Fix definition.
6078
6079 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6080
6081         * redisplay.c (mark_redisplay): Remove call to
6082         update_frame_window_mirror.
6083
6084 2001-11-15  Andy Piper  <andy@xemacs.org>
6085
6086         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6087         cygwin (again).
6088
6089 2002-02-13  Andy Piper  <andy@xemacs.org>
6090
6091         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6092         we did in fact enqueue the XM_MAPFRAME event.
6093
6094 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6095
6096         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6097         to fix problem switching between virtual desktops under virtuawin
6098         virtual window manager.
6099
6100 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6101
6102         * event-msw.c: Typo fix.
6103         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6104         magic XM_MAPFRAME event has been sent.
6105
6106 2001-11-23  Andy Piper  <andy@xemacs.org>
6107
6108         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6109
6110 2001-11-21  Andy Piper  <andy@xemacs.org>
6111
6112         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6113         mouse events outside the frame.
6114
6115 2002-03-20  Andy Piper  <andy@xemacs.org>
6116
6117         * menubar-msw.c (mswindows_popup_menu): warning removal.
6118         * dialog-msw.c (dialog_popped_down): ditto.
6119
6120 2001-12-11  Andy Piper  <andy@xemacs.org>
6121
6122         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6123         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6124         popup_up_p.
6125         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6126         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6127         * menubar-msw.c (mswindows_popup_menu): ditto.
6128
6129 2001-10-29  Andy Piper  <andy@xemacs.org>
6130
6131         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6132         cancels.
6133
6134 2002-01-03  Andy Piper  <andy@xemacs.org>
6135
6136         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6137         letters.
6138         (xrealpath): ditto.
6139
6140 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6141
6142         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6143         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6144         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6145         Detect and handle case where machine is set up for metric units
6146
6147 2002-04-02  Andy Piper  <andy@xemacs.org>
6148
6149         * dired-msw.c (mswindows_get_files): 
6150         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6151         completely handled by XEmacs. Suggested by Thomas Vogler
6152         <mail@thomas-vogler.de>.
6153
6154 2001-11-14  Andy Piper  <andy@xemacs.org>
6155
6156         * nt.c (REG_ROOT): change registry key to XEmacs.
6157
6158 2002-04-27  Andy Piper  <andy@xemacs.org>
6159
6160         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6161
6162 2002-04-26  Andy Piper  <andy@xemacs.org>
6163
6164         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6165         behavior.
6166
6167 2002-03-14  Mike Alexander  <mta@arbortext.com>
6168
6169         * event-msw.c (mswindows_unwait_process): New, remove process from
6170         wait list
6171         * process-nt.c (nt_finalize_process_data): Call
6172         mswindows_unwait_process
6173         * console-msw.h: Declare mswindows_unwait_process
6174
6175 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6176
6177         * editfns.c (Fdecode_time):
6178         (Fformat_time_string):
6179         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6180         (make_time): Warning elimination (change arg name).
6181
6182 2001-11-24  Andy Piper  <andy@xemacs.org>
6183
6184         * window.c (Fsplit_window): Doc return type.
6185
6186 2002-04-01  Andy Piper  <andy@xemacs.org>
6187
6188         * emacs.c (Fkill_emacs): Only output message box in interactive
6189         mode.
6190
6191 2002-04-26  Andy Piper  <andy@xemacs.org>
6192  
6193         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6194         cygwin.
6195
6196 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6197
6198         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6199         bit platform.
6200
6201 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6202
6203         * XEmacs 21.4.8 "Honest Recruiter" is released.
6204
6205 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6206
6207         Supersedes 2002-04-17 patch.
6208
6209         * process.h (PROCESS_LIVE_P): Use the process status as
6210         evidence of health, not the state of the input stream.
6211         (PROCESS_READABLE_P): Say if the process is readable
6212         from. (It may be dead nonetheless.)
6213         (CHECK_READABLE_PROCESS): Test for that condition.
6214
6215         * process.c (create_process): Use PROCESS_READABLE_P.
6216         (read_process_output, set_process_filter): Likewise.
6217
6218         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6219         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6220
6221         This code is #if 0'd, this is not the time to add new functions:
6222
6223         * process.c (Fprocess_readable_p): Report readability status.
6224         * process.c (Qprocess_readable_p): New, associated symbol...
6225         * process.c (syms_of_process): ... initialize it.
6226
6227 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6228
6229         * XEmacs 21.4.7 "Economic Science" is released.
6230
6231 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6232
6233         * process.h (PROCESS_LIVE_P): Use the process status as
6234         evidence of health, not the state of the input stream.
6235
6236 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6237
6238         * sysdep.c (sys_siglist): change "signum" to "signal"
6239
6240 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6241
6242         * s/darwin.h: New file.
6243         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6244         
6245 2002-04-23  Andreas Jaeger  <aj@suse.de>
6246
6247         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6248         which use lib64 for 64-bit libs.
6249         (START_FILES): Likewise.
6250
6251 2002-02-11  Mike Sperber  <mike@xemacs.org>
6252
6253         * device-x.c: 
6254         (x_IO_error_handler):
6255         (x_init_device): Temporarily keep device in static variable
6256         `device_being_initialized' so we can recover gracefully from
6257         internal XOpenDevice failure.  (XOpenDevice is documented to
6258         return NULL on failure, but sometimes calls the IO error handler
6259         instead.)
6260
6261 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6262
6263         * dired.c (Ffile_name_all_completions): Change documentation --
6264         remove reference to completion-ignored-extensions.
6265         * dired.c (vars_of_dired): Change documentation for
6266         completion-ignored-extensions -- remove reference to
6267         file-name-all-completions.
6268
6269 2002-03-06  Jerry James  <james@xemacs.org>
6270
6271         * emodules.c (emodules_load): Fix multiple loading of same module.
6272
6273 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6274         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6275         RTLD_LAZY to avoid incorrect symbol binding when using nested
6276         shared libraries on Solaris.
6277
6278 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6279
6280         * fileio.c (Ffind_file_name_handler): Improve docstring.
6281
6282 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6283
6284         * fns.c (Fmapconcat): Improve docstring.
6285
6286 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6287
6288         * device-gtk.c: Add prototype for
6289         emacs_gtk_selection_clear_event_handle.
6290         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6291         selection.  Setup signal handler for "selection_clear_event"
6292         (emacs_gtk_selection_clear_event_handle).
6293
6294         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6295         other applications owning the clipboard (based on
6296         x_handle_selection_clear).
6297
6298 2001-12-23  William M. Perry  <wmperry@gnu.org>
6299
6300         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6301         
6302 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6303
6304         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6305
6306 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6307
6308         * XEmacs 21.4.6 "Common Lisp" is released.
6309
6310 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6311
6312         * search.c (Freplace_match): Add missing sub-expression functionality.
6313
6314         * buffer.c (decode_buffer): Add a check for pointer type to
6315         decode_buffer, before gcc's CSE optimization reorders a
6316         dereference in front of the allow_string test.
6317
6318 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6319
6320         * window.c (window_loop): Fix bug that sometimes prevented
6321         window_loop() from iterating across multiple devices.  Also, at
6322         Ben's request, changed infloop-detecting code to abort() instead
6323         of silently terminating window_loop().
6324
6325 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6326
6327         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6328         * editfns.c (make_time): New function.
6329         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6330         * lisp.h (make_time): Prototype and comment it.
6331         * dired.c (wasteful_word_to_lisp): Deprecate.
6332         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6333
6334 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6335
6336         * fileio.c (auto_save_1): Use current coding system, not
6337         escape-quoted.
6338
6339 2001-11-13  Ben Wing  <ben@xemacs.org>
6340
6341         * window.c:
6342         * window.c (window_truncation_on):
6343         * window.c (syms_of_window):
6344         truncate-partial-width-windows should respect the buffer being
6345         displayed, like other redisplay vars.
6346
6347 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6348
6349         * event-stream.c (Fread_key_sequence): save current buffer.
6350
6351 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6352
6353         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6354
6355 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6356
6357         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6358
6359 2001-10-26  Mike Alexander  <mta@arbortext.com>
6360
6361         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6362
6363 2001-10-25  Andy Piper  <andy@xemacs.org>
6364
6365         * ChangeLog:
6366         * dialog-msw.c (handle_directory_proc): new function.
6367          (handle_directory_dialog_box): new fucntion.
6368          (handle_file_dialog_box): use new directory dialog support.
6369          (mswindows_make_dialog_box_internal): ditto.
6370         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6371         handling.
6372         (mswindows_find_frame): make global.
6373         * fileio.c (Fexpand_file_name): build fix.
6374         * general-slots.h: add Qdirectory.
6375         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6376         handling.
6377         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6378         cygwin not leaving win32 paths unchanged.
6379         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6380         cygwin runtime to do path conversion.
6381         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6382         (syms_of_win32): add new function.
6383         * window.c (window_loop): build fix.
6384
6385 2001-10-15  Andy Piper  <andy@xemacs.org>
6386
6387         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6388
6389 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6390
6391         * XEmacs 21.4.5 "Civil Service" is released.
6392
6393 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6394
6395         * glyphs-x.c: Force buffer-tab highlight update when moving the
6396         buffer, avoiding an ugly black border, used for keyboard focus
6397         indication, on a widget that can never have keyboard focus, the
6398         buffer tab.
6399
6400 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6401
6402         * process-unix.c (unix_open_multicast_group): Remove too much
6403         conversion between host and network byte order.
6404
6405 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6406
6407         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6408         before replacing them.
6409
6410         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6411         operation.
6412
6413         * src/window.c (undedicate_windows): Use it.
6414         * src/window.h: Add prototype.
6415
6416 2001-09-17  Ben Wing  <ben@xemacs.org>
6417
6418         * fileio.c (normalize_filename):
6419         * fileio.c (Fexpand_file_name):
6420         Fix various C++ compile errors in Andy's recent code.
6421         
6422         * callint.c (Fcall_interactively):
6423         * editfns.c (Ftemp_directory):
6424         * editfns.c (Fuser_full_name):
6425         * emacs.c (argmatch):
6426         * lread.c (locate_file_map_suffixes):
6427         * redisplay-x.c (x_ring_bell):
6428         Fix sign-compare warnings.
6429         
6430 2001-09-08  Andy Piper  <andy@xemacs.org>
6431
6432         * fileio.c (normalize_filename): copied from nt.c
6433         * (Ffile_name_directory): enable win32 paths under cygwin.
6434         * (Ffile_name_nondirectory): ditto.
6435         * (directory_file_name): ditto.
6436         * (Fexpand_file_name): ditto.
6437         * (Ffile_truename): ditto.
6438         * (Fsubstitute_in_file_name): ditto.
6439         * (Ffile_name_absolute_p): ditto.
6440         * (Ffile_readable_p): ditto.
6441
6442 2001-09-08  Andy Piper  <andy@xemacs.org>
6443
6444         * device-msw.c (mswindows_finish_init_device): remove dde
6445         initialization.
6446         * device-msw.c (mswindows_init_dde): factor out from
6447         mswindows_finish_init_device()
6448         * device-msw.c (init_mswindows_very_early): new function
6449         initialize but don't enable dde.
6450         * emacs.c (main_1): call init_mswindows_very_early.
6451         * event-msw.c:
6452         * event-msw.c (mswindows_dde_callback): only execute when we are
6453         ready.
6454         * symsinit.h: declare init_mswindows_very_early.
6455
6456 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6457
6458         [sjt: This has been in 21.5 for months with no complaints.]
6459
6460         * console.h (struct console_methods): Added flags member.
6461         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6462         (CONMETH_IMPL_FLAG):
6463         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6464         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6465
6466         * device.c (window_system_pixelated_geometry): Use the above macros.
6467
6468         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6469         implememntation flag.
6470         * device.h (DEVICE_DISPLAY_P): Use it.
6471
6472         * frame.c (delete_frame_internal): Use the above macro.
6473
6474         * redisplay.c (redisplay_device): Use it.
6475         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6476         (redisplay_frame): Ditto.
6477
6478         * device-msw.c (mswindows_device_implementation_flags): Removed.
6479         (msprinter_device_implementation_flags): Removed.
6480         (console_type_create_device_mswindows): Removed references to
6481         implementation_flags methods, set implementation flags here.
6482         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6483
6484         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6485         (console_type_create_device_gtk): Removed method declaration.
6486         Added commented out statement which semantically matches the
6487         commented out statement in the above removed method.
6488
6489 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6490
6491         The attached patch fixes a few warnings. 
6492
6493         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6494         * src/frame-gtk.c: guard against GNOME calls in GTK only
6495         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6496         * src/select-gtk.c: prototype lisp_to_time
6497
6498 2001-06-08  Ben Wing  <ben@xemacs.org>
6499
6500         ------ gc-in-window-procedure fixes ------
6501         
6502         * alloc.c:
6503         * alloc.c (struct post_gc_action):
6504         * alloc.c (register_post_gc_action):
6505         * alloc.c (run_post_gc_actions):
6506         * alloc.c (garbage_collect_1):
6507         Create "post-gc actions", to avoid those dreaded "GC during window
6508         procedure" problems.
6509
6510         * event-msw.c:
6511         Abort, clean and simple, when GC in window procedure.  We want
6512         to flush these puppies out.
6513
6514         * glyphs-msw.c:
6515         * glyphs-msw.c (finalize_destroy_window):
6516         * glyphs-msw.c (mswindows_finalize_image_instance):
6517         Use a post-gc action when destroying subwindows.
6518
6519         * lisp.h:
6520         Declare register_post_gc_action().
6521
6522         * scrollbar-msw.c:
6523         * scrollbar-msw.c (unshow_that_mofo):
6524         Use a post-gc action when unshowing scrollbar windows, if in gc.
6525
6526         * redisplay.c (mark_redisplay):
6527         Add comment about the utter evilness of what's going down here.
6528
6529         ------ cygwin setitimer fixes ------
6530         
6531         * Makefile.in.in (sheap_objs):
6532         * Makefile.in.in (profile_objs):
6533         * Makefile.in.in (objs):
6534         Compile profile.c only when HAVE_SETITIMER.
6535         
6536         * nt.c (mswindows_sigset):
6537         * nt.c (mswindows_sighold):
6538         * nt.c (mswindows_sigrelse):
6539         * nt.c (mswindows_sigpause):
6540         * nt.c (mswindows_raise):
6541         * nt.c (close_file_data):
6542         Style fixes.
6543         
6544         * nt.c:
6545         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6546         
6547         * profile.c:
6548         * profile.c (Fstart_profiling):
6549         * profile.c (Fstop_profiling):
6550         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6551         instead of just plain setitimer().
6552         
6553         * signal.c:
6554         * signal.c (set_one_shot_timer):
6555         * signal.c (alarm):
6556         Define qxe_setitimer() as an encapsulation around setitimer() --
6557         call setitimer() directly unless Cygwin or MS Win, in which case
6558         we use our simulated version in win32.c.
6559         
6560         * systime.h:
6561         * systime.h (struct itimerval):
6562         * systime.h (ITIMER_REAL):
6563         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6564         comment about "qxe" and the policy regarding encapsulation.
6565
6566         * win32.c:
6567         * win32.c (setitimer_helper_proc):
6568         * win32.c (setitimer_helper_period):
6569         * win32.c (setitimer_helper):
6570         * win32.c (mswindows_setitimer):
6571         Move setitimer() emulation here, so Cygwin can use it.
6572         Rename a couple of functions and variables to be longer and more
6573         descriptive.  In setitimer_helper_proc(), send the signal
6574         using either mswindows_raise() or (on Cygwin) kill().  If for
6575         some reason we are still getting lockups, we'll change the kill()
6576         to directly invoke the signal handlers.
6577
6578         ------ windows shell fixes ------
6579         
6580         * callproc.c:
6581         * ntproc.c:
6582         Comments about how these two files must die.
6583
6584         * callproc.c (init_callproc):
6585         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6586         not just COMSPEC. (more correct and closer to FSF.) Don't
6587         force a value for SHELL into the environment. (Comments added
6588         to explain why not.)
6589         
6590         * nt.c (init_user_info):
6591         Don't shove a fabricated SHELL into the environment.  See above.
6592
6593 2001-06-01  Ben Wing  <ben@xemacs.org>
6594
6595         * Makefile.in.in (ldflags):
6596         eliminate that pesky "defaulting to 00401000" warning.
6597         * nt.h:
6598         eliminate warnings.
6599
6600 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6601
6602         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6603         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6604
6605 2001-04-24  Jerry James <james@xemacs.org>
6606
6607         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6608         correct order.
6609
6610 2001-06-01  Ben Wing  <ben@xemacs.org>
6611
6612         * event-msw.c (debug_mswin_messages):
6613         conditionalize the messages that were causing compile errors.
6614         (if only macros could generate #ifdef statements ...)
6615
6616 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6617
6618         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6619
6620 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6621
6622         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6623
6624 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6625
6626         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6627         * process-unix.c (unix_canonicalize_host_name):
6628         sysdep.c (init_system_name):
6629         Use it to conditionally support IPv6 canonicalization.
6630
6631 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6632
6633         * event-msw.c:
6634         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6635
6636 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6637
6638         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6639         attempt is made to scroll when no scroll bar is available.
6640
6641 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6642
6643         * input-method-motif.c (XIM_delete_frame): New callback.
6644         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6645         got deleted from 21.4.3.)
6646
6647 2001-06-01  Ben Wing  <ben@xemacs.org>
6648
6649         * nt.c (mswindows_utime):
6650         * nt.c (close_file_data):
6651         fix off-by-one-indirection error.
6652
6653 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6654
6655         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6656         because set_file_times() now takes Lisp_Object path, instead of
6657         char*.
6658         * nt.c: Include buffer.h.
6659         * nt.c (convert_from_time_t): New.
6660         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6661         not set mtime correctly.
6662         * nt.h: Declare mswindows_utime().
6663         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6664         path, instead of char*.
6665         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6666
6667 2001-05-30  Ben Wing  <ben@xemacs.org>
6668
6669         For 21.4:
6670
6671         (Stephen, just take all event-msw.c patches.  This includes
6672         the "iconify" fix below.)
6673
6674         * event-msw.c:
6675         * event-msw.c (mswindows_dequeue_dispatch_event):
6676         * event-msw.c (assert):
6677         * event-msw.c (emacs_mswindows_quit_p):
6678         * event-msw.c (debug_mswin_messages):
6679         * event-msw.c (debug_output_mswin_message):
6680         * event-msw.c (vars_of_event_mswindows):
6681         Fix yet more problems with C-g handling.
6682         Implement debug-mswindows-events.
6683         
6684 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6685
6686         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6687         
6688 2001-05-23  Ben Wing  <ben@xemacs.org>
6689
6690         * event-msw.c (winsock_writer):
6691         * event-msw.c (winsock_closer):
6692         prior kludgy code was clobbering the buffer, thinking it was
6693         "unused" space to store an unneeded return value; instead, use
6694         the variable we've already got staring us in the face.
6695
6696 2001-05-17  Andy Piper  <andy@xemacs.org>
6697
6698         * sysfile.h: don't assume that file attributes are boolean
6699
6700 2001-05-23  Ben Wing  <ben@xemacs.org>
6701
6702         * device-msw.c (msprinter_init_device):
6703         signal an error rather than crash with an unavailable network
6704         printer (from Mike Alexander).
6705         
6706         * event-msw.c:
6707         * event-msw.c (struct winsock_stream):
6708         * event-msw.c (winsock_writer):
6709         * event-msw.c (winsock_closer):
6710         * event-msw.c (make_winsock_stream_1):
6711         cleanup headers.  fix (hopefully) an error with data corruption
6712         when sending to a network connection.
6713
6714         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6715         to handle the ~user prefix by (a) always assuming we're referencing
6716         ourselves and not even verifying the user -- hence any file with
6717         a tilde as its first char is invalid! (b) if there wasn't a slash
6718         following the filename, the pointer was set *past* the end of
6719         file and we started reading from uninitialized memory.  Now we
6720         simply treat these as files, always.
6721
6722         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6723         
6724 2001-05-19  Ben Wing  <ben@xemacs.org>
6725
6726         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6727
6728         * process-nt.c:
6729         * process-nt.c (vars_of_process_nt):
6730         remove unused mswindows-quote-process-args.  rec for 21.4.
6731         
6732 2001-05-12  Ben Wing  <ben@xemacs.org>
6733
6734         * event-msw.c (mswindows_dde_callback):
6735         * event-msw.c (mswindows_wnd_proc):
6736         eliminate cygwin warnings.
6737
6738 2001-05-06  Ben Wing  <ben@xemacs.org>
6739
6740         * console-msw.h:
6741         * device-msw.c:
6742         * device-msw.c (print_dialog_worker):
6743         * device-msw.c (mswindows_handle_print_dialog_box):
6744         * device-msw.c (syms_of_device_mswindows):
6745         * dialog-msw.c (mswindows_make_dialog_box_internal):
6746         * general-slots.h:
6747         implement printing the selection when it's selected.
6748
6749 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6750
6751         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6752
6753 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6754
6755         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6756         EMACS_INT is signed.
6757
6758 2001-04-15  Michael Lausch  <mla@1012surf.net>
6759
6760         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6761         gtk_widget_request_size() to give scrollbar >0 width for
6762         GTK >1.2.8.
6763
6764 2001-05-30  William M. Perry  <wmperry@gnu.org>
6765
6766         * event-gtk.c: Check for buttons as modifier keys.
6767
6768 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6769
6770         * s\mingw32.h:
6771         Properly find MinGW's <process.h> inside Cygwin's restructured
6772         include directories.  Don't try to include <cygwin/version.h>
6773         since we are dropping support for MinGW in versions of Cygwin
6774         earlier than b21.
6775         * nt.c:
6776         Drop support for MinGW in versions of Cygwin before b21.
6777         * sysdep.c:
6778         Properly find MinGW's <process.h> inside Cygwin's restructured
6779         include directories.
6780         * syswindows.h:
6781         Drop support for MinGW in versions of Cygwin before b21.
6782         * unexcw.c:
6783         Even though a.out.h is no longer detected by configure, allow
6784         MinGW to use it until we figure out how to do the job with Win32.
6785
6786 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6787
6788         * syntax.c (find_start_of_comment):
6789         Fix `unbalanced parentheses' bug when dealing with mixed comment
6790         styles in c++/java/etc. mode
6791
6792 2001-05-29  Mike Alexander  <mta@arbortext.com>
6793
6794         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6795         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6796
6797 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6798
6799         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6800
6801 2001-03-31  Mike Sperber <mike@xemacs.org>
6802
6803         * search.c (Freplace_match): Support FSF-style specification of
6804         match subexpression when applied to a buffer.
6805
6806 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6807
6808         * event-stream.c (is_scrollbar_event): add missing semicolon
6809
6810 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6811
6812         * Makefile.in.in: Use TAR macro instead of hardcoding
6813           tar.  Allows use of GNU tar instead of system tar
6814
6815 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6816
6817         * event-stream.c (is_scrollbar_event): add missing semicolon
6818
6819 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6820
6821         * XEmacs 21.4.3 "Academic Rigor" is released.
6822
6823 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6824
6825         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6826
6827 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6828
6829         * buffer.c (Vcase_fold_search): Remove obsolete
6830           comment about non ASCII case-fold-search.  This
6831           bug has been fixed by case-table changes.
6832
6833 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6834
6835         * event-msw.c: Restore include of events-mod.h.
6836
6837 2001-04-22   zhaoway  <zw@debian.org>
6838
6839         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6840         !HAVE_SCROLLBARS.
6841
6842 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6843
6844         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6845
6846 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6847
6848         * mule-charset.c (Fmake_charset): Add missing else.
6849
6850 2001-04-23  Ben Wing  <ben@xemacs.org>
6851
6852         * event-msw.c (FAKE_MOD_QUIT):
6853         * event-msw.c (mswindows_dequeue_dispatch_event):
6854         * event-msw.c (mswindows_wnd_proc):
6855         * event-msw.c (emacs_mswindows_quit_p):
6856         Get critical quit working.
6857
6858 2001-05-05  Ben Wing  <ben@xemacs.org>
6859
6860         * console-msw.h:
6861         * device-msw.c:
6862         * device-msw.c (mswindows_get_default_margin):
6863         * frame-msw.c (mswindows_size_frame_internal):
6864         * frame-msw.c (msprinter_init_frame_1):
6865         * frame-msw.c (vars_of_frame_mswindows):
6866         Change top/bottom margin defaults to 0.5 inches.
6867
6868 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6869
6870         Fix link error with gcc 3.0 on Linux.
6871         * terminfo.c (UP): Remove.
6872         * terminfo.c (BC): Remove.
6873         * terminfo.c (PC): Remove.
6874         They weren't used, and in any case, these symbols should be
6875         defined in the *library*.
6876
6877 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6878
6879         * s/aix4.h: Fix crash with xlc -O3.
6880         Improve comment explaining how -O3 works.
6881
6882 2001-04-15  Ben Wing  <ben@xemacs.org>
6883
6884         * event-stream.c:
6885         * event-stream.c (Fnext_event):
6886         * event-stream.c (is_scrollbar_event):
6887         * event-stream.c (execute_command_event):
6888         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6889         crash' problem.  His fix introduces other problems.  We filter
6890         out scrollbar events specifically, making them somewhat invisible
6891         to command-building, and not appearing in `this-command-keys'.
6892         More work is still needed (see comments in event-stream.c), but
6893         this fixes all the major problems.
6894
6895 2001-04-20  Ben Wing  <ben@xemacs.org>
6896
6897         * .cvsignore: Added stuff for Windows.
6898
6899 2001-04-28  Ben Wing  <ben@xemacs.org>
6900
6901         * buffer.c (Ferase_buffer):
6902         * editfns.c (buffer_insert1):
6903         * editfns.c (Finsert_before_markers):
6904         * editfns.c (Finsert_string):
6905         * editfns.c (Finsert_char):
6906         * editfns.c (Fdelete_region):
6907         * editfns.c (Fwiden):
6908         * editfns.c (Fnarrow_to_region):
6909         remove bogus lines setting zmacs_region_stays to 0.
6910         
6911 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6912
6913         * process-unix.c (unix_open_network_stream): If connect() fails
6914         invalidate file descriptor after closing it.
6915
6916 2001-03-08  Mike Alexander  <mta@arbortext.com>
6917
6918         * event-msw.c (mswindows_need_event_in_modal_loop):
6919         Don't dispatch a message if we didn't get one.
6920         (mswindows_need_event):
6921         Terminate the correct process when one exits instead of the first
6922         one on Vprocess_list and look for process termination when in
6923         mswindows_protect_modal_loop.
6924
6925 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6926
6927         * XEmacs 21.4.1 "Copyleft" is released.
6928
6929 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6930
6931         * input-method-motif.c (XIM_delete_frame): New callback.
6932         (XIM_init_frame): Register it.
6933
6934 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6935
6936         * XEmacs 21.4.0 "Solid Vapor" is released.
6937
6938 2001-04-15  Ben Wing  <ben@xemacs.org>
6939
6940         * cmdloop.c (call_command_loop):
6941         Fix braino in bit-rotting code.
6942         
6943 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6944
6945         * extents.c (Fset_extent_endpoints): Force creation of extent info
6946         in buffer_or_string.
6947
6948         * extents.c (process_extents_for_insertion_mapper): Correctly
6949         check for open-open zero-length extents.
6950
6951 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6952
6953         * lisp.h: New typedefs Memory_count, Element_count.
6954         * regex.c:
6955         * regex.h:
6956         Sign-compare warning elimination: several unsigned -> signed.
6957         Based on work by Ben Wing <ben@xemacs.org>.
6958
6959 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6960
6961         * XEmacs 21.2.47 "Zephir" is released.
6962
6963 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6964
6965         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6966
6967 2001-04-03  Mike Sperber <mike@xemacs.org>
6968
6969         * search.c: Revert previous patch due because of release.
6970
6971 2001-03-30  Ben Wing  <ben@xemacs.org>
6972
6973         * s\cygwin32.h:
6974         Add missing killpg prototype.
6975
6976         * elhash.c:
6977         Add a comment about fixing problems when a new entry is added
6978         while mapping.
6979
6980         * frame-msw.c (mswindows_init_frame_1):
6981         Fix compile warnings.
6982
6983         * menubar.c (vars_of_menubar):
6984         Provide `menu-accelerator-support' to indicate that we properly
6985         support %_ in menu specifications, so that package code can
6986         conditionalize on this (and remove %_ from menu specifications
6987         on older versions).
6988
6989         * event-msw.c:
6990         * scrollbar-msw.c:
6991         * scrollbar-msw.c (can_scroll):
6992         * scrollbar-msw.h:
6993         Fix handling of mouse wheel under Windows to follow standards --
6994         now scrolls window under pointer, not selected window.
6995
6996 2001-03-31  Mike Sperber <mike@xemacs.org>
6997
6998         * search.c (Freplace_match): Support FSF-style specification of
6999         match subexpression when applied to a buffer.
7000
7001 2001-03-15  Martin Buchholz  <martin@xemacs.org>
7002
7003         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
7004         function to modify KEYMAP, so map over a copy of the hash table.
7005
7006 2001-03-21  Martin Buchholz <martin@xemacs.org>
7007
7008         * XEmacs 21.2.46 "Urania" is released.
7009
7010 2001-03-20  Dan Holmsand  <dan@eyebee.com>
7011
7012         * realpath.c (xrealpath): Make file-truename work with symlinks to
7013         /cygdrive paths on cygwin. Always lowercase drive-letters on
7014         native windows.
7015         (cygwin_readlink): Don't try to find canonical filename unless
7016         file exists.
7017
7018 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
7019
7020         * ChangeLog: Log GTK merge.
7021
7022         * dumper.c:
7023         * select-x.c:
7024         * specifier.c:
7025         * symeval.h:
7026         Revert gratuitous whitespace changes from GTK merge.
7027
7028         * emacs.c: Document end of complex #ifdef @ l. 1495.
7029
7030
7031 2001-03-12  Andy Piper  <andy@xemacs.org>
7032
7033         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7034         have to do likewise.
7035
7036 2001-03-12  Andy Piper  <andy@xemacs.org>
7037
7038         * sysdep.c: we only support mingw now.
7039
7040 2001-03-09  Andy Piper  <andy@xemacs.org>
7041
7042         * unexcw.c (copy_executable_and_dump_data_section): making approx
7043         overrun a warning only.
7044
7045 2001-03-10  William M. Perry  <wmperry@aventail.com>
7046
7047         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7048         satisfy Stephen's identical-after-cpp plea.
7049
7050 2001-03-02  Ben Wing  <ben@xemacs.org>
7051
7052         * cmds.c:
7053         * cmds.c (Fforward_char):
7054         * syntax.c:
7055         * window.c:
7056
7057         Augment documentation of the most common motion commands to make
7058         note of the shifted-motion support.
7059         
7060 2001-03-02  Ben Wing  <ben@xemacs.org>
7061
7062         * nt.c (mswindows_fstat):
7063         * nt.c (mswindows_stat):
7064         * search.c (boyer_moore):
7065         Fix compile warnings under Windows.
7066         
7067         * sysdep.c (sys_readdir):
7068         Fix buggy filename-conversion code under Mule.
7069
7070 2001-03-09  William M. Perry  <wmperry@aventail.com>
7071
7072         * Makefile.in.in:
7073         * config.h.in:
7074         * console.c:
7075         * console.h:
7076         * device.c:
7077         * device.h:
7078         * dragdrop.c:
7079         * emacs.c:
7080         * event-stream.c:
7081         * events.c:
7082         * events.h:
7083         * faces.c:
7084         * frame.h:
7085         * general-slots.h:
7086         * glyphs.c:
7087         * gutter.c:
7088         * inline.c:
7089         * lisp.h:
7090         * lrecord.h:
7091         * make-src-depend:
7092         * redisplay-output.c:
7093         * redisplay.c:
7094         * symsinit.h:
7095         * sysfile.h:
7096         * toolbar.c:
7097         * window.c:
7098         The Great GTK Merge.
7099
7100         * ChangeLog.GTK:
7101         * console-gtk.c:
7102         * console-gtk.h:
7103         * device-gtk.c:
7104         * emacs-marshals.c:
7105         * emacs-widget-accessors.c:
7106         * event-gtk.c:
7107         * frame-gtk.c:
7108         * gccache-gtk.c:
7109         * gccache-gtk.h:
7110         * glade.c:
7111         * glyphs-gtk.c:
7112         * glyphs-gtk.h:
7113         * gtk-glue.c:
7114         * gtk-xemacs.c:
7115         * gtk-xemacs.h:
7116         * gui-gtk.c:
7117         * gui-gtk.h:
7118         * menubar-gtk.c:
7119         * native-gtk-toolbar.c:
7120         * objects-gtk.c:
7121         * objects-gtk.h:
7122         * redisplay-gtk.c:
7123         * scrollbar-gtk.c:
7124         * scrollbar-gtk.h:
7125         * select-gtk.c:
7126         * toolbar-gtk.c:
7127         * ui-byhand.c:
7128         * ui-gtk.c:
7129         * ui-gtk.h:
7130         The Great GTK Merge: new files.
7131
7132 2001-02-26  Ben Wing  <ben@xemacs.org>
7133
7134         Reapplied Lstream change.
7135
7136 2001-02-26  Ben Wing  <ben@xemacs.org>
7137
7138         Undid the last change, since it is more controversial than I
7139         thought.  It should be back in at some point soon.
7140         
7141 2001-02-25  Ben Wing  <ben@xemacs.org>
7142
7143         * buffer.c:
7144         * callproc.c (Fold_call_process_internal):
7145         * event-msw.c (ntpipe_slurp_reader):
7146         * event-msw.c (ntpipe_shove_writer):
7147         * event-msw.c (winsock_reader):
7148         * event-msw.c (winsock_writer):
7149         * file-coding.c:
7150         * file-coding.c (detect_eol_type):
7151         * file-coding.c (detect_coding_type):
7152         * file-coding.c (determine_real_coding_system):
7153         * file-coding.c (Fdetect_coding_region):
7154         * file-coding.c (decoding_reader):
7155         * file-coding.c (decoding_writer):
7156         * file-coding.c (mule_decode):
7157         * file-coding.c (Fdecode_coding_region):
7158         * file-coding.c (encoding_reader):
7159         * file-coding.c (encoding_writer):
7160         * file-coding.c (mule_encode):
7161         * file-coding.c (Fencode_coding_region):
7162         * file-coding.c (detect_coding_sjis):
7163         * file-coding.c (decode_coding_sjis):
7164         * file-coding.c (encode_coding_sjis):
7165         * file-coding.c (detect_coding_big5):
7166         * file-coding.c (decode_coding_big5):
7167         * file-coding.c (encode_coding_big5):
7168         * file-coding.c (detect_coding_ucs4):
7169         * file-coding.c (decode_coding_ucs4):
7170         * file-coding.c (encode_coding_ucs4):
7171         * file-coding.c (detect_coding_utf8):
7172         * file-coding.c (decode_coding_utf8):
7173         * file-coding.c (encode_coding_utf8):
7174         * file-coding.c (detect_coding_iso2022):
7175         * file-coding.c (decode_coding_iso2022):
7176         * file-coding.c (encode_coding_iso2022):
7177         * file-coding.c (decode_coding_no_conversion):
7178         * file-coding.c (encode_coding_no_conversion):
7179         * glyphs-x.c (write_lisp_string_to_temp_file):
7180         * gpmevent.c (tty_get_foreign_selection):
7181         * lisp.h:
7182         * lstream.c:
7183         * lstream.c (Lstream_flush_out):
7184         * lstream.c (Lstream_adding):
7185         * lstream.c (Lstream_write_1):
7186         * lstream.c (Lstream_write):
7187         * lstream.c (Lstream_raw_read):
7188         * lstream.c (Lstream_read_more):
7189         * lstream.c (Lstream_read):
7190         * lstream.c (Lstream_unread):
7191         * lstream.c (Lstream_fputc):
7192         * lstream.c (stdio_reader):
7193         * lstream.c (stdio_writer):
7194         * lstream.c (filedesc_reader):
7195         * lstream.c (filedesc_writer):
7196         * lstream.c (lisp_string_reader):
7197         * lstream.c (struct fixed_buffer_stream):
7198         * lstream.c (make_fixed_buffer_input_stream):
7199         * lstream.c (make_fixed_buffer_output_stream):
7200         * lstream.c (fixed_buffer_reader):
7201         * lstream.c (fixed_buffer_writer):
7202         * lstream.c (struct resizing_buffer_stream):
7203         * lstream.c (resizing_buffer_writer):
7204         * lstream.c (dynarr_writer):
7205         * lstream.c (lisp_buffer_reader):
7206         * lstream.c (lisp_buffer_writer):
7207         * lstream.h:
7208         * lstream.h (lstream_implementation):
7209         * lstream.h (struct lstream):
7210         * md5.c (Fmd5):
7211         * process-nt.c (nt_send_process):
7212         * process-unix.c (unix_send_process):
7213         
7214         Correct Lstream lossage due to mixing of signed and unsigned
7215         quantities.  All Lstream uses of size_t and ssize_t are now a
7216         single signed data type Lstream_data_count.  This fixes problems
7217         under Windows with sending large quantities of data to a process,
7218         and may well fix other subtle bugs.
7219
7220 2001-02-23  Martin Buchholz <martin@xemacs.org>
7221
7222         * XEmacs 21.2.45 "Thelxepeia" is released.
7223
7224 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7225
7226         * lisp-union.h (XSETINT): 
7227         (XSETCHAR):
7228         (XSETOBJ): 
7229         Reverse previous change of 2001-02-06.
7230
7231 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7232
7233         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7234         buffers.
7235         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7236         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7237         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7238         * regex.c (POS_AS_IN_BUFFER): removed
7239         * regex.c (re_search_2):
7240         * regex.c (re_match_2):
7241         Don't use an offset of 1 when calculating buffer positions, since
7242         `BI_BUF_BEGV' does it already.
7243
7244 2001-02-18  Wim Dumon  <wim@easics.be>
7245
7246         * insdel.c (prepare_to_modify_buffer): Also check for
7247         supersession when clash-detection is enabled. 
7248
7249 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7250
7251         * regex.c (re_match_2_internal):
7252         Convert temp characters from 'const unsigned char' to 're_char'.
7253         Fix crashing bug with extended characters under mule.
7254         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7255         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7256         font-lock, pdump, and new syntax-table code.
7257         * syntax.c (find_start_of_comment):
7258         (find_end_of_comment):
7259         (forward-comment):
7260         Fix crashing bugs involving moving beyond end of buffer.
7261         * syntax.c (find_start_of_comment):
7262         Fixed logic to allow proper detection of cases where the same
7263         character is used to end both a two-char comment start and a
7264         two-char comment end sequence. Fixes `(forward-comment -1)'.
7265         * syntax.c (find_start_of_comment):
7266         Return position just past last comment-end character for all cases
7267         (previously was only done for two-char comment-end sequences).
7268         * syntax.c (forward-comment):
7269         Take value returned from `find_end_of_comment', rather than
7270         incrementing it.
7271         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7272         Properly deal with BUFFERP (syntax_cache.object)
7273
7274 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7275
7276         * alloc.c (Fgarbage_collect): 
7277         * alloc.c (make_bit_vector_from_byte_vector):
7278         -Wsign-compare-correctness.
7279
7280 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7281
7282         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7283         (XSETCHAR): Likewise.
7284         (XSETOBJ): Likewise.
7285
7286 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7287
7288         * mule-canna.c (canna-func-delete_previous): 
7289         Rename to canna-func-delete-previous.
7290
7291 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7292
7293         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7294
7295 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7296
7297         * font-lock.c (find_context): Fix C++ compile errors introduced by
7298         recent patch
7299
7300 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7301
7302         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7303         pragma, but earlier ones barf on the same pragma.
7304
7305 2001-02-06  Mike Sperber <mike@xemacs.org>
7306
7307         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7308         `configure-mule-lisp-directory'.
7309
7310 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7311
7312         Make sure dump-id.c is compiled in the same way as other .c's.
7313         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7314         * dump-id.h: Remove.
7315         * emacs.c: Move dump-id.h into dumper.h.
7316         * dumper.h: Move dump-id.h into dumper.h.
7317         * Makefile.in.in:
7318         Use standard .c.o rule for building dump-id.o.
7319         Remove preprocessor flags from link command.
7320         Add dump-id.o to ${otherobjs} if PDUMP.
7321
7322 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7323
7324         Port FSF 20.7 syntax table improvements.
7325         * syntax.c.
7326         * syntax.h.
7327
7328         Fixups for new syntax table stuff.
7329         * dired.c: Include syntax.c.
7330         (Fdirectory_files): Initialize regex_match_object and
7331         regex_emacs_buffer.
7332         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7333         and Fget_char_property.
7334
7335         Use ported FSF 20.7 syntax table improvements.
7336         * font-lock.c.
7337         * regex.c.
7338         * search.c.
7339         
7340 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7341
7342         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7343         Unixware's enum boolean from sys/types.h.
7344
7345 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7346
7347         Fix support for building with latest Purify.
7348         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7349         (PURIFY_FLAGS): Likewise.
7350
7351 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7352
7353         * fileio.c (lisp_string_set_file_times): New.
7354         * fileio.c (Fcopy_file): Use it.
7355         Fixes bug:
7356         (copy-file filename non-ascii-filename t t)
7357         ==> No such file or directory, non-ascii-filename
7358
7359 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7360
7361         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7362         USHRT_MAX seems clearer than ~0 anyways.
7363
7364 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7365
7366         dumper improvements.  Inspired by Olivier.
7367         * dumper.c (pdump_max_align): New.
7368         * dumper.c (pdump_add_entry): Use pdump_max_align.
7369         * dumper.c (pdump_get_entry_list): Likewise.
7370         * dumper.c (pdump_scan_by_alignment): Likewise.
7371         Don't iterate through unnecessary alignments.
7372         * dumper.c (pdump_file_get): No need to align result of malloc().
7373         * dumper.c (pdump_mallocadr): Remove.  
7374         The result of malloc() is guaranteed to be maximally aligned.
7375         * dumper.c: s/elmt/elt/g;
7376         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7377         * dumper.c (pdump_alert_undump_object): Likewise.
7378         * dumper.c (pdump_align_table): 
7379         Don't support alignments > 64.
7380         Store ALIGNOF's, not shift counts, in table.
7381
7382 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7383
7384         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7385         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7386         * systime.h: Use HAVE_UTIME.
7387         * sysdep.c (struct utimbuf): Remove.
7388         * sysdep.c (set_file_times): Prefer utime() to utimes().
7389         * config.h.in (HAVE_UTIME): New.
7390         * config.h.in (HAVE_UTIME_H): Remove.
7391         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7392
7393 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7394
7395         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7396
7397 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7398
7399         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7400
7401 2001-02-08  Martin Buchholz <martin@xemacs.org>
7402
7403         * XEmacs 21.2.44 "Thalia" is released.
7404
7405 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7406
7407         Fixes crashes in kill-emacs on some systems.
7408         * process-unix.c (unix_kill_child_process):
7409         It's OK for kill() to fail with ESRCH.
7410
7411 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7412
7413         Contortions to make .gdbinit tricks work on most systems.
7414         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7415         * alloc.c (dbg_valmask): Make non-const.
7416         * alloc.c (dbg_typemask): Make non-const.
7417         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7418         * alloc.c (dbg_valbits): Make non-const.
7419         * alloc.c (dbg_gctypebits): Make non-const.
7420         * .gdbinit (decode_object): Make it work with AIX cc.
7421
7422 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7423
7424         * elhash.c (make_general_lisp_hash_table):
7425         Use simpler and more efficient calloc to clear entries.
7426
7427 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7428
7429         * window.c (window_scroll): Work around an AIX C compiler bug.
7430         Fixes 'scroll-up' does nothing problem with xlC.
7431
7432 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7433
7434         * .gdbinit: Remove obsolete comment.
7435
7436 2001-01-31  Mike Alexander  <mta@arbortext.com>
7437
7438         * select.c (Fown_selection_internal): Set owned_p for device
7439         method correctly.
7440
7441 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7442
7443         Port to g++ 2.97.
7444         "not" cannot be used as a macro name as it is an operator in C++
7445         * config.h.in: Stop #defining `not'.
7446         * chartab.c (check_category_char): not ==> not_p
7447         * chartab.h: Likewise.
7448         * regex.c (re_match_2_internal): Likewise.
7449
7450 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7451
7452         * lisp-disunion.h: Fix up comments.
7453
7454 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7455
7456         * keymap.c (define_key_check_and_coerce_keysym):
7457         (syms_of_keymap):
7458         Support mouse-6 and mouse-7 bindings in the obvious way.
7459
7460 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7461
7462         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7463
7464 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7465
7466         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7467         Previous patch missed DEFVAR_INT_MAGIC.
7468         Make sure future DEFVAR_foo use correct types.
7469         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7470         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7471         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7472         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7473         * (DEFVAR_INT): Likewise.
7474         * redisplay.c (vertical_clip): Should be of type Fixnum.
7475         * redisplay.c (horizontal_clip): Likewise.
7476         * lisp.h (dump_add_opaque_int): New.
7477         (dump_add_opaque_fixnum): New.
7478
7479 2001-01-29  Andy Piper  <andy@xemacs.org>
7480
7481         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7482         since they can be eval'ed
7483
7484 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7485
7486         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7487         Oops, XEmacs redefines `class'.  Use `typename' instead.
7488
7489 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7490
7491         * dumper.c: Fix C++ compile errors.
7492
7493 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7494
7495         * tparam.c: Use correct prototypes.
7496
7497 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7498
7499         * sysproc.h: #include util.h for NetBSD's openpty.
7500
7501 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7502
7503         More 64-bit correctness.
7504         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7505         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7506         Fix up comments.
7507         This finally finishes the 64-bit SGI port.
7508         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7509         * symbols.c: Fix up comments and type casts.
7510         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7511         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7512         * symeval.h (Fixnum): New type.
7513         * symeval.h (symbol_value_type): Fix up comment.
7514
7515         * commands.h:
7516         * nt.c:
7517         * emacs.c:
7518         * data.c:
7519         * redisplay.c:
7520         * abbrev.c:
7521         * dired-msw.c:
7522         * event-Xt.c:
7523         * eldap.c:
7524         * window.c:
7525         * sound.c:
7526         * event-stream.c:
7527         * eval.c:
7528         * buffer.c:
7529         * mule-canna.c: A million DEFVAR_INTs here...
7530         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7531         * extents.c:
7532         * cmdloop.c:
7533         * lisp.h:
7534         * select-x.c:
7535         * console-x.h:
7536         * event-msw.c:
7537         * mule-wnnfns.c:
7538         * hpplay.c:
7539         * ralloc.c:
7540         * alloc.c:
7541         * keymap.c:
7542         * profile.c:
7543         s/int/Fixnum/g in DEFVAR_INT declarations.
7544
7545 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7546
7547         Port pdump to SGI alignment-sensitive environment.
7548         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7549         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7550         properly aligned.
7551         Define and use aligned reading and writing macros.
7552         Use buffered stdio instead of posix i/o for faster dumping.
7553         Eliminate kludgy 256 byte space for header.
7554         Read and write from dump file using structs for alignment safety.
7555         * dumper.c (pdump_align_stream): New.
7556         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7557         * dumper.c (PDUMP_READ_ALIGNED): New.
7558         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7559         * dumper.c (pdump_static_Lisp_Object): New struct.
7560         * dumper.c (pdump_static_pointer): New struct.
7561         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7562         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7563         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7564         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7565
7566         * dumper.c (pdump_backtrace):
7567         * dumper.c (pdump_get_indirect_count):
7568         * dumper.c (pdump_register_object):
7569         * dumper.c (pdump_register_struct):
7570         * dumper.c (pdump_reloc_one):
7571         * dumper.c (pdump_scan_by_alignment):
7572         * dumper.c (pdump_dump_from_root_struct_ptrs):
7573         * dumper.c (pdump_dump_opaques):
7574         * dumper.c (pdump_dump_rtables):
7575         * dumper.c (pdump_dump_from_root_objects):
7576         * dumper.c (pdump):
7577         * dumper.c (pdump_load_finish):
7578         Use aligned reading and writing.
7579
7580         * dumper.c (pdump_free): Make static.
7581         * dumper.c (pdump_hFile): Likewise.
7582         * dumper.c (pdump_hMap): Likewise.
7583
7584 2001-01-26  Martin Buchholz <martin@xemacs.org>
7585
7586         * XEmacs 21.2.43 "Terspichore" is released.
7587
7588 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7589
7590         Type fiddling for window_config.saved_windows_count
7591         * window.c (struct window_config): 
7592         Make saved_windows_count member unsigned.
7593         * window.c (sizeof_window_config_for_n_windows): 
7594         Make parameter unsigned.
7595         * window.c (mark_window_config):
7596         * window.c (window_config_equal):
7597         * window.c (free_window_configuration):
7598         * window.c (Fset_window_configuration):
7599         * window.c (count_windows):
7600         * window.c (Fcurrent_window_configuration):
7601         * window.c (reinit_vars_of_window):
7602         Update all callers and users.
7603
7604 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7605
7606         Alignment correctness for flexible arrays.
7607         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7608         Make alignment-correct. Add interesting comments.
7609         * alloc.c (size_vector):
7610         * alloc.c (make_vector_internal):
7611         * alloc.c (make_bit_vector_internal):
7612         * alloc.c (sweep_bit_vectors_1):
7613         * fns.c (size_bit_vector):
7614         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7615         * window.c (sizeof_window_config_for_n_windows): 
7616         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7617
7618 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7619
7620         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7621
7622 2001-01-23  Andy Piper  <andy@xemacs.org>
7623
7624         * select.c (Fown_selection_internal): pass owned_p
7625
7626         * select-msw.c (mswindows_own_selection): New Signature.
7627
7628         * console.h (struct console_methods): add owned_p to
7629         _own_selection.
7630
7631         * select-x.c (x_own_selection): pass owned_p
7632         (hack_motif_clipboard_selection): use owned_p
7633         (vars_of_select_x): new variable -
7634         x_selection_strict_motif_ownership.
7635
7636 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7637
7638         * specifier.h (specifier_data_offset): Remove pointless parens.
7639         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7640
7641 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7642
7643         Make Lisp_Object sizeof methods be alignment-correct.
7644         pdump must restore objects to the same alignment as the C compiler
7645         assumes.  It really matters on SGIs.
7646         * lstream.c (aligned_sizeof_lstream): New.
7647         (sizeof_lstream): Use aligned_sizeof_lstream.
7648         (Lstream_new): Likewise.
7649         * opaque.c (aligned_sizeof_opaque): New.
7650         (sizeof_opaque): Use aligned_sizeof_opaque.
7651         (make_opaque): Likewise.
7652         * specifier.c (aligned_sizeof_specifier): New.
7653         (sizeof_specifier): Use aligned_sizeof_specifier.
7654         (make_specifier_internal): Likewise.
7655
7656 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7657
7658         * lstream.h (struct lstream): Use max_align_t for trailing data.
7659         * specifier.h (struct Lisp_Specifier): Likewise.
7660
7661 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7662
7663         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7664         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7665         (CCL_SUSPEND): Likewise.
7666         (CCL_INVALID_CMD): Likewise.
7667         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7668         (ccl_driver): Likewise.
7669         (CCL_WRITE_CHAR): Macro hygiene.
7670         (CCL_WRITE_STRING): Macro hygiene.
7671
7672 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7673
7674         Port "portable" dumper to SunOS 4 and HP-UX.
7675         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7676         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7677         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7678
7679 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7680
7681         * lisp.h (ALIGNOF): A better definition for C++.
7682
7683 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7684
7685         Macro hygiene.
7686         Fix printf warnings: int format, long int arg.
7687         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7688         (PUSH_FAILURE_POINT): Use correct printf formats.
7689         (POP_FAILURE_POINT): Use correct printf formats.  
7690         Use do {...} while (0)
7691
7692 2001-01-20  Martin Buchholz <martin@xemacs.org>
7693
7694         * XEmacs 21.2.42 "Poseidon" is released.
7695
7696 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7697
7698         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7699
7700 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7701
7702         De-kludgify FIXED_TYPE free list frobbing.
7703         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7704         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7705         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7706         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7707         * alloc.c (LRECORD_FREE_P): New.
7708         * alloc.c (MARK_LRECORD_AS_FREE): New.
7709         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7710         * alloc.c (STRUCT_FREE_P): Deleted.
7711         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7712         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7713         * alloc.c (STRING_CHARS_FREE_P): New.
7714         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7715         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7716         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7717         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7718         * alloc.c (resize_string): Use new definitions.
7719         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7720         * alloc.c (verify_string_chars_integrity): Use new definitions.
7721         * alloc.c (compact_string_chars): Use new definitions.
7722         * alloc.c: Update monster comments.
7723         * lrecord.h (lrecord_type): Add some new lrecord types for
7724         alloc.c's use.
7725
7726 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7727
7728         Improve alignment hackery.
7729         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7730         (max_align_t): Moved from opaque.h - general purpose.
7731         (ALIGN_PTR): Use size_t, not long.
7732         * opaque.h (max_align_t): Move to lisp.h.
7733
7734 2001-01-18  Norbert Koch  <nk@LF.net>
7735
7736         * gui.h: Fix and add prototypes to fix build problems.
7737
7738 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7739
7740         temacs is going away, so `dump-temacs' is now a bad name.
7741         * .dbxrc (dump-temacs): Rename to `dmp'.
7742         * .gdbinit (dump-temacs): Rename to `dmp'.
7743
7744 2001-01-17  Andy Piper  <andy@xemacs.org>
7745
7746         * glyphs.c (print_image_instance): comment to make martin happy.
7747
7748         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7749         change.
7750
7751         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7752         activation.
7753         (mswindows_tab_control_redisplay): warning suppression.
7754
7755         * glyphs-widget.c (widget_update): re-write to cope with updated
7756         items.
7757         (widget_instantiate): use new gui_item functions.
7758         (tab_control_update): deleted.
7759         (progress_gauge_update): deleted.
7760         (image_instantiator_progress_guage): take out update reference.
7761         (image_instantiator_tree_view): ditto.
7762         (image_instantiator_tab_control): ditto.
7763
7764         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7765         Right the new way.
7766         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7767         return whether anything was changed.
7768         (update_gui_item_keywords): as it sounds.
7769
7770         * gui.h: declare widget_gui_parse_item_keywords.
7771
7772         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7773         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7774
7775 2001-01-17  Martin Buchholz <martin@xemacs.org>
7776
7777         * XEmacs 21.2.41 "Polyhymnia" is released.
7778
7779 2001-01-16  Didier Verna  <didier@xemacs.org>
7780
7781         * glyphs.c (image_instantiate): don't use fallbacks when
7782         instantiating a face's background pixmap by inheritance.
7783
7784 2001-01-14  Mike Sperber <mike@xemacs.org>
7785
7786         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7787         Conditionalize accordingly.
7788
7789 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7790
7791         * dumper.c (pdump_file_get): Fix a compiler warning.
7792
7793 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7794
7795         Make Purify happy when pdumping.
7796         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7797         iniitalizing all bits of new lisp object memory.
7798         * symbols.c (Fmake_local_variable): Likewise.
7799         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7800         * symbols.c (Fdefvaralias): Likewise.
7801         * mule-charset.c (vars_of_mule_charset): Likewise.
7802
7803 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7804         Add the `-nd' flag when running pre-dump operations under the debugger.
7805         * .dbxrc (run-temacs): Add `-nd'.
7806         * .dbxrc (update-elc): Likewise.
7807         * .dbxrc (dump-temacs): Likewise.
7808         * .gdbinit (run-temacs): Likewise.
7809         * .gdbinit (check-temacs): Likewise.
7810         * .gdbinit (update-elc): Likewise.
7811         * .gdbinit (dump-temacs): Likewise.
7812
7813 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7814
7815         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7816         export OBJECT_MODE=64
7817         configure --pdump --use-union-type=no
7818         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7819         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7820
7821         * miscplay.c (sndcnv8U_2mono):
7822         Avoid two uses of `++' in the same expression.
7823         Suppresses a GCC warning.
7824
7825 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7826
7827         Make sure future compilers don't miscompile alloc.c.
7828         * alloc.c:
7829         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7830         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7831
7832 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7833
7834         * dumper.c: A little post-pdump-rename comment fixup.
7835
7836 2001-01-09  Jerry James  <james@eecs.ku.edu>
7837
7838         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7839
7840 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7841
7842         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7843         script:
7844         #!/bin/sh
7845         replace_symbol () {
7846           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7847         }
7848
7849         replace_symbol pdump_wire_lists pdump_weak_object_chains
7850         replace_symbol pdump_wire_list dump_add_weak_object_chain
7851
7852         replace_symbol pdump_wires pdump_root_objects
7853         replace_symbol pdump_wire dump_add_root_object
7854
7855         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7856         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7857
7858         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7859         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7860         replace_symbol dumpstructinfo pdump_root_struct_ptr
7861         replace_symbol dumpstruct dump_add_root_struct_ptr
7862
7863         replace_symbol dumpopaque dump_add_opaque
7864         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7865         replace_symbol dumpopaqueinfos pdump_opaques
7866         replace_symbol dumpopaqueinfo pdump_opaque
7867
7868         replace_symbol nb_structdump nb_root_struct_ptrs
7869         replace_symbol nb_opaquedump nb_opaques
7870
7871         replace_symbol align_table pdump_align_table
7872         replace_symbol dump_header pdump_header
7873
7874         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7875         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7876
7877
7878 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7879
7880         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7881         optimizing bytecount_to_charcount().
7882
7883 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7884
7885         * config.h.in:
7886         (HAVE_DLFCN_H): Removed.
7887         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7888
7889 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7890
7891         Portable dumper maintainability improvements.
7892         * alloc.c (staticpro):
7893         * alloc.c (staticpro_nodump):
7894         * alloc.c (garbage_collect_1):
7895         * alloc.c (reinit_alloc_once_early):
7896         * alloc.c (init_alloc_once_early):
7897         * alloc.c: Move dumper functions to alloc.c.
7898         * dumper.c (pdump_backtrace):
7899         * dumper.c (pdump_dump_structs):
7900         * dumper.c (pdump_dump_opaques):
7901         * dumper.c (pdump_dump_rtables):
7902         * dumper.c (pdump_dump_wired):
7903         * dumper.c (pdump):
7904         * dumper.c (pdump_load_check):
7905         * dumper.c (pdump_load_finish):
7906         * dumper.c (pdump_file_unmap):
7907         * dumper.c (pdump_file_get):
7908         * dumper.c (pdump_resource_free):
7909         * dumper.c (pdump_resource_get):
7910         * dumper.c (pdump_file_free):
7911         * dumper.c (pdump_file_try):
7912         * dumper.c (pdump_load):
7913         Remove fixed size limits on staticpro(), staticpro_nodump(),
7914         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7915         Remove custom code for dumping lrecord_implementations_table - use
7916         dumpopaque instead.
7917         Remove (most of the) custom code for dumping staticpros - dump it
7918         like any other dynarr.
7919
7920         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7921         * dumper.c: Moved functions from alloc.c.
7922         * alloc.c (dumpstruct): Moved to dumper.c.
7923         * alloc.c (dumpopaque): Likewise.
7924         * alloc.c (pdump_wire): Likewise.
7925         * alloc.c (pdump_wire_list): Likewise.
7926
7927         * lisp.h (Dynarr_sizeof): New.
7928         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7929         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7930         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7931
7932         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7933         * lisp.h (dumpopaque): ditto.
7934         * lisp.h (pdump_wire): ditto.
7935         * lisp.h (pdump_wire_list): ditto.
7936
7937 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7938
7939         * make-src-depend (PrintPatternDeps):
7940         Use `sort' to make output independent of perl version.
7941
7942 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7943
7944         Port to Netbsd 1.5.
7945         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7946         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7947
7948 2001-01-03  Didier Verna  <didier@xemacs.org>
7949
7950         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7951         that `focus_frame' is alive before thinking of calling
7952         `redisplay_redraw_cursor' on it.
7953
7954 2001-01-08  Martin Buchholz <martin@xemacs.org>
7955
7956         * XEmacs 21.2.40 is released.
7957
7958 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7959
7960         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7961
7962 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7963
7964         * alloc.c (dbg_valmask): Make const.
7965         * alloc.c (dbg_typemask): Make const.
7966         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7967         * alloc.c (dbg_valbits): Make const.
7968         * alloc.c (dbg_gctypebits): Make const.
7969
7970 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7971
7972         * redisplay-x.c (x_bevel_area):
7973         redisplay.h (struct rune):
7974         Typo fixes in comments.
7975
7976 2001-01-05  Andy Piper  <andy@xemacs.org>
7977
7978         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7979         adjustment.
7980
7981         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7982
7983 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7984
7985         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7986
7987         * mule-ccl.c (stack_idx_of_map_multiple):
7988         Non const global data must not be initialized!
7989         Found by MIYASHITA Hisashi.
7990
7991 2001-01-02  Andy Piper  <andy@xemacs.org>
7992
7993         * frame.c (change_frame_size): make sure frame size is always
7994         marked as changed.
7995
7996         * glyphs.c (image_instance_layout): minor code reuse.
7997
7998         * window.c (Fcurrent_window_configuration): revert previous
7999         change.
8000
8001 2001-01-02  Martin Buchholz  <martin@xemacs.org>
8002
8003         * glyphs.h:
8004         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
8005
8006 2000-12-31  Andy Piper  <andy@xemacs.org>
8007
8008         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
8009         when widget gets unmapped.
8010
8011         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
8012         function. Make sure widgets losing focus don't just drop it.
8013         (handle_focus_event_1): record the widget with focus.
8014
8015 2000-12-31  Andy Piper  <andy@xemacs.org>
8016
8017         * window.c (allocate_window): use
8018         make_image_instance_cache_hash_table.
8019         (make_dummy_parent): ditto.
8020         (Fset_window_configuration): ditto.
8021
8022         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
8023
8024         * glyphs.c (process_image_string_instantiator): use
8025         INSTANTIATOR_TYPE.
8026         (get_image_instantiator_governing_domain): ditto.
8027         (normalize_image_instantiator): ditto.
8028         (instantiate_image_instantiator): ditto.
8029         (make_image_instance_1): ditto.
8030         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8031         (instantiator_eq_equal): new function for use with instance hash
8032         tables.
8033         (instantiator_eq_hash): ditto.
8034         (make_image_instance_cache_hash_table): create a suitable hash
8035         table for storing image instances.
8036
8037         * elhash.h (hash_table_weakness): new internal weakness type
8038         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8039         declare new functions.
8040
8041         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8042         another weakness type for glyphs.
8043         (make_standard_lisp_hash_table): new function split out from
8044         make_general_lisp_hash_table.
8045         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8046         (hash_table_instantiate): ditto.
8047         (Fmake_hash_table): ditto.
8048
8049 2000-12-31  Martin Buchholz <martin@xemacs.org>
8050
8051         * XEmacs 21.2.39 is released.
8052
8053 2000-12-29  Andy Piper  <andy@xemacs.org>
8054
8055         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8056
8057         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8058         the frame has changed so that we pick up geometry changes such as
8059         menubar visibility.
8060
8061 2000-12-28  Andy Piper  <andy@xemacs.org>
8062
8063         * lastfile.c (my_ebss): make a char array so we can pad the
8064         bss. Fixes cygwin unexec.
8065
8066         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8067
8068 2000-12-26  Andy Piper  <andy@xemacs.org>
8069
8070         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8071         comments and try and be more precise about a non-/SIGIO world.
8072         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8073         SIGIO.
8074
8075         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8076         we don't normalize to zero width or height.
8077
8078 2000-12-24  Andy Piper  <andy@xemacs.org>
8079
8080         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8081
8082 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8083
8084         * s/sco5.h: SCO 5 has pty support.
8085
8086 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8087
8088         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8089         input-method-xlib.c contains whole contents of input-method-xfs.c,
8090         so we can use input-method-xlib.c's code for USE_XFONTSET
8091         using #ifdefs.
8092         * input-method-xfs.c: removed.
8093
8094 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8095
8096         * file-coding.h (enum coding_category_type): reorder enumerators to
8097         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8098         (now one greater than largest real coding_category_type enumerator).
8099         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8100         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8101         Fcoding_category_list, Fset_coding_priority_list,
8102         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8103         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8104
8105 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8106
8107         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8108         * redisplay-output.c (redisplay_output_window): Clear top of window
8109         when face is changed.
8110         * redisplay-x.c (x_redraw_exposed_window): Call
8111         redisplay_clear_top_of_window.
8112         * redisplay.h: Publish redisplay_clear_top_of_window.
8113
8114 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8115
8116         * buffer.c (Fkill_buffer): Map over all devices.
8117         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8118         (list_windows): New function.
8119         (list_all_windows): Ditto.
8120         (Freplace_buffer_in_windows): Use them.
8121
8122 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8123
8124         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8125         (Fopen_database): Use `db_create' instead of `db_open'.
8126         (syms_of_database): Initialize Qqueue.
8127
8128 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8129
8130         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8131         buffer_local_face_property.
8132         * buffer.h (struct buffer): New member buffer_local_face_property.
8133         * window.c (Fset_window_buffer):  Mark window's face as changed
8134         when buffer has buffer local face.
8135         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8136         * objects.c (color_after_change): Set buffer_local_face_property
8137         when locale of face specifier is buffer.
8138         * objects.c (font_after_change): Ditto.
8139         * objects.c (face_boolean_after_change): Ditto.
8140         * glyphs.c (image_after_change): Ditto.
8141
8142 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8143
8144         * nt.c (mswindows_fstat): Report file permissions, volume serial
8145         number, etc. Code adapted from FSF Emacs 20.7.
8146
8147 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8148
8149         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8150         of stat when we don't have symbolic links, to make sure
8151         mswindows_stat is called on mswindows.
8152
8153 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8154
8155         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8156
8157 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8158
8159         * doprnt.c (emacs_doprnt_1): More printing fixes.
8160         Make printing of numbers compatible with libc and FSF Emacs.
8161         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8162         Use the system printf to do most of the hard work of formatting,
8163         instead of doprnt_1().
8164         Calculate memory to allocate for format string.
8165         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8166         (doprnt_1): Cleaner code and documentation.
8167
8168 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8169
8170         * Makefile.in.in: Use the loop variable to install headers.
8171
8172 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8173
8174         * window.c (Fsplit_window): Don't invalidate face cache.
8175
8176 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8177
8178         * minibuf.c (Fall_completions): Undo the previous change
8179         which removed checking elements start with space.
8180
8181 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8182
8183         * mule-canna.c: Didier suppression.
8184
8185 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8186
8187         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8188         (warning suppression).  Add English comment translations.
8189
8190 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8191
8192         * unexelfsgi.c (unexec): Better test for mmap failure.
8193
8194 2000-12-05  Martin Buchholz <martin@xemacs.org>
8195
8196         * XEmacs 21.2.38 is released.
8197
8198 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8199
8200         * redisplay.c (bar-cursor): Make a user variable.
8201
8202         * symsinit.h: Add init_postgresql_from_environment.
8203
8204 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8205
8206         * regex.c: Convert to clean C.
8207
8208 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8209
8210         * realpath.c:
8211         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8212         initialization.
8213         (sys_readlink): renamed to system_readlink to avoid conflict with
8214         the other sys_readlink.
8215
8216 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8217
8218         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8219
8220 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8221
8222         * postgresql.c (init_postgresql_from_environment): new function.
8223         (vars_of_postgresql): Move code initializing Lisp variables out and
8224         into init_postgresql_from_environment.
8225         emacs.c (main_1): Call init_postgresql_from_environment if and only
8226         if running a dumped XEmacs.
8227
8228 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8229
8230         * buffer.c: Make find-file-compare-truenames default to true on
8231         windows.
8232
8233         * realpath.c (win32_abs_start):
8234         (cygwin_readlink):
8235         (win32_readlink): New functions.
8236         (xrealpath): Return really real filenames on windows.
8237
8238         * fileio.c (Ffile_truename): Make file-truename work on windows.
8239
8240 2000-11-29  Didier Verna  <didier@xemacs.org>
8241
8242         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8243         * faces.c (update_face_cachel_data): use it.
8244         * faces.c (add_face_cachel): use it. Complete background pixmap
8245         frobbing in face cache if `update_face_cachel_data' has not done so.
8246
8247 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8248
8249         * search.c (string_match_1): Don't set last_thing_searched
8250         when search failed.
8251
8252 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8253
8254         * buffer.c: Include casetab.h
8255         (common_init_complex_vars_of_buffer): Use new case-table object.
8256         * buffer.h: Include casetab.h
8257         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8258         (DOWNCASE_TABLE_OF): Ditto.
8259         * bufslots.h: Remove char-tables and add case-table.
8260         * casetab.c: Include casetab.h
8261         (CASE_TABLE_P): Removed.
8262         (mark_case_table): New function.
8263         (allocate_case_table): New function.
8264         (Fcase_table_p): Use new case-table.
8265         (case_table_char): New function.
8266         (Fget_case_table): Ditto.
8267         (Fput_case_table): Ditto.
8268         (Fput_case_table_pair): Ditto.
8269         (Fcopy_case_table): Ditto.
8270         (Fcurrent_case_table): Return case-table.
8271         (Fstandard_case_table): Return case-table.
8272         (Fset_case_table): Fix doc-string.
8273         (set_case_table): Use case-table
8274         (syms_of_casetab): DEFSUBR new functions.
8275         (complex_vars_of_casetab): Set up standard case-table.
8276         * casetab.h: New file.
8277         * editfns.c: Include casetab.h
8278         (Fcompare_buffer_substrings): Use case-table.
8279         * inline.c: Include casetab.h
8280         * lisp.h: Remove bogus extern.
8281         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8282         * search.c: Include casetab.h
8283         (TRANSLATE_ASCII): Removed.
8284         (TRANSLATE): Unconditionally translate character.
8285         (looking_at_1): Use case-table.
8286         (string_match_1): Ditto.
8287         (fast_string_match): Ditto.
8288         (search_command): Ditto.
8289         (search_buffer): Separate boyer_moore.  Check whether
8290         boyer_moore is possible.
8291         (simple_search): New function.
8292         (boyer_moore): Separated from search_buffer. Translate char.
8293
8294 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8295
8296         * regex.c (RE_TR_ASCII): Removed.
8297         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8298         (PATFETCH): Call PATFETCH_RAW.
8299         (PATFETCH_RAW): Fetch Emchar.
8300         (PATUNFETCH): Decrement charptr.
8301         (GET_BUFFER_SPACE): Rename b to buf_end.
8302         (BUF_PUSH): Ditto.
8303         (BUF_PUSH_2): Ditto.
8304         (BUF_PUSH_3): Ditto.
8305         (EXTEND_BUFFER): Ditto.
8306         (SET_LIST_BIT): Ditto.
8307         (regex_compile): Ditto.  Translate non ASCII char.
8308         (compile_range): Ditto.
8309         (re_search_2): Ditto.
8310         (re_match_2_internal): Compare Emchar.
8311         (bcmp_translate): Ditto.
8312
8313 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8314
8315         * lisp.h (basic char/int typedefs):  comment improvement.
8316
8317 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8318
8319         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8320         unstomp inhibit_site_lisp.  Improve comments.
8321
8322 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8323
8324         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8325
8326 2000-11-28  Andy Piper  <andy@xemacs.org>
8327
8328         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8329         clipped display for windows in the gutter also.
8330         (redisplay_display_boxes_in_window_p): change semantics of return
8331         codes to be more intuitive.
8332
8333         * gutter.h: declare display_boxes_in_gutter_p.
8334
8335         * gutter.c (display_boxes_in_gutter_p): new function for
8336         redisplay.
8337
8338 2000-11-22  Andy Piper  <andy@xemacs.org>
8339
8340         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8341         autodetect domain.
8342
8343 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8344
8345         * callproc.c (Fold_call_process_internal):
8346         * gpm.c (Freceive_gpm_event):
8347         (tty_get_foreign_selection): Might be just warning supression.
8348         * fileio.c (Fwrite_region_internal):
8349         (Fset_visited_file_modtime):
8350         * keymap.c (event_matches_key_specifier_p):
8351         Initialize GCPROed variable.
8352
8353         * menubar-x.c (command_builder_find_menu_accelerator):
8354         Initialize before use.
8355
8356 2000-11-23  Andy Piper  <andy@xemacs.org>
8357
8358         * unexcw.c (unexec): make the resulting executable executable.
8359
8360 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8361
8362         * doc.c (get_doc_string):
8363         Use size_t, not int, for result of XSTRING_LENGTH.
8364
8365         * cmds.c (Fdelete_char):
8366         * cmds.c (Fpoint_at_eol):
8367         * cmds.c (Fself_insert_command):
8368         Use EMACS_INT, not int, for result of XINT.
8369         Someday, someone will want to insert more than 2**31 identical characters.
8370
8371         * cmds.c (Fdelete_char):
8372         * cmds.c (Fdelete_backward_char):
8373         * syntax.c (Fforward_word):
8374         * syntax.c (Fforward_comment):
8375         Make COUNT argument optional, for consistency with forward-char et al.
8376
8377 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8378
8379         * lisp.h:
8380         * print.c (long_to_string):
8381         Return a useful value: the pointer at end of data written.
8382
8383         * doprnt.c:
8384         Use `static const char * const' for constant strings.
8385         (union printf_arg): Delete `i', `ui' members.
8386         (get_doprnt_args):
8387         (emacs_doprnt_1):
8388         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8389         Do all printf-ing via the `l' specifier.
8390         Use EMACS_INT instead of int.
8391         Optimize.
8392
8393 2000-11-20  Didier Verna  <didier@xemacs.org>
8394
8395         * faces.c (update_face_cachel_data): don't frob the background
8396         pixmap when the window is being created. The face is needed but
8397         does not exist yet.
8398
8399 2000-11-20  Andy Piper  <andy@xemacs.org>
8400
8401         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8402         messing with a debug environment.
8403
8404 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8405
8406         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8407
8408 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8409
8410         * casetab.c (Fcase_table_p): Fix compile error and crash.
8411
8412 2000-11-18  Philip Aston  <philipa@mail.com>
8413
8414         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8415
8416 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8417
8418         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8419         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8420
8421 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8422
8423         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8424         * unexelf.c: Use HAVE_ELF_H.
8425         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8426         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8427         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8428         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8429         for testing.
8430         So this is an unexelfsgi.c from a different line of development.
8431
8432 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8433
8434         * regex.c (RE_TR_ASCII): New function.
8435         (RE_TRANSLATE): Call it.
8436
8437 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8438
8439         * buffer.h (TRT_TABLE_OF): Remove assert.
8440         (IN_TRT_TABLE_DOMAIN): Removed.
8441
8442 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8443
8444         * free-hook.c (log_gcpro):
8445         (show_gcprohist): Add support for GCPRO5.
8446
8447 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8448
8449         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8450
8451 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8452
8453         * symeval.h: Declare flush_all_buffer_local_cache.
8454
8455         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8456         (flush_buffer_local_cache): Added.
8457         (flush_all_buffer_local_cache): Added.
8458
8459         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8460
8461         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8462         (pdump_dump_data): Ditto.
8463         (pdump_reloc_one): Ditto.
8464         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8465         before dumping.
8466
8467
8468 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8469
8470         * buffer.c: Remove if 0'ed entry.
8471         * buffer.h: Rewrite TRT to use char-table.
8472         * bufslots.h: Remove mirror tables.
8473         * casetab.c: Remove mirror tables.
8474         (CASE_TABLE_P): New macro.
8475         (Fcase_table_p): Element of a case table is string or char-table.
8476         (make_mirror_trt_table): Removed.
8477         (set_case_table): Setup char-table from strings for backward
8478         compatibility.
8479         * dired.c (Fdirectory_files):
8480         * dired-msw.c: (mswindows_get_files):
8481         * lisp.h: Change prototype of re_pattern_buffer.
8482         * regex.c: (RE_TRANSLATE): New macro.
8483         (TRANSLATE_P): Ditto.
8484         Change translate to type RE_TRANSLATE_TYPE.
8485         * regex.h: Define RE_TRANSLATE_TYPE
8486         * search.c (TRANSLATE): New macro.
8487         (TRANSLATE_ASCII): New macro.
8488         Translate table is changed to Lisp_Object.
8489         (signal_failure): Inhibit return.
8490
8491 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8492
8493         * device-msw.c:
8494         * eldap.c:
8495         * event-Xt.c:
8496         * event-stream.c:
8497         * print.c:
8498         Do UNGCPRO before return.
8499
8500 2000-11-14  Martin Buchholz <martin@xemacs.org>
8501
8502         * XEmacs 21.2.37 is released.
8503
8504 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8505
8506         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8507         Add comments about discarded return value.
8508
8509 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8510
8511         * callint.c:
8512         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8513
8514 2000-10-27  Andy Piper  <andy@xemacs.org>
8515
8516         * gutter.c (Fset_default_gutter_position): default left and right
8517         gutters to visible.
8518         (calculate_gutter_size): calculate resonable heuristic for left
8519         and right gutter sizes.
8520         (specifier_vars_of_gutter): change left and right gutter sizes to
8521         autodetect.
8522         (calculate_gutter_size_from_display_lines): new function.
8523         (output_gutter): check for resizing on left and right gutters.
8524         (clear_gutter): don't special case top and left gutters.
8525         (specifier_vars_of_gutter): use new signature for
8526         set_specifier_caching.
8527
8528         * glyphs-x.c (x_redisplay_widget): spelling fix.
8529         * glyphs.c (specifier_vars_of_glyphs):
8530         * menubar.c (specifier_vars_of_menubar):
8531         * redisplay.c (specifier_vars_of_redisplay):
8532         * toolbar.c (specifier_vars_of_toolbar):
8533         * window.c (specifier_vars_of_window):
8534         * scrollbar.c (specifier_vars_of_scrollbar):
8535         (complex_vars_of_scrollbar): use new signature for
8536         set_specifier_caching.
8537
8538         * specifier.c (set_specifier_caching): include recompute flag.
8539         (recompute_one_cached_specifier_in_window): always recompute if
8540         flag set.
8541         (recompute_one_cached_specifier_in_frame): ditto.
8542
8543         * specifier.h (struct specifier_caching): add recompute flag.
8544
8545 2000-10-24  Andy Piper  <andy@xemacs.org>
8546
8547         * unexcw.c (copy_executable_and_dump_data_section): add new
8548         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8549         5.0 happy.
8550
8551 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8552
8553         * console-x.h (x_device): New member modifier_release_time.
8554         * event-Xt.c (x_handle_sticky_modifiers):
8555         Bound interval modifier keys are sticky.
8556         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8557         * events.h: extern it.
8558
8559 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8560
8561         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8562
8563 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8564
8565         * event-stream.c (execute_command_event): Preserve current_events
8566         and the like when event is misc-user-event.
8567         Inhibit quit during the call to maybe_echo_keys.
8568
8569 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8570
8571         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8572         symlink when buffer is killed.
8573         (inhibit_clash_detection): New variable.
8574
8575 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8576
8577         * console.c (Fset_input_method): Trigger redisplay on tty.
8578
8579 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8580
8581         * process.c (Fprocess_status): Revert to previous behavior:
8582         (process-status "nosuchprocess") ==> nil
8583
8584 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8585
8586         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8587         Work around another GCC 2.95.2 optimizer bug.
8588
8589 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8590
8591         * process.c (Fget_process): Use LIST_LOOP_2.
8592         (kill_buffer_processes): Use LIST_LOOP_2.
8593
8594         * minibuf.c (Fall_completions):
8595         Delete old non-functional code for FSF fourth argument.
8596
8597         * frame.c (frame_matches_frame_spec):
8598         Renamed from `frame_matches_frametype'.  Update all callers.
8599         (device_matches_device_spec):
8600         Renamed from 'device_matches_console_spec'.  Update all callers.
8601
8602         * doc.c (Fsubstitute_command_keys):
8603         Remove buffer overflow crash.  Small code cleanups.
8604
8605         * casetab.c (check_case_table): Simpler code.
8606
8607         * window.c (Freplace_buffer_in_windows):
8608         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8609         (and similar implementation) as Fdelete_windows_on.
8610         Update all callers.
8611
8612         * alloc.c (Fmake_list):
8613         * alloc.c (make_vector):
8614         * alloc.c (Fmake_vector):
8615         * alloc.c (make_bit_vector):
8616         * alloc.c (Fmake_bit_vector):
8617         * alloc.c (Fbit_vector):
8618         * alloc.c (Fmake_string):
8619         * alloc.c (Fpurecopy):
8620         * alloc.c (Fmemory_limit):
8621         * buffer.c:
8622         * buffer.c (Fget_buffer):
8623         * buffer.c (Fkill_buffer):
8624         * buffer.c (complex_vars_of_buffer):
8625         * bytecode.c (Fcompiled_function_stack_depth):
8626         * callint.c (Fprefix_numeric_value):
8627         * event-stream.c:
8628         * event-stream.c (Fread_key_sequence):
8629         * casetab.c:
8630         * casetab.c (Fcase_table_p):
8631         * casetab.c (check_case_table):
8632         * casetab.c (Fset_case_table):
8633         * casetab.c (Fset_standard_case_table):
8634         * chartab.c:
8635         * chartab.c (Fchar_table_type):
8636         * chartab.c (Freset_char_table):
8637         * chartab.c (Fget_char_table):
8638         * chartab.c (Fget_range_char_table):
8639         * chartab.c (Fput_char_table):
8640         * chartab.c (Fmap_char_table):
8641         * chartab.c (Fcategory_table_p):
8642         * chartab.c (Fcheck_category_at):
8643         * chartab.c (Fchar_in_category_p):
8644         * chartab.c (Fcategory_table):
8645         * chartab.c (Fcopy_category_table):
8646         * chartab.c (Fset_category_table):
8647         * chartab.c (Fcategory_designator_p):
8648         * chartab.c (Fcategory_table_value_p):
8649         * cmds.c (Fdelete_char):
8650         * cmds.c (Fdelete_backward_char):
8651         * cmds.c (Fself_insert_command):
8652         * cmds.c (Fself_insert_internal):
8653         * console.c (Fvalid_console_type_p):
8654         * console.c (Fcdfw_console):
8655         * console.c (Fconsole_type):
8656         * console.c (Fconsole_name):
8657         * console.c (Fconsole_device_list):
8658         * console.c (Fconsole_on_window_system_p):
8659         * data.c:
8660         * data.c (Feq):
8661         * data.c (Fold_eq):
8662         * data.c (Fsubr_interactive):
8663         * data.c (Fchar_to_int):
8664         * data.c (Fint_to_char):
8665         * data.c (Fsetcar):
8666         * data.c (Fsetcdr):
8667         * data.c (Fnumber_to_string):
8668         * data.c (Fstring_to_number):
8669         * data.c (Frem):
8670         * database.c (mark_database):
8671         * database.c (finalize_database):
8672         * database.c (Fdatabase_live_p):
8673         * database.c (Fdatabasep):
8674         * device-x.c (Fx_get_resource):
8675         * device.c (Fdfw_device):
8676         * dired.c:
8677         * dired.c (Ffile_name_completion):
8678         * dired.c (Ffile_name_all_completions):
8679         * dired.c (Fuser_name_completion):
8680         * dired.c (Fuser_name_completion_1):
8681         * dired.c (Fuser_name_all_completions):
8682         * doc.c (Fdocumentation):
8683         * doc.c (Fdocumentation_property):
8684         * doc.c (Fsubstitute_command_keys):
8685         * editfns.c:
8686         * editfns.c (Fchar_to_string):
8687         * editfns.c (Fstring_to_char):
8688         * editfns.c (Ftemp_directory):
8689         * editfns.c (Finsert_char):
8690         * editfns.c (Fbuffer_substring_no_properties):
8691         * editfns.c (Fnarrow_to_region):
8692         * editfns.c (Fchar_equal):
8693         * editfns.c (Fchar_Equal):
8694         * editfns.c (Ftranspose_regions):
8695         * emacs.c (Fdump_emacs):
8696         * eval.c (Fthrow):
8697         * eval.c (Fcommand_execute):
8698         * eval.c (Fautoload):
8699         * eval.c (Fbacktrace):
8700         * eval.c (Fbacktrace_frame):
8701         * events.c:
8702         * events.c (Fcopy_event):
8703         * events.c (Fcharacter_to_event):
8704         * events.c (Fevent_button):
8705         * events.c (Fevent_process):
8706         * extents.c:
8707         * extents.c (Fnext_extent_change):
8708         * extents.c (Fextent_property):
8709         * faces.c (Ffacep):
8710         * faces.c (Fmake_face):
8711         * file-coding.c:
8712         * file-coding.c (Fencode_shift_jis_char):
8713         * file-coding.c (Fencode_big5_char):
8714         * fileio.c (Ffile_name_directory):
8715         * fileio.c (Ffile_name_nondirectory):
8716         * fileio.c (Ffile_name_as_directory):
8717         * fileio.c (Fdirectory_file_name):
8718         * fileio.c (Ffile_truename):
8719         * fileio.c (Fsubstitute_in_file_name):
8720         * fileio.c (Ffile_modes):
8721         * fileio.c (Fset_file_modes):
8722         * fileio.c (Fset_default_file_modes):
8723         * fileio.c (Fverify_visited_file_modtime):
8724         * floatfns.c (Facos):
8725         * floatfns.c (Fasin):
8726         * floatfns.c (Fatan):
8727         * floatfns.c (Fcos):
8728         * floatfns.c (Fsin):
8729         * floatfns.c (Ftan):
8730         * floatfns.c (Fbessel_j0):
8731         * floatfns.c (Fbessel_j1):
8732         * floatfns.c (Fbessel_jn):
8733         * floatfns.c (Fbessel_y0):
8734         * floatfns.c (Fbessel_y1):
8735         * floatfns.c (Fbessel_yn):
8736         * floatfns.c (Ferf):
8737         * floatfns.c (Ferfc):
8738         * floatfns.c (Flog_gamma):
8739         * floatfns.c (Fexp):
8740         * floatfns.c (Fexpt):
8741         * floatfns.c (Flog):
8742         * floatfns.c (Flog10):
8743         * floatfns.c (Fsqrt):
8744         * floatfns.c (Fcube_root):
8745         * floatfns.c (Facosh):
8746         * floatfns.c (Fasinh):
8747         * floatfns.c (Fatanh):
8748         * floatfns.c (Fcosh):
8749         * floatfns.c (Fsinh):
8750         * floatfns.c (Ftanh):
8751         * floatfns.c (Fabs):
8752         * floatfns.c (Ffloat):
8753         * floatfns.c (Flogb):
8754         * floatfns.c (Fceiling):
8755         * floatfns.c (Ffloor):
8756         * floatfns.c (Fround):
8757         * floatfns.c (Ftruncate):
8758         * floatfns.c (Ffceiling):
8759         * floatfns.c (Fffloor):
8760         * floatfns.c (Ffround):
8761         * floatfns.c (Fftruncate):
8762         * fns.c (Fstring_equal):
8763         * fns.c (Fstring_lessp):
8764         * fns.c (concat2):
8765         * fns.c (concat3):
8766         * fns.c (vconcat2):
8767         * fns.c (vconcat3):
8768         * fns.c (Fsubstring):
8769         * fns.c (Fassoc):
8770         * fns.c (Fold_assoc):
8771         * fns.c (assoc_no_quit):
8772         * fns.c (Fassq):
8773         * fns.c (Fold_assq):
8774         * fns.c (assq_no_quit):
8775         * fns.c (Frassoc):
8776         * fns.c (Fold_rassoc):
8777         * fns.c (Frassq):
8778         * fns.c (Fold_rassq):
8779         * fns.c (rassq_no_quit):
8780         * fns.c (Fremassoc):
8781         * fns.c (remassoc_no_quit):
8782         * fns.c (Fremassq):
8783         * fns.c (remassq_no_quit):
8784         * fns.c (Fremrassoc):
8785         * fns.c (Fremrassq):
8786         * fns.c (remrassq_no_quit):
8787         * fns.c (Fsort):
8788         * fns.c (Fplist_get):
8789         * fns.c (Fplist_put):
8790         * fns.c (Fplist_remprop):
8791         * fns.c (Fplist_member):
8792         * fns.c (Flax_plist_get):
8793         * fns.c (Flax_plist_put):
8794         * fns.c (Flax_plist_remprop):
8795         * fns.c (Flax_plist_member):
8796         * fns.c (Fequal):
8797         * fns.c (Fold_equal):
8798         * fns.c (Frequire):
8799         * fns.c (Fbase64_encode_region):
8800         * fns.c (Fbase64_encode_string):
8801         * fns.c (Fbase64_decode_region):
8802         * frame.c:
8803         * frame.c (frame_matches_frame_spec):
8804         * frame.c (device_matches_device_spec):
8805         * frame.c (next_frame):
8806         * frame.c (previous_frame):
8807         * frame.c (Fnext_frame):
8808         * frame.c (Fprevious_frame):
8809         * frame.c (Fframe_property):
8810         * frame.c (Fset_frame_height):
8811         * frame.c (Fset_frame_size):
8812         * frame.h:
8813         * glyphs.c:
8814         * glyphs.c (if):
8815         * glyphs.c (decode_error_behavior_flag):
8816         * glyphs.c (Fmake_image_instance):
8817         * indent.c (Findent_to):
8818         * intl.c (Fignore_defer_gettext):
8819         * keymap.c (Fkeymapp):
8820         * keymap.c (Flookup_key):
8821         * lread.c:
8822         * lread.c (Fload_internal):
8823         * lread.c (Feval_buffer):
8824         * lread.c (Feval_region):
8825         * macros.c (Fexecute_kbd_macro):
8826         * marker.c (set_marker_internal):
8827         * marker.c (Fset_marker):
8828         * marker.c (set_marker_restricted):
8829         * marker.c (Fcopy_marker):
8830         * marker.c (noseeum_copy_marker):
8831         * menubar.c:
8832         * menubar.c (Fpopup_menu):
8833         * minibuf.c:
8834         * mule-charset.c (Fcharset_name):
8835         * mule-charset.c (Fchar_charset):
8836         * mule-charset.c (Fchar_octet):
8837         * mule-charset.c (Fsplit_char):
8838         * mule-wnnfns.c (Fwnn_open):
8839         * mule-wnnfns.c (Fwnn_dict_comment):
8840         * mule-wnnfns.c (Fwnn_quit_henkan):
8841         * mule-wnnfns.c (Fwnn_word_toroku):
8842         * mule-wnnfns.c (Fwnn_word_sakujo):
8843         * mule-wnnfns.c (Fwnn_word_use):
8844         * mule-wnnfns.c (Fwnn_hindo_set):
8845         * objects.c:
8846         * objects.c (Fmake_color_instance):
8847         * objects.c (Fmake_font_instance):
8848         * print.c (Fwrite_char):
8849         * process.c:
8850         * process.c (mark_process):
8851         * process.c (print_process):
8852         * process.c (get_process_from_usid):
8853         * process.c (Fprocessp):
8854         * process.c (Fprocess_live_p):
8855         * process.c (Fget_process):
8856         * process.c (Fget_buffer_process):
8857         * process.c (get_process):
8858         * process.c (Fprocess_id):
8859         * process.c (Fprocess_name):
8860         * process.c (Fprocess_command):
8861         * process.c (init_process_io_handles):
8862         * process.c (start_process_unwind):
8863         * process.c (Fstart_process_internal):
8864         * process.c (Fopen_multicast_group_internal):
8865         * process.c (Fset_process_window_size):
8866         * process.c (read_process_output):
8867         * process.c (send_process):
8868         * process.c (Fprocess_tty_name):
8869         * process.c (Fset_process_buffer):
8870         * process.c (Fprocess_buffer):
8871         * process.c (Fprocess_mark):
8872         * process.c (set_process_filter):
8873         * process.c (Fset_process_filter):
8874         * process.c (Fprocess_filter):
8875         * process.c (Fprocess_send_region):
8876         * process.c (Fprocess_send_string):
8877         * process.c (exec_sentinel):
8878         * process.c (Fset_process_sentinel):
8879         * process.c (Fprocess_sentinel):
8880         * process.c (status_notify):
8881         * process.c (Fprocess_status):
8882         * process.c (Fprocess_exit_status):
8883         * process.c (process_send_signal):
8884         * process.c (Fprocess_send_eof):
8885         * process.c (deactivate_process):
8886         * process.c (remove_process):
8887         * process.c (Fdelete_process):
8888         * process.c (kill_buffer_processes):
8889         * process.c (Fprocess_kill_without_query):
8890         * process.c (Fprocess_kill_without_query_p):
8891         * rangetab.c:
8892         * rangetab.c (Fget_range_table):
8893         * rangetab.c (Fput_range_table):
8894         * rangetab.c (Fremove_range_table):
8895         * rangetab.c (Fclear_range_table):
8896         * search.c:
8897         * search.c (Fskip_chars_forward):
8898         * search.c (Fskip_chars_backward):
8899         * search.c (Fskip_syntax_forward):
8900         * search.c (Fskip_syntax_backward):
8901         * search.c (search_command):
8902         * search.c (Freplace_match):
8903         * search.c (Fregexp_quote):
8904         * select.c (Fown_selection_internal):
8905         * select.c (Fselection_owner_p):
8906         * select.c (Fselection_exists_p):
8907         * select.c (Fget_selection_internal):
8908         * specifier.c:
8909         * symbols.c:
8910         * symbols.c (Fintern):
8911         * symbols.c (Fintern_soft):
8912         * symbols.c (Funintern):
8913         * symbols.c (Fapropos_internal):
8914         * symbols.c (Fset_default):
8915         * syntax.c:
8916         * syntax.c (Fsyntax_table_p):
8917         * syntax.c (Fcopy_syntax_table):
8918         * syntax.c (Fset_syntax_table):
8919         * syntax.c (Fchar_syntax):
8920         * syntax.c (syntax_match):
8921         * syntax.c (Fmatching_paren):
8922         * syntax.c (Fforward_word):
8923         * syntax.c (scan_lists):
8924         * syntax.c (Fscan_lists):
8925         * syntax.c (Fscan_sexps):
8926         * syntax.c (Fparse_partial_sexp):
8927         * toolbar.c (Fcheck_toolbar_button_syntax):
8928         * tooltalk.doc:
8929         * window.c:
8930         * window.c (Fwindowp):
8931         * window.c (Fwindow_live_p):
8932         * window.c (Fwindow_point):
8933         * window.c (Fdelete_window):
8934         * window.c (Fnext_window):
8935         * window.c (Fprevious_window):
8936         * window.c (Fother_window):
8937         * window.c (window_loop):
8938         * window.c (Fget_lru_window):
8939         * window.c (Fsplit_window):
8940         * window.c (Fenlarge_window):
8941         * window.c (Fenlarge_window_pixels):
8942         * window.c (Fshrink_window):
8943         * window.c (Fshrink_window_pixels):
8944         * window.c (change_window_height):
8945         * window.c (Fwindow_configuration_p):
8946         * window.c (Fcurrent_window_configuration):
8947         * window.h:
8948         * casefiddle.c (casify_object):
8949         * casefiddle.c (Fupcase):
8950         * casefiddle.c (Fdowncase):
8951         * casefiddle.c (Fcapitalize):
8952         * casefiddle.c (Fupcase_initials):
8953         * casefiddle.c (casify_region_internal):
8954         * casefiddle.c (casify_region):
8955         * casefiddle.c (Fupcase_region):
8956         * casefiddle.c (Fdowncase_region):
8957         * casefiddle.c (Fcapitalize_region):
8958         * casefiddle.c (Fupcase_initials_region):
8959         * casefiddle.c (Fupcase_word):
8960         * casefiddle.c (Fdowncase_word):
8961         * casefiddle.c (Fcapitalize_word):
8962         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8963         Replace 0 with '\0' when working with bytes.
8964         Replace initial "(" with "\(" in docstrings.
8965
8966 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8967
8968         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8969
8970         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8971
8972 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8973
8974         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8975
8976 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8977
8978         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8979         correctly.
8980
8981 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8982
8983         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8984         (inhibit_auto_save_session): New variable.
8985         (vars_of_fileio): Declare and initialize them.
8986         * fileio.c (Fdo_auto_save): Don't create session file if
8987         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8988
8989 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8990
8991         * sgiplay.c (play_internal): C++ compilability.
8992         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8993         * callproc.c (Fold_call_process_internal):
8994         Remove unused vars `env', `first'.
8995         * scrollbar.c (update_scrollbar_instance):
8996         #### unused var `current_window'.
8997         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8998         etc. within #ifdef NOT_YET.
8999         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
9000         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
9001         * specifier.c (specifier_instance):
9002         #### unused var `tag'.
9003         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
9004
9005 2000-10-27  Martin Buchholz  <martin@xemacs.org>
9006
9007         * fns.c (Fbutlast):
9008         * fns.c (list_sort):
9009         * fns.c (Ffillarray):
9010         * fns.c (bytecode_nconc2):
9011         * fns.c (Fnconc):
9012         * fns.c (mapcar1):
9013         * fns.c (Fmapconcat):
9014         Be pedantically 64-bit correct.  For the time when someone will
9015         want to have a list with length > 2**32.
9016
9017         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9018         Work around MIPSpro compiler bug.
9019
9020         * process-unix.c (unix_kill_child_process): Add snarky comment.
9021         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
9022
9023         * config.h.in: Oops, _getpt ==> _getpty
9024
9025 2000-10-26  Martin Buchholz  <martin@xemacs.org>
9026
9027         * config.h.in:
9028         * regex.c:
9029         Use void*, not char*, as return type of alloca().
9030
9031         * alloc.c (free_marker): Side effect inside assert expression!
9032
9033 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9034
9035         * mule-charset.c (Fset_charset_ccl_program): To check
9036         if the given ccl program is valid, use setup_ccl_program()
9037         instead of CHECK_VECTOR().
9038         (Fmake_charset): Likewise.
9039
9040 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9041
9042         * faces.c (get_extent_fragment_face_cache_index):
9043         Fix cachel.merged_faces memory leak.
9044
9045 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9046
9047         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9048         Reset MSB of octets obtained by DECODE_SJIS
9049         because of the incompatibility with Emacs.
9050         (ccl_driver)<CCL_ENCODE_SJIS>:
9051         Set MSB of octets before passing them to
9052         ENCODE_SJIS because of the incompatibility
9053         with Emacs.
9054
9055 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9056
9057         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9058         (DECLARE_LRECORD): Undo the last change.
9059         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9060
9061 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9062
9063         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9064         the implementation to lrecord_implementations_table.
9065
9066 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9067
9068         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9069         initial value of `lrecord_type_##c_name' and
9070         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9071         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9072         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9073         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9074         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9075
9076 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9077
9078         * miscplay.c (sndcnv8S_2mono):
9079         (sndcnv2monounsigned):
9080         (sndcnvULaw_2linear):
9081         (sndcnv16swap):
9082         Remove implementation-defined behavior.
9083
9084 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9085
9086         * input-method-xlib.c: Warning suppression.
9087
9088 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9089
9090         * mule-ccl.c: Sync up with Emacs 21.0.90.
9091         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9092         Do nothing.
9093         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9094         Likewise.
9095         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9096         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9097         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9098         leading char belongs to official 2-dimensional charset.
9099         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9100         write the given character as is.  Otherwise,
9101         if it is a multibyte char, convert it by
9102         non_ascii_set_charptr_emchar, then write it.
9103         (CCL_WRITE_STRING): Likewise.
9104         (ccl_get_compiled_code): New function.
9105         (setup_ccl_program): When ccl_prog is invalid,
9106         return -1.
9107         (Fregister_code_conversion_map): New function.
9108         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9109
9110         * mule-ccl.h: Sync up with Emacs 21.0.90.
9111         (Fregister_ccl_program): export it.
9112
9113         * redisplay-msw.c (separate_textual_runs):
9114         If ccl program is not valid, don't do ccl conversion.
9115
9116         * redisplay-x.c (separate_textual_runs): Ditto.
9117
9118         * file-coding.c (Fmake_coding_system):
9119         When type is ccl and value is vector, register it
9120         with a proper symbol.  And checks whether the
9121         given ccl program is valid.
9122         (mule_decode): When calling ccl_driver, if src indicates
9123         NULL pointer, set an empty string instead.
9124         (mule_encode): Likewise.
9125
9126 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9127
9128         The following large batch of changes gets us back to a state of
9129         C++ compilability.  Extbyte is now a char, which means that
9130         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9131
9132         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9133
9134         * sound.c (Fplay_sound): Type correctness.
9135
9136         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9137         (x_get_window_property): Type correctness.
9138         (receive_incremental_selection): unsigned char ==> Extbyte
9139         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9140         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9141         (Fx_store_cutbuffer_internal): Type correctness.
9142
9143         * process-unix.c (try_to_initialize_subtty): Type correctness.
9144
9145         * objects-x.c (x_print_color_instance): Type correctness.
9146         (x_print_font_instance): Type correctness.
9147         (x_list_fonts): SExtbyte ==> Extbyte.
9148         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9149         (x_find_charset_font): SExtbyte ==> Extbyte.
9150         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9151         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9152         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9153         Use bufbyte_strcmp.
9154
9155         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9156         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9157         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9158         (BYTE_C0_P): Use bit ops for char-signedness safety.
9159         (BYTE_C1_P): Use bit ops for char-signedness safety.
9160         (CHARSET_BY_LEADING_BYTE):
9161         (CHARSET_BY_ATTRIBUTES):
9162         Always use inline function.
9163         Use type_checking_assert.
9164         Hide chlook.
9165
9166         * mule-charset.c (non_ascii_charptr_copy_char):
9167         Modify to work with both ASCII and non-ASCII characters.
9168         Improve docs and variable names.
9169         Replace over-clever fall-through switch with a simple loop.
9170         (Lstream_get_emchar_1):
9171         Replace over-clever fall-through switch with a simple loop.
9172
9173         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9174         Warning suppression.
9175
9176         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9177         the return value of Lstream_getc, which could be EOF as well.
9178
9179         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9180
9181         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9182         APIs can be used on Extbytes without casts.  Risky!
9183         (SExtbyte): Remove.
9184         (UExtbyte): Remove.
9185
9186         * input-method-xlib.c (XIM_init_device):
9187         Use Xlib.h instead of IntrinsicP.h.
9188         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9189         which will break in X11R7.
9190         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9191         to call XRegisterIMInstantiateCallback with correct types.
9192
9193         * gui-x.c (button_item_to_widget_value): Type correctness.
9194
9195         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9196
9197         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9198         (xbm_instantiate_1): Type correctness.
9199         (BUILD_GLYPH_INST):  Type correctness.
9200
9201         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9202
9203         * file-coding.c:
9204         (decode_coding_sjis):
9205         (decode_coding_big5):
9206         (decode_coding_ucs4):
9207         (decode_coding_utf8):
9208         (decode_coding_iso2022):
9209         (decode_coding_no_conversion):
9210         Make all decoding functions take an Extbyte * arg.
9211         (encode_coding_sjis):
9212         (encode_coding_big5):
9213         (encode_coding_ucs4):
9214         (encode_coding_utf8):
9215         (encode_coding_iso2022):
9216         (encode_coding_no_conversion):
9217         Make all encoding functions take a Bufbyte * arg.
9218         Use size_t instead of unsigned int for memory sizes.
9219         Only cast to unsigned char whenever dereferencing Extbyte *.
9220
9221         * doc.c (unparesseuxify_doc_string): Type correctness.
9222
9223         * console-x.c (split_up_display_spec):
9224         Rewrite without using details of internal string representation.
9225         (x_semi_canonicalize_device_connection): Type correctness.
9226
9227         * config.h.in:
9228         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9229         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9230         (HAVE_XFREE386): Removed.
9231
9232         * buffer.h (DEC_CHARPTR): `const' correctness.
9233         (bufbyte_strcmp): New.
9234         (bufbyte_memcmp): New.
9235
9236         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9237
9238         * buffer.h (XCHAR_OR_CHAR_INT):
9239         Always use inline function.
9240         Remove redundant type checking assert() - XINT will abort quite nicely.
9241
9242 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9243
9244         * search.c (Freplace_match): Set newtext to an empty string.
9245
9246 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9247
9248         * s/decosf1-3.h: Remove #include of stropts.h
9249         * s/ptx.h: Remove #include of stropts.h
9250         * s/usg5-4.h: Remove #include of stropts.h
9251         * sysproc.h:
9252         * config.h.in:
9253         Use stropts.h, not sys/stropts.h.
9254         Use strtio.h, not sys/strtio.h.
9255
9256 2000-10-04  Martin Buchholz <martin@xemacs.org>
9257
9258         * XEmacs 21.2.36 is released.
9259
9260 2000-09-21  Andy Piper  <andy@xemacs.org>
9261
9262         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9263         changes still involve copying the widget tree.
9264         (update_widget_face): make sure a change is register in the widget
9265         tree. Call update_tab_widget_face appropriately.
9266         (update_tab_widget_face): ditto.
9267         (x_tab_control_redisplay): make sure non-structural changes still
9268         involve copying the widget tree.
9269
9270 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9271
9272         * lread.c (locate_file): Check the path element is non-nil.
9273
9274 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9275
9276         * lisp.h: Warning suppression for SCO compilers.
9277
9278         * redisplay-tty.c (reset_tty_modes): Fix crash.
9279         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9280
9281 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9282
9283         Big signal/process handling overhaul.  Bugs fixed:
9284         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9285         M-x comint-kill-subjob should work for both values nil and t of
9286         process-connection-type. It was broken on most platforms.
9287         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9288         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9289         * process-unix.c: Signal/Process handling overhaul.
9290         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9291         (allocate_pty): Use all available modern methods of allocating
9292         ptys, falling back to old style BSD allocation as a last resort.
9293         Use allegedly more secure Unix98 pty allocation by default.
9294         (allocate_pty_the_old_fashioned_way): New. the last resort.
9295         (unix_create_process): Push ptem, ldterm, ttcompat where
9296         available.  Autoconfiscate.
9297         (try_to_initialize_subtty): New.
9298         (unix_kill_child_process): Proper signal handling for ptys on most
9299         platforms, using special knowledge of AIX, BSD, etc...
9300         (unix_create_process): Always disconnect_controlling_terminal() for
9301         subprocesses, whether using ptys or not.
9302         * process.h: Remove old getpt-dependent PTY code.
9303         * process.c (Fprocess_send_signal): New, obvious generic function.
9304         (decode_signal): New.
9305         (Finterrupt_process):
9306         (Fkill_process):
9307         (Fquit_process):
9308         (Fstop_process):
9309         (Fcontinue_process):
9310         (Fsignal_process): Use decode_signal.
9311         (process_send_signal):
9312         Many docstring corrections.
9313         Allow any signal to be sent to a process object.
9314         * config.h.in: Add symbols for big signal/process overhaul.
9315         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9316         * sysproc.h: Include process-related headers, where available:
9317         sys/stropts.h sys/strtio.h pty.h libutil.h
9318         * s/irix4-0.h:
9319         * s/irix5-0.h:
9320         * s/cygwin32.h:
9321         * s/gnu.h:
9322         * s/linux.h:
9323         * s/hpux.h:
9324         * s/aix3-1.h:
9325         Remove old S&M pty stuff.
9326         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9327         * systty.h: Simplify cpp hackery, improve comments.
9328         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9329
9330         * editfns.c (Fformat_time_string):
9331         Be a little more paranoid with the return value of ctime.
9332
9333         * fileio.c (check_executable):
9334         (check_writable):
9335         Use symbolic constants X_OK, W_OK.
9336
9337         * console-x.c (split_up_display_spec): Fix a warning.
9338
9339 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9340
9341         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9342         * ntproc.c (sys_spawnve): make_string ==> build_string
9343         Small clarity improvements.
9344
9345 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9346
9347         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9348
9349         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9350
9351         * config.h.in (HAVE_STRCASECMP): Remove.
9352
9353 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9354
9355         * redisplay-output.c (redisplay_output_pixmap):
9356         Cleaner and possibly more 64-bit correct code.
9357
9358 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9359
9360         * dumper.c (pdump_load_finish): move restoration of
9361         `noninteractive1' to emacs.c (main_1).
9362         * emacs.c (main_1): protect LISP-visible command-line flags
9363         from pdump_load().
9364
9365 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9366
9367         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9368         DUMP_TARGET instead of literal program names.
9369
9370 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9371
9372         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9373
9374 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9375
9376         * *: Spelling mega-patch
9377
9378 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9379
9380         * fns.c (bad_bad_turtle):
9381         Delete "Eek!" comment, since we fixed the bug to which it refers.
9382
9383 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9384
9385         * alloca.c: Replace REGISTER with register.
9386
9387 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9388
9389         * file-coding.c (ucs_to_char): Use countof.
9390
9391 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9392
9393         * file-coding.c: (ucs_to_char):
9394         (complex_vars_of_file_coding):
9395         Use countof instead of sizeof.
9396         Use CHECK_NATNUM instead of CHECK_INT.
9397
9398         * sysdep.c (strcasecmp): Remove.
9399         * device-x.c (ascii_strcasecmp): New.
9400         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9401         Avoid using non-standard non-portable strcasecmp.
9402
9403 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9404
9405         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9406         * font-lock.c: remove reference to emacsfns.h.
9407         * search.c: small doc improvement.
9408         * event-Xt.c: correct file names in comments.
9409         * console-x.h Correct file names in comments.
9410         * frame.c: Correct file names in comments.
9411         * event-stream.c: remove Energize from comments.
9412
9413 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9414
9415         * symeval.h (DEFERROR_STANDARD):
9416         (DEFERROR):
9417         (DEFSYMBOL):
9418         (DEFSYMBOL_NO_DUMP):
9419         (DEFSYMBOL_MULTIWORD_PREDICATE):
9420         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9421         (DEFKEYWORD):
9422         The construct &##name is not sensible C.
9423         Fixes compilation errors with Unixware native compiler.
9424
9425 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9426
9427         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9428         (next_frame_internal): Removed.  We now just have next_frame.
9429         (next_frame):
9430         Write a simpler and cleaner one-pass algorithm.
9431         Remove called_from_delete_device arg and #ifdefed-out code.
9432         (previous_frame):
9433         Renamed from prev_frame.  Update callers.
9434         Cleaned up to have an analogous implementation to next_frame.
9435         (other_visible_frames_internal): Remove the
9436         called_from_delete_device bogus arg, and hence, remove this
9437         function.  Just use other_visible_frames().
9438
9439         * window.c (Fnext_window):
9440         Prettify docstring.
9441         Since next_frame() is guaranteed to return a frame, remove check
9442         for nil inserted in previous patch.
9443         (Fprevious_window):
9444         Prettify docstring.
9445         Make code look more like Fnext_window.
9446         (window_loop):
9447         Respect the `console' arg when iterating through windows.
9448         Fixes bug: (get-buffer-window buffer t device) not respecting
9449         the `device' arg.
9450         This function needs more work, as others have pointed out.
9451
9452         * frame.h: Rename prev_frame to previous_frame.
9453         device_matches_console_spec no longer takes a `frame' arg.
9454
9455         * s/gnu.h:
9456         * s/linux.h:
9457         * s/hpux.h:
9458         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9459         From "Golubev I. N." <gin@mo.msk.ru>.
9460
9461         * make-src-depend: Fix typo.
9462
9463 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9464
9465         * window.c (Fnext_window):
9466         next_frame() might return nil, not a frame.
9467         Fixes this crash:
9468         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9469
9470         * frame.c (next_frame_internal):
9471         We've passed a frame if we've passed its device.
9472         Fixes this crash:
9473         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9474 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9475
9476 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9477
9478         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9479         Allow option to suppress accelerators in menu/dialog items.
9480         (populate_or_checksum_helper): Pass dialog title through above.
9481
9482 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9483
9484         * event-msw.c (mswindows_key_to_emacs_keysym):
9485         Add "pause" key, fix "menu" key.
9486
9487 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9488
9489         * eval.c (reinit_vars_of_eval):
9490         Increase max_lisp_eval_depth to 1000,
9491         required for thai-xtis.el to byte-compile under some circumstances.
9492
9493 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9494
9495         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9496         From Kenichi Handa.
9497
9498 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9499
9500         * make-src-depend: Make the generated Makefiles smaller.
9501
9502         * s/hpux.h (SETUP_SLAVE_PTY):
9503         Provide a %d in the format string for the errno argument.
9504
9505         * editfns.c (Ftemp_directory):
9506         Warning fix.
9507         Avoid buffer overrun on very long file name.
9508
9509         * input-method-xlib.c (XIM_init_device):
9510         6th parameter of XRegisterIMInstantiateCallback has different
9511         pointer types on different OSes, so simply cast to (void *).
9512
9513         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9514
9515         * sysdll.c (dll_open):
9516         shl_load will hang hard if passed a NULL filename.
9517         Simply return NULL for compatibility with dlopen.
9518         * sysdll.c: Conform to XEmacs coding standards.
9519
9520         * sysdep.c (get_pty_max_bytes):
9521         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9522
9523 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9524
9525         * tooltalk.c: Add #include <syssignal.h>
9526
9527 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9528
9529         * s/hpux.h: Don't use undefined function sigunblock().
9530
9531 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9532
9533         * config.h.in: Add HAVE_BALLOON_HELP.
9534         * emacs.c: Use HAVE_BALLOON_HELP.
9535         * Makefile.in.in (x_objs):
9536         Make Balloon Help conditional on finding shape.h.
9537
9538 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9539
9540         * syntax.c (regex_emacs_buffer_p): New variable.
9541         * syntax.h (regex_emacs_buffer_p): extern.
9542         * search.c (looking_at_1):
9543         (string_match_1):
9544         (fast_string_match):
9545         (search_buffer): Set regex_emacs_buffer_p.
9546         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9547         when before_dot, at_dot, after_dot.
9548
9549 2000-08-23  Andy Piper  <andy@xemacs.org>
9550
9551         * gui-x.c (popup_selection_callback): Only set action_occurred
9552         when we really have an image instance.
9553         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9554
9555 2000-08-23  Andy Piper  <andy@xemacs.org>
9556
9557         * gui-msw.c (mswindows_handle_gui_wm_command): set
9558         action_occurred.
9559         * gui-x.c (popup_selection_callback): ditto.
9560
9561         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9562         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9563         (struct Lisp_Image_Instance): add action_occurred flag.
9564
9565         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9566         (image_instance_changed): ditto.
9567         (reset_frame_subwindow_instance_cache): only unmap windows - do
9568         not remove them from the cache also.
9569
9570         * glyphs-widget.c (tab_control_update): better debug.
9571         (progress_gauge_update): ditto.
9572         (layout_update): ditto.
9573         (layout_instantiate): ditto.
9574         (tab_control_order_only_changed): cope with null pending items.
9575
9576         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9577         debug. Force selection of an item when an action occurred. Cope
9578         with null pending_items.
9579         (mswindows_progress_gauge_redisplay): better debug.
9580         * glyphs-x.c (x_tab_control_redisplay): ditto.
9581
9582         * redisplay.c (redisplay_frame): reset the frame cache if the
9583         frame is garbaged.
9584
9585         * window.c (Fset_window_configuration): potentially re-enable
9586         frame cache reset.
9587         (window_unmap_subwindows): need to finalize instances here since
9588         it is only used in mark_window_as_deleted.
9589
9590 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9591
9592         * nas.c (SndOpenDataForReading):
9593         nas.c (WaveOpenDataForReading):
9594         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9595         Somehow escaped from the 2000-08-14 patch.
9596
9597 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9598
9599         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9600         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9601
9602 2000-08-21  Andy Piper  <andy@xemacs.org>
9603
9604         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9605         window if it is not already displayed.
9606
9607         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9608         it is not already displayed.
9609
9610         * window.c (Fset_window_configuration): don't reset the frame
9611         cache.
9612
9613         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9614         instances from the frame cache if we are actually finalizing them.
9615         (reset_frame_subwindow_instance_cache): reset frame cache only
9616         after unmapping everything.
9617         (map_subwindow): set displayed flag after mapping.
9618
9619 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9620
9621         * data.c (indirect_function):
9622         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9623
9624         * eval.c (function_argcount):
9625         Use original function when signaling errors.
9626
9627 2000-08-18  Andy Piper  <andy@xemacs.org>
9628
9629         * frame.c (delete_frame_internal): use new
9630         free_frame_subwindow_instances name.
9631
9632         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9633         (add_tab_item): make return type correct.
9634         (mswindows_tab_control_instantiate): assert index of tab.
9635         (mswindows_tab_control_redisplay): Re-code to use
9636         gui_item_equal_sans_selected and gui_item_list_find_selected.
9637
9638         * glyphs-widget.c (tab_control_update): Correct comment.
9639
9640         * window.c (window_unmap_subwindows): use new
9641         unmap_subwindow_instance_cache_mapper.
9642         (window_unmap_subwindows_cache_mapper): deleted.
9643         (Fset_window_configuration): comparisons should now be with
9644         EQ. Preserve the subwindow instance cache across configuration
9645         changes.
9646         (allocate_window): ditto.
9647         (make_dummy_parent): ditto.
9648
9649         * glyphs.c (free_frame_subwindow_instances): rename from
9650         free_frame_subwindow_instance_cache. finalize all instances rather
9651         than just those in the display cache.
9652         (finalize_all_subwindow_instances): walk windows unmapping and
9653         finalizing subwindows.
9654         (unmap_subwindow_instance_cache_mapper): moved from
9655         window.c. Allow finalization as well as unmapping.
9656
9657         * gui.c (gui_item_list_find_selected): new function.
9658
9659         * gui.h (gui_item_list_find_selected): declare.
9660
9661         * glyphs-x.c (x_tab_control_redisplay): pick tab
9662         explicitly. Re-code to use gui_item_equal_sans_selected and
9663         gui_item_list_find_selected.
9664
9665         * glyphs-x.h: add lwlib-utils.h
9666
9667         * buffer.c (Frecord_buffer): undo previous change.
9668
9669 2000-08-09  Vin Shelton  <acs@xemacs.org>
9670
9671         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9672         possible.  Create temporary files more securely.  The patch was
9673         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9674         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9675         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9676         for details.
9677
9678 2000-08-07  Ben Wing  <ben@xemacs.org>
9679
9680         * getloadavg.c: remove duplicate (and windows-breaking)
9681         includes of fcntl.h and sys/file.h.
9682
9683         * nt.c: remove duplicate getloadavg() definition.
9684
9685         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9686         encodings.
9687
9688 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9689
9690         * eval.c (function_argcount): If function needs to be autoloaded
9691         actually use the loaded definition.
9692         GCPRO function.
9693
9694 2000-08-05  Ben Wing  <ben@xemacs.org>
9695
9696         * getloadavg.c: add prototype for getloadavg().  remove
9697         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9698         of the code).  remove duplicate header includes.
9699
9700         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9701
9702         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9703         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9704         useful load average.
9705
9706         * alloc.c (reinit_alloc_once_early): removed references to
9707         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9708         the lisp vars are the only things referencing the malloc_sbrk_*
9709         vars, and they were already if 0'd out.  these vars only exist
9710         in the older malloc.c, which is basically unused, and they're
9711         only for informational purposes.
9712
9713         * m\*.h: removed useless VIRT_ADDR_VARIES.
9714
9715         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9716
9717 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9718
9719         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9720         color if the image is a mono pixmap.
9721
9722 2000-07-30  Ben Wing  <ben@xemacs.org>
9723
9724         * Makefile.in.in (release):
9725         Remove stray @.
9726
9727         * buffer.c (directory_is_current_directory):
9728         * dired-msw.c (mswindows_get_files):
9729         * dired.c:
9730         * dired.c (Fdirectory_files):
9731         * dired.c (file_name_completion_stat):
9732         * dired.c (Ffile_attributes):
9733         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9734         preprocessor tricks, to avoid problems on some machines
9735         (e.g. SCO).
9736
9737         * callproc.c (egetenv): GC docs.
9738
9739         * console-msw.h:
9740         * console-msw.h (struct mswindows_dialog_id):
9741         * lrecord.h (lrecord_type):
9742         New object for use with MSW dialogs.
9743
9744         * console.h (struct console_methods):
9745         New enable/disable frame methods, for proper modal dialogs.
9746
9747         * device-msw.c (msprinter_default_printer): Fix to follow
9748         proper Mule conventions.
9749
9750         * device-msw.c:
9751         * device-msw.c (signal_open_printer_error):
9752         * device-msw.c (msprinter_init_device):
9753         * device-msw.c (ensure_not_printing):
9754         * device-msw.c (plist_get_margin):
9755         * device-msw.c (Fmsprinter_select_settings):
9756         * device-msw.c (finalize_devmode):
9757         * device-msw.c (Fmsprinter_settings_despecialize):
9758         * device-msw.c (signal_enum_priner_error):
9759         * extents.c (decode_extent):
9760         * extents.c (decode_map_extents_flags):
9761         * extents.c (decode_extent_at_flag):
9762         * extents.c (Fextent_at):
9763         * extents.c (Fextents_at):
9764         * extents.c (symbol_to_glyph_layout):
9765         [[[[2]]]] Use structured errors.
9766
9767         * dialog-msw.c:
9768         * dialog-msw.c (mswindows_is_dialog_msg):
9769         * dialog-msw.c (mark_mswindows_dialog_id):
9770         * dialog-msw.c (dialog_proc):
9771         * dialog-msw.c (handle_question_dialog_box):
9772         * dialog-msw.c (syms_of_dialog_mswindows):
9773         Define new object to clean up marking; use it as a dialog identifier.
9774         Call new delete-dialog-box-hook.
9775
9776         * dialog-x.c (dbox_selection_callback):
9777         * dialog-x.c (dbox_descriptor_to_widget_value):
9778         * dialog-x.c (x_make_dialog_box_internal):
9779         Call new delete-dialog-box-hook.
9780         Return an id.
9781
9782         * dialog.c:
9783         * dialog.c (syms_of_dialog):
9784         * dialog.c (vars_of_dialog):
9785         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9786
9787         * eval.c:
9788         * eval.c (signal_call_debugger):
9789         when noninteractive, output stack traces on the console instead
9790         of in a (never-seen) buffer.
9791
9792         * eval.c (signal_type_error):
9793         * eval.c (invalid_argument_2):
9794         * lisp.h:
9795         new funs for use w/structured errors.
9796
9797         * event-Xt.c:
9798         * event-Xt.c (x_to_emacs_keysym):
9799         * event-Xt.c (describe_event):
9800         * event-Xt.c (emacs_Xt_event_handler):
9801         * event-Xt.c (vars_of_event_Xt):
9802         * event-msw.c:
9803         * event-msw.c (mswindows_wnd_proc):
9804         * event-msw.c (vars_of_event_mswindows):
9805         rename {x,mswindows}-debug-events to debug-{}-events for
9806         consistency with other debug-foo variables.
9807
9808         * event-stream.c:
9809         document next-event more clearly.
9810
9811         * fileio.c (Ffile_name_directory):
9812         * fileio.c (Ffile_name_nondirectory):
9813         * fileio.c (Funhandled_file_name_directory):
9814         * fileio.c (file_name_as_directory):
9815         * fileio.c (Ffile_name_as_directory):
9816         * fileio.c (directory_file_name):
9817         * fileio.c (Fdirectory_file_name):
9818         * fileio.c (Fmake_temp_name):
9819         * fileio.c (Ffile_truename):
9820         * fileio.c (Fsubstitute_in_file_name):
9821         * fileio.c (expand_and_dir_to_file):
9822         * fileio.c (barf_or_query_if_file_exists):
9823         * fileio.c (check_executable):
9824         * fileio.c (Ffile_exists_p):
9825         * fileio.c (Ffile_writable_p):
9826         * fileio.c (Ffile_directory_p):
9827         * fileio.c (Ffile_regular_p):
9828         * fileio.c (Ffile_modes):
9829         * fileio.c (Ffile_newer_than_file_p):
9830         * fileio.c (Fverify_visited_file_modtime):
9831         * fileio.c (Fset_visited_file_modtime):
9832         * fileio.c (auto_save_1):
9833         (1). (2).
9834         fix up gcpro's.
9835
9836         * frame-msw.c:
9837         * frame-msw.c (mswindows_init_frame_1):
9838         * frame-msw.c (mswindows_enable_frame):
9839         * frame-msw.c (error_frame_unsizable):
9840         * frame-msw.c (msprinter_init_frame_1):
9841         * frame-msw.c (msprinter_init_frame_3):
9842         * frame-msw.c (console_type_create_frame_mswindows):
9843         (2).
9844         implement new enable/disable frame methods.
9845
9846         * frame-x.c:
9847         * frame-x.c (x_enable_frame):
9848         * frame-x.c (console_type_create_frame_x):
9849         implement new enable/disable frame methods.
9850
9851         * frame.c:
9852         * frame.c (Fdisable_frame):
9853         * frame.c (syms_of_frame):
9854         * frame.h (struct frame):
9855         implement new enable/disable frame methods/functions.
9856
9857         * general-slots.h:
9858         add initial-focus.
9859
9860         * glyphs-msw.c (mswindows_widget_instantiate):
9861         comment that initial-focus should be implemented.
9862
9863         * glyphs-widget.c:
9864         * glyphs-widget.c (check_valid_instantiator):
9865         * glyphs-widget.c (check_valid_orientation):
9866         * glyphs-widget.c (check_valid_tab_orientation):
9867         * glyphs-widget.c (check_valid_justification):
9868         * glyphs-widget.c (check_valid_border):
9869         * glyphs-widget.c (check_valid_callback):
9870         * glyphs-widget.c (check_valid_int_or_function):
9871         * glyphs-widget.c (check_valid_string_or_vector):
9872         * glyphs-widget.c (check_valid_item_list_1):
9873         * glyphs-widget.c (widget_validate):
9874         * glyphs-widget.c (combo_box_validate):
9875         * glyphs-widget.c (widget_instantiate):
9876         * glyphs-widget.c (syms_of_glyphs_widget):
9877         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9878         * glyphs-widget.c (image_instantiator_combo_box):
9879         * glyphs-widget.c (image_instantiator_scrollbar):
9880         * glyphs-widget.c (image_instantiator_tab_control):
9881         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9882         (2).
9883         support (unimplemented) keyword initial-focus.
9884         reindent long macros.
9885
9886         * glyphs-x.c (x_redisplay_widget):
9887         * glyphs-x.c (x_button_instantiate):
9888         * glyphs-x.c (x_button_redisplay):
9889         * glyphs-x.c (x_progress_gauge_instantiate):
9890         * glyphs-x.c (x_edit_field_instantiate):
9891         * glyphs-x.c (x_combo_box_instantiate):
9892         * glyphs-x.c (x_tab_control_instantiate):
9893         * glyphs-x.c (x_label_instantiate):
9894         * gui-x.c:
9895         * gui-x.c (button_item_to_widget_value):
9896         * gui-x.c (gui_items_to_widget_values_1):
9897         * gui-x.c (gui_item_children_to_widget_values):
9898         * gui-x.c (gui_items_to_widget_values):
9899         * gui-x.h:
9900         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9901         add new flag to gui-parsing routines to indicate whether
9902         accelerator specs should be supported.
9903
9904         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9905
9906         * glyphs.h (struct Lisp_Image_Instance):
9907         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9908         add initial-focus flag.
9909
9910         * gui.c:
9911         * gui.c (syms_of_gui):
9912         * gui.c (vars_of_gui):
9913         clean up menu-no-selection-hook.
9914
9915         * gui.h:
9916         support delete-dialog-box-hook.
9917
9918         * lread.c (Fload_internal):
9919         * lread.c (locate_file_in_directory_mapper):
9920         (1).
9921
9922         * lrecord.h:
9923         * lrecord.h (struct toolbar_button):
9924         * lrecord.h (syms_of_toolbar):
9925         document how to create a new object.
9926
9927         * menubar-msw.c (mswindows_char_is_accelerator):
9928         may be called on frames w/o menus.
9929
9930         * menubar.c (vars_of_menubar):
9931         clean up :filter docs.
9932
9933         * nt.c (readdir):
9934         * ntproc.c:
9935         (1).
9936
9937         * process-nt.c:
9938         * process-nt.c (validate_signal_number):
9939         * process-nt.c (signal_cannot_launch):
9940         * process-nt.c (nt_create_process):
9941         * process-nt.c (nt_send_process):
9942         * process-nt.c (nt_kill_child_process):
9943         * process-nt.c (nt_open_network_stream):
9944         * process-nt.c (syms_of_process_nt):
9945         (2).
9946         delete quote-handling.  call new lisp code that does it better.
9947
9948         * process-unix.c (connect_to_file_descriptor):
9949         * process-unix.c (allocate_pty):
9950         * process-unix.c (unix_send_process):
9951         * process-unix.c (unix_kill_child_process):
9952         * process-unix.c (unix_open_network_stream):
9953         * process-unix.c (unix_open_multicast_group):
9954         (1). (2).
9955
9956         * process.c:
9957         * process.c (Fstart_process_internal):
9958         (2).  need to canonicalize process path even if absolute.
9959
9960         * select-msw.c (symbol_to_ms_cf):
9961         * select-msw.c (ms_cf_to_symbol):
9962         * select-msw.c (cf_is_autofreed):
9963         * select-msw.c (mswindows_destroy_selection):
9964         * select.c:
9965         * select.c (syms_of_select):
9966         * select.h:
9967         support dibv5, fix bugs. (from Mike Alexander)
9968
9969         * select.c (Fget_selection_internal):
9970         * select.c (select_convert_out):
9971
9972         * sysdep.c:
9973         * sysdep.c (xemacs_stat):
9974         renamed.
9975
9976         * sysdep.c (mkdir):
9977         * sysdep.c (rmdir):
9978         but keep original stat() here because we provide encapsulation
9979         around these funs.
9980
9981         * sysfile.h:
9982         * sysfile.h (fstat):
9983         remove stat garbage.
9984
9985         * syswindows.h:
9986         fix X/MSW conflict.
9987         don't include tchar.h.  it's inappropriate because it makes
9988         compile-time distinctions when we want runtime distinctions.
9989         (we provide our own tchar replacements)
9990
9991         * toolbar.c:
9992         use default object printer for toolbar-button.
9993
9994         * unexcw.c:
9995         make sure we don't encapsulate.
9996
9997         * window.c (vars_of_window):
9998         emphasize that temp-buffer-show-hook is obsolete.
9999
10000 2000-08-05  Martin Buchholz  <martin@xemacs.org>
10001
10002         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
10003         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
10004
10005         * events.c (Fevent_timestamp_lessp):
10006         Not 64-bit clean.  Use EMACS_INT, not int.
10007
10008 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
10009
10010         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
10011         unsigned int and changed the last enum to
10012         lrecord_type_last_built_in_type.
10013         (lrecord_implementations_table): changed prototype to know how
10014         long the array is supposed to be.
10015         (lrecord_type_count): new unsigned int to keep track of the
10016         current number of lisp lrecord types.
10017         (DEFINE_EXTERNAL_LRECORD):
10018         (DECLARE_EXTERNAL_LRECORD): Added these two for external
10019         dynamic-modules to declare new lisp types. They are the same
10020         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
10021         int for each new type, and increment lrecord_type_count by 1.
10022
10023         * alloc.c (lrecord_implementations_table): Changed to reference
10024         lrecord_type_last_built_in_type for the size of the array.
10025         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
10026
10027 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10028
10029         * glyphs.h (check_valid_item_list): Renamed from
10030         check_valid_item_list_1.
10031
10032 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10033
10034         * select.c (Qselect_coerce): New.
10035         * select.c (Vselection_coercion_alist): New.
10036         * select.c (syms_of_select): Declare.
10037         * select.c (get-selection-internal): Use it.
10038         Use the new select-coerce functionality.
10039
10040         * select.c (select_coerce): New.
10041         * select.h (select_coerce): Declare.
10042         New function to coerce one type of data into another.
10043
10044 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10045
10046         * callproc.c (Fcall_process_internal):
10047         (Fcall_process_internal):
10048         * process-unix.c (unix_create_process):
10049         Save and restore the value of errno, so that error messages are accurate.
10050
10051 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10052
10053         * elhash.c (print_hash_table):
10054         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10055         Prettify docstrings and indentation.
10056
10057 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10058
10059         * window.c (Fwindow_pixel_edges): Subtract frame border and
10060         gutter size.
10061
10062 2000-07-31  Andy Piper  <andy@xemacs.org>
10063
10064         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10065         will acknowledge the change.
10066
10067         * glyphs.h: declare tab_control_order_only_changed.
10068
10069         * glyphs-x.c (x_tab_control_redisplay): use
10070         tab_control_order_only_changed.
10071
10072         * glyphs-widget.c (tab_control_order_only_changed): new function.
10073
10074         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10075         tab_control_order_only_changed.
10076
10077         * gui.c (gui_item_equal_sans_selected): new function.
10078         (gui_item_equal): use it.
10079
10080         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10081         :properties in favor of :items..
10082
10083         * glyphs-widget.c (check_valid_item_list): rename from
10084         check_valid_item_list_1.
10085         (check_valid_item_list_1): renamed.
10086         (combo_box_validate): deprecate :properties in favor of :items.
10087         (widget_instantiate): ditto.
10088         (tab_control_update): ditto.
10089         (image_instantiator_combo_box): ditto.
10090         (image_instantiator_tree_view): ditto.
10091         (image_instantiator_tab_control): ditto.
10092         (layout_post_instantiate): remove dead code.
10093
10094         * print.c (debug_print_no_newline): only write to debugger if in
10095         WIN32_NATIVE.
10096
10097         * elhash.c (Fmake_hash_table): update doc string.
10098
10099         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10100         messages whilst in GC. This at least stops XEmacs crashing but has
10101         the potential for wierd behaviour.
10102
10103 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10104
10105         * config.h.in:
10106         Make existence of s&m files optional.
10107
10108         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10109         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10110         * s/gnu.h: Remove HAVE_GETLOADAVG.
10111         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10112         * s/sol2.h: Remove HAVE_GETLOADAVG.
10113         * lisp.h: Remove getloadavg() declaration.
10114         * fns.c:
10115         Include <sys/loadavg.h> if available.
10116         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10117         * config.h.in:  Group together getloadavg()-related macros.
10118         Use only configure-time tests to detect getloadavg().
10119
10120 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10121
10122         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10123
10124 2000-07-25  Andy Piper  <andy@xemacs.org>
10125
10126         * syswindows.h: add tchar.h for native builds.
10127
10128         * frame.c (syms_of_frame): remove set-glyph-image.
10129
10130         * general-slots.h: add Qset_glyph_image.
10131
10132         * glyphs-widget.c (layout_update): add domain arg to
10133         set-glyph-image.
10134         (syms_of_glyphs_widget): remove set-glyph-image.
10135
10136 2000-07-23  Ben Wing  <ben@xemacs.org>
10137
10138         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10139         Vpopup_frame_list.
10140
10141 2000-07-22  Andy Piper  <andy@xemacs.org>
10142
10143         * symsinit.h: add syms_of_win32().
10144
10145         * gui-msw.c (syms_of_gui_mswindows): remove
10146         Fmswindows_shell_execute.
10147         (Fmswindows_shell_execute): moved to win32.c.
10148
10149         * emacs.c (main_1): add syms_of_win32 ().
10150
10151         * win32.c (init_potentially_nonexistent_functions): rewrite in
10152         compiler-friendly terms.
10153         (Fmswindows_shell_execute): move here from gui-msw.c.
10154         (syms_of_win32): new.
10155
10156         * device-msw.c (Fmswindows_printer_list): clean up args to
10157         EnumPrinters.
10158         Don't include tchar under cygwin or mingw.
10159         (msprinter_default_printer): make cygwin-friendly.
10160
10161 2000-07-21  Andy Piper  <andy@xemacs.org>
10162
10163         * glyphs-widget.c (image_instantiator_tree_view): use tab
10164         control's update function.
10165         (layout_property): new function. Retrieve items.
10166
10167         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10168         function. Re-populate the tree view from the pending items.
10169
10170         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10171         is designated the parent if the domain is an image instance. This
10172         is needed so that dirtiness can be cascade up the hierarchy and
10173         thus for layout children to be redisplayed correctly.
10174         (allocate_image_instance): rename glyph -> parent.
10175
10176         * redisplay.h: change redisplay_output_layout signature.
10177
10178         * redisplay-msw.c (mswindows_output_display_block): use domain
10179         arg.
10180
10181         * redisplay-x.c (x_output_display_block): use domain arg.
10182
10183 2000-07-10  Andy Piper  <andy@xemacs.org>
10184
10185         * window.c (Fset_window_configuration): add comment.
10186
10187         * redisplay-output.c (compare_runes):
10188         (redisplay_output_subwindow): redisplay rather than update subwindow.
10189         (redisplay_output_layout): ditto.
10190
10191         * redisplay-msw.c (mswindows_frame_output_end):
10192         (mswindows_frame_output_end): make defer window pos optional.
10193
10194         * lisp.h: add Flast.
10195
10196         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10197         normalize method. Change update method to be for changed
10198         instantiators. Add redisplay method. Change signature of layout
10199         method.
10200         (struct Lisp_Image_Instance): add instantiator.
10201         (IMAGE_INSTANCE_INSTANTIATOR): new.
10202         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10203         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10204         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10205
10206         * glyphs.c:
10207         (find_instantiator_differences): new function.
10208         (Fset_instantiator_property): new convenience function.
10209         (check_image_instance_structure): strictly check for vector
10210         instantiators.
10211         (normalize_image_instantiator): make non-static.
10212         (instantiate_image_instantiator): pass on dest_mask and use new
10213         signatures for image_instance_layout and friends.
10214         (mark_image_instance): mark the instantiator. Mark the subwindow
10215         face not the widget face.
10216         (image_instance_equal): add instantiator.
10217         (image_instance_hash): ditto.
10218         (allocate_image_instance): ditto.
10219         (Fset_image_instance_property): removed.
10220         (Fimage_instance_file_name): ditto.
10221         (Fcolorize_image_instance): ditto.
10222         (image_instance_layout): add offsets to be set.
10223         (update_image_instance): new function. update an image instance
10224         from its changed instantiator.
10225         (inherit_normalize): add dest_mask.
10226         (xbm_normalize): ditto.
10227         (xface_normalize): ditto.
10228         (xpm_normalize): ditto.
10229         (text_update): set_property -> update.
10230         (image_instantiate): use the glyph identity as a hash key, not the
10231         instantiator.
10232         (glyph_width): use new image_instance_layout signature.
10233         (glyph_ascent): ditto.
10234         (glyph_descent): ditto.
10235         (glyph_height): ditto.
10236         (glyph_query_geometry): ressurrect.
10237         (glyph_layout): ditto.
10238         (redisplay_subwindow): update -> redisplay.
10239         (syms_of_glyphs): add Fset_instantiator_property.
10240         (image_instantiator_format_create): set_property -> update.
10241
10242         * glyphs-x.c:
10243         (autodetect_normalize): add dest_maks to signature.
10244         (x_redisplay_subwindow): update -> redisplay.
10245         (x_redisplay_widget): ditto.
10246         (x_button_redisplay): ditto.
10247         (x_progress_gauge_redisplay): ditto.
10248         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10249         stacking order.
10250         (console_type_create_glyphs_x): update -> redisplay.
10251         (image_instantiator_format_create_glyphs_x): ditto.
10252
10253         * glyphs-widget.c:
10254         (check_valid_instantiator): disallow glyphs in the instantiator,
10255         they must now be vectors.
10256         (check_valid_instantiator_list): ditto.
10257         (glyph_instantiator_to_glyph): use internal symbol rather than
10258         intern.
10259         (widget_update): renamed from widget_set_property. Call cascaded
10260         update methods.
10261         (redisplay_widget): renamed from update_widget.
10262         (widget_layout): image_instance_layout now takes position as well
10263         as size.
10264         (widget_normalize): ditto.
10265         (widget_instantiate): ditto.
10266         (tab_control_query_geometry) ditto.:
10267         (tab_control_update): renamed from tab_control_set_property.
10268         (progress_gauge_update): set_property -> update.
10269         (layout_normalize): rewrite so that child instantiators are
10270         normalized also.
10271         (layout_update): new function. Create glyphs from the normalized
10272         children and cope with any other layout keywords. We do not
10273         instantiate children here that will be take care of by
10274         redisplay_output_layout.
10275         (layout_instantiate): call layout_update and not much else.
10276         (layout_post_instantiate): not sure whether this is needed
10277         anymore.
10278         (layout_query_geometry): query glyph geometry rather than
10279         image_instance geometry.
10280         (layout_layout): set offsets from pass in parameters. Use glyph
10281         geometry and layout functions rather than image instance ones.
10282         (native_layout_layout): ditto.
10283         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10284         (image_instantiator_widget): set_property -> update.
10285         (image_instantiator_buttons): ditto.
10286         (image_instantiator_progress_guage): ditto.
10287         (image_instantiator_tab_control): ditto.
10288         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10289         (image_instantiator_layout): add update method.
10290
10291         * glyphs-msw.c (bmp_normalize):
10292         (mswindows_resource_normalize): add dest_mask so that it can be
10293         proprogated by layout_normalize.
10294         (begin_defer_window_pos): make optional because it may not be the
10295         right thing to do and it introduces differences with X.
10296         (mswindows_unmap_subwindow): ditto.
10297         (mswindows_map_subwindow): ditto.
10298         (mswindows_redisplay_subwindow): renamed from
10299         mswindows_update_subwindow.
10300         (mswindows_redisplay_widget): ditto.
10301         (mswindows_button_redisplay): renamed from
10302         mswindows_button_update. Update is now what the instantiation
10303         function does for a changed instantiator.
10304         (mswindows_progress_gauge_instantiate): set the progress value
10305         here if appropriate.
10306         (mswindows_tab_control_redisplay): cope with re-ordering of the
10307         members of the tab widget by simply selecting the new top
10308         widget. This makes things appear ok if you click on a tab.
10309         (mswindows_combo_box_instantiate): image_instance_layout now takes
10310         position as well as size.
10311         (mswindows_progress_gauge_redisplay): renamed from
10312         mswindows_progress_gauge_update.
10313         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10314         (image_instantiator_format_create_glyphs_mswindows): ditto.
10315
10316         * glyphs-eimage.c (jpeg_normalize):
10317         (gif_normalize):
10318         (png_normalize):
10319         (tiff_normalize): add dest_mask so that it can be proprogated by
10320         layout_normalize.
10321
10322         * elhash.c:
10323         (print_hash_table):
10324         (hash_table_weakness_validate):
10325         (decode_hash_table_weakness):
10326         (Fhash_table_weakness):
10327         (Fhash_table_type):
10328         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10329
10330         * console.h (struct console_methods): move update_* to
10331         redisplay_*.
10332
10333 2000-07-20  Ben Wing  <ben@xemacs.org>
10334
10335         * *.[ch] (XSETOBJ): remove unused middle argument.
10336         lisp-disunion.h: correct wrap_object() to one argument.
10337
10338 2000-07-15  Ben Wing  <ben@xemacs.org>
10339
10340         * s/cygwin32.h:
10341         * s/cygwin32.h (CYGWIN_CONV_PATH):
10342         Add missing logb prototype for v1.1.
10343         Use post-b20 names and alias to pre-b20 names when pre-b20.
10344
10345         * s/windowsnt.h: [5].
10346
10347 2000-07-15  Ben Wing  <ben@xemacs.org>
10348
10349         * Makefile.in.in (x_objs):
10350         * Makefile.in.in (sheap_objs):
10351         * Makefile.in.in (objs):
10352         added win32.o, cosmetic cleanups.
10353
10354         * alloc.c (Fmake_byte_code):
10355         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10356         etc. macros which declare their own args now.
10357
10358         * alloc.c (syms_of_alloc):
10359         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10360
10361         * buffer.c:
10362         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10363
10364         * buffer.c (Fget_file_buffer):
10365         Fixed GCPRO problem.
10366
10367         * buffer.c (get_truename_buffer):
10368         Fixed comment about GC checking.
10369
10370         * buffer.c (syms_of_buffer):
10371         Undeclared those dedicated frame funs.
10372         [2].
10373
10374         * buffer.h:
10375         Define convenience macros for internal/external conversions.
10376         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10377         and Qenvironment_variable_encoding for cleaner code.
10378
10379         * bufslots.h:
10380         Remove dedicated-frame; in lisp.
10381
10382         * bytecode.c (funcall_compiled_function):
10383         [1].
10384
10385         * bytecode.c (syms_of_bytecode):
10386         [2].
10387
10388         * console-msw.c:
10389         * console-msw.c (mswindows_show_console): Rewrote.
10390
10391         * console-msw.c (Fmswindows_debugging_output): New.
10392         Sends to OutputDebugString (special MSWin debugger interface).
10393
10394         * console-msw.c (Fmswindows_message_box):
10395         Fixed stupid bugs so it works when called from kill-emacs.
10396
10397         * console-msw.c (syms_of_console_mswindows):
10398         Declare Fmswindows_debugging_output.
10399
10400         * console-msw.h:
10401         New MSWin prototypes.
10402
10403         * console-msw.h (struct mswindows_frame):
10404         New entry last-click-mods for improved button-modifier support.
10405
10406         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10407         New struct entry `popup' with corresponding accessor.
10408
10409         * console-x.c:
10410         * console-x.c (split_up_display_spec):
10411         * console-x.c (get_display_arg_connection):
10412         * console-x.c (x_semi_canonicalize_console_connection):
10413         * console-x.c (x_canonicalize_device_connection):
10414         [[[6]]]: Change char to more specific type.
10415         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10416
10417         * console-x.c (x_semi_canonicalize_console_connection):
10418         * console-x.c (x_canonicalize_device_connection):
10419         [[[9]]]: Fix up error signalling to use new structured error system.
10420
10421         * console-x.h:
10422         [[[4]]]: Define codesys aliases:
10423         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10424         Qx_color_name_encoding, Qx_display_name_encoding.
10425
10426         * console.h (struct console_methods):
10427         New method make_dialog_box_internal supersedes older
10428         popup_dialog_box method.
10429
10430         * data.c:
10431         Define many new errors, part of new structured errors.
10432
10433         * data.c (init_errors_once_early):
10434         * data.c (syms_of_data):
10435         [2].
10436
10437         * device-msw.c (mswindows_init_device):
10438         [[[5]]]: Cleanup to support NT 3.51.
10439
10440         * device-msw.c (decode_devmode): Cleanup.
10441
10442         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10443         * device-msw.c (mswindows_handle_print_dialog_box):
10444         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10445         * device-msw.c (syms_of_device_mswindows):
10446         Delete the dialog box primitives recently introduced by Kirill and
10447         instead interface to general dialog box interface.
10448
10449         * device-x.c:
10450         * device-x.c (compute_x_app_name):
10451         * device-x.c (x_init_device):
10452         * device-x.c (Fx_valid_keysym_name_p):
10453         * device-x.c (Fx_set_font_path):
10454         [6].
10455         [7].
10456
10457         * device.h (wrap_device): New.
10458         First of its kind; meant to replace XSETDEVICE.
10459
10460         * dialog-msw.c: Many file-dialog symbols.
10461
10462         * dialog-msw.c (mswindows_register_popup_frame): New.
10463         * dialog-msw.c (mswindows_is_dialog_msg): New.
10464         For supporting kbd traversal in dialog boxes.
10465
10466         * dialog-msw.c (dialog_proc):
10467         Support hitting ESC in dialogs.
10468
10469         * dialog-msw.c (struct):
10470         Common dialog box errors.
10471
10472         * dialog-msw.c (handle_file_dialog_box): New.
10473         Add file dialog code.
10474
10475         * dialog-msw.c (handle_question_dialog_box):
10476         Redo existing code to support new question dialog syntax.
10477
10478         * dialog-msw.c (console_type_create_dialog_mswindows):
10479         We support new dialog console method.
10480
10481         * dialog-msw.c (syms_of_dialog_mswindows):
10482         * dialog-msw.c (vars_of_dialog_mswindows):
10483         New file dialog symbols, vars.
10484
10485         * dialog-x.c:
10486         * dialog-x.c (maybe_run_dbox_text_callback):
10487         * dialog-x.c (dbox_descriptor_to_widget_value):
10488         * dialog-x.c (x_make_dialog_box_internal):
10489         * dialog-x.c (console_type_create_dialog_x):
10490         Mule-ize entire file.
10491         Redo to support question dialog syntax.
10492         [6].
10493
10494         * dialog.c:
10495         * dialog.c (Fmake_dialog_box_internal):
10496         * dialog.c (syms_of_dialog):
10497         Kill old popup-dialog-box, replace with new primitive.
10498         Just call device method or signal error.
10499
10500         * eldap.c (Fldap_open):
10501         * eldap.c (Fldap_search_basic):
10502         * eldap.c (Fldap_add):
10503         * eldap.c (Fldap_modify):
10504         [1].
10505         [7].
10506
10507         * emacs.c:
10508         * emacs.c (make_arg_list_1):
10509         * emacs.c (make_arg_list):
10510         Mule-ize call to dll_init().
10511         [6].
10512         [8].
10513
10514         * emacs.c (make_argc_argv):
10515         * emacs.c (free_argc_argv):
10516         * emacs.c (init_cmdargs):
10517         * emacs.c (main_1):
10518         * emacs.c (Fkill_emacs):
10519         * emacs.c (Fdump_emacs):
10520         Update comments about what can be used in syms_* etc.
10521         Call init_win32() when necessary.
10522         Fix up MS Win dialog box in kill-buffer to actually work right.
10523         [7].
10524
10525         * eval.c:
10526         * eval.c (For):
10527         * eval.c (Fand):
10528         * eval.c (Fprogn):
10529         * eval.c (Fprog1):
10530         * eval.c (Fprog2):
10531         * eval.c (FletX):
10532         * eval.c (Flet):
10533         * eval.c (condition_case_3):
10534         * eval.c (Feval):
10535         * eval.c (function_argcount):
10536         * eval.c (funcall_lambda):
10537         [1].
10538
10539         * eval.c (type_error): New.
10540         * eval.c (maybe_type_error): New.
10541         * eval.c (continuable_type_error): New.
10542         * eval.c (maybe_continuable_type_error): New.
10543         * eval.c (type_error_with_frob): New.
10544         * eval.c (maybe_type_error_with_frob): New.
10545         * eval.c (continuable_type_error_with_frob): New.
10546         * eval.c (maybe_continuable_type_error_with_frob): New.
10547         New functions for use with structured errors.
10548
10549         * event-Xt.c:
10550         * event-Xt.c (x_event_to_emacs_event):
10551         Buttons are now modifiers too.
10552
10553         * event-Xt.c (emacs_Xt_current_event_timestamp):
10554         Implement new event method.
10555         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10556
10557         * event-msw.c:
10558         * event-msw.c (ntpipe_shove_writer): [5].
10559         * event-msw.c (mswindows_enqueue_mouse_button_event):
10560         * event-msw.c (mswindows_drain_windows_queue):
10561         * event-msw.c (mswindows_wnd_proc): [7].
10562         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10563         * event-msw.c (mswindows_modifier_state):
10564         Throughout: support new button modifiers.
10565
10566         * event-msw.c (emacs_mswindows_current_event_timestamp):
10567         Implement new event method.
10568         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10569
10570         * event-stream.c:
10571         * event-stream.c (event_stream_current_event_timestamp): New.
10572         * event-stream.c (maybe_kbd_translate): New functionality.
10573         * event-stream.c (vars_of_event_stream):
10574         Document new kbd-translate-table functionality.
10575
10576         * event-stream.c (Fcurrent_event_timestamp): New.
10577         New primitive for use in fabricated events.
10578         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10579
10580         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10581
10582         * events.c:
10583         * events.c (Fmake_event):
10584         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10585         [1].
10586         [9].
10587
10588         * events.c (format_event_object): fix gcc warnings.
10589
10590         * events.c (Fevent_timestamp): Document new primitives.
10591
10592         * events.c (TIMESTAMP_HALFSPACE): New.
10593
10594         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10595         comparing timestamps correctly (half-space algorithm).
10596
10597         * events.c (Fevent_modifier_bits): Doc fix.
10598
10599         * events.c (Fevent_modifiers): Major doc addition.
10600         * events.c (event_x_y_pixel_internal): Typo fix.
10601         * events.c (syms_of_events): Declare new primitives.
10602
10603         * events.h:
10604         Update long comment for button modifiers, timestamps.
10605
10606         * events.h (struct event_stream):
10607         New current_event_timestamp method.
10608
10609         * extents.c:
10610         * extents.c (extent_in_region_p):
10611         * extents.c (decode_extent):
10612         * extents.c (Fset_extent_parent):
10613         * extents.c (decode_map_extents_flags):
10614         Fix gcc warnings.
10615         [9].
10616
10617         * extents.c (struct extent_at_arg):
10618         * extents.c (decode_extent_at_flag):
10619         * extents.c (extent_at_mapper):
10620         * extents.c (extent_at_bytind):
10621         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10622         * extents.c (Fextents_at): New primitive. [9].
10623         * extents.c (symbol_to_glyph_layout): [9].
10624         Support new primitive `extents-at'.
10625
10626
10627         * extents.c (get_text_property_bytind):
10628         extent_at_bytind has another arg.
10629         [9].
10630
10631         * extents.c (syms_of_extents): New primitive.
10632
10633         * file-coding.c (Fmake_coding_system): [1].
10634         * file-coding.c (subsidiary_coding_system): fix gcc warning
10635         * file-coding.c (syms_of_file_coding): [2].
10636
10637         * fileio.c (Fexpand_file_name):
10638         * fileio.c (Fsysnetunam):
10639         * fileio.c (Ffile_exists_p):
10640         * fileio.c (Ffile_executable_p):
10641         * fileio.c (Fverify_visited_file_modtime):
10642         Clean up GCPROing.
10643
10644         * fileio.c (syms_of_fileio): [2].
10645
10646         * filelock.c (lock_file_1):
10647         * filelock.c (current_lock_owner):
10648         * filelock.c (lock_if_free):
10649         * filelock.c (lock_file):
10650         * filelock.c (unlock_file):
10651         Clean up GCPROing.
10652
10653         * fns.c (concat): Fix gcc warning.
10654
10655         * fns.c (Fmember):
10656         * fns.c (Fold_member):
10657         * fns.c (Fmemq):
10658         * fns.c (Fold_memq):
10659         * fns.c (memq_no_quit):
10660         * fns.c (Fassoc):
10661         * fns.c (Fold_assoc):
10662         * fns.c (Fassq):
10663         * fns.c (Fold_assq):
10664         * fns.c (assq_no_quit):
10665         * fns.c (Frassoc):
10666         * fns.c (Fold_rassoc):
10667         * fns.c (Frassq):
10668         * fns.c (Fold_rassq):
10669         * fns.c (rassq_no_quit):
10670         * fns.c (Fdelete):
10671         * fns.c (Fold_delete):
10672         * fns.c (Fdelq):
10673         * fns.c (Fold_delq):
10674         * fns.c (delq_no_quit):
10675         * fns.c (Fremassoc):
10676         * fns.c (Fremassq):
10677         * fns.c (remassq_no_quit):
10678         * fns.c (Fremrassoc):
10679         * fns.c (Fremrassq):
10680         * fns.c (remrassq_no_quit):
10681         * fns.c (Freverse):
10682         * fns.c (mapcar1):
10683         [1].
10684
10685         * frame-msw.c (mswindows_init_frame_1):
10686         * frame-msw.c (mswindows_delete_frame):
10687         Register popups with dialog code so keyboard traversing works.
10688
10689         * frame-tty.c (tty_raise_frame_no_select): [1].
10690
10691         * frame-x.c:
10692         * frame-x.c (x_set_frame_text_value):
10693         * frame-x.c (x_set_frame_properties):
10694         * frame-x.c (x_create_widgets):
10695         [7].
10696
10697         * frame.c:
10698         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10699
10700         * frame.h (wrap_frame): New.
10701         Macro like wrap_device.
10702
10703         * general.c:
10704         * general.c (SYMBOL):
10705         * general.c (syms_of_general):
10706         Major reorg.  This is now just a wrapper and symbols themselves
10707         are listed in general-slots.h.
10708
10709         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10710         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10711
10712         * glyphs-msw.c (mswindows_native_layout_instantiate):
10713         Add DS_CONTROL so keyboard traversal will work.
10714
10715         * glyphs-widget.c:
10716         * glyphs-widget.c (syms_of_glyphs_widget):
10717         Move some symbols to general-slots.h.
10718
10719         * glyphs-x.c:
10720         * glyphs-x.c (xbm_instantiate_1):
10721         * glyphs-x.c (x_xbm_instantiate):
10722         * glyphs-x.c (x_xface_instantiate):
10723         * glyphs-x.c (autodetect_instantiate):
10724         * glyphs-x.c (cursor_font_instantiate):
10725         * glyphs-x.c (x_update_widget):
10726         * glyphs-x.c (x_widget_instantiate):
10727         * glyphs.c (bitmap_to_lisp_data):
10728         * glyphs.c (pixmap_to_lisp_data):
10729         [7].
10730
10731         * glyphs.c (syms_of_glyphs):
10732         [2].
10733
10734         * gui-x.c:
10735         * gui-x.c (print_widget_value):
10736         * gui-x.c (menu_separator_style_and_to_external):
10737         * gui-x.c (add_accel_and_to_external):
10738         * gui-x.c (button_item_to_widget_value):
10739         * gui-x.c (gui_items_to_widget_values_1):
10740         * gui-x.c (gui_items_to_widget_values):
10741         * gui-x.c (syms_of_gui_x):
10742         * gui-x.c (vars_of_gui_x):
10743         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10744         [9].
10745
10746         * gui-x.h:
10747         Muleize, prototype changes matching gui-x.c.
10748
10749         * gui.c:
10750         * gui.c (separator_string_p):
10751         * gui.c (gui_item_add_keyval_pair):
10752         * gui.c (make_gui_item_from_keywords_internal):
10753         * gui.c (signal_too_long_error):
10754         * gui.c (parse_gui_item_tree_item):
10755         * gui.c (syms_of_gui):
10756         * gui.c (vars_of_gui):
10757         * gui.h:
10758         menu-no-selection-hook moved here (used by MSWin).
10759         Move some symbols to general-slots.h.
10760         [6].
10761         [9].
10762
10763         * insdel.c (get_buffer_pos_char):
10764         * insdel.c (get_buffer_range_char):
10765         Add GC comments.
10766
10767         * keymap.c (keymap_lookup_directly):
10768         * keymap.c (keymap_store):
10769         * keymap.c (ensure_meta_prefix_char_keymapp):
10770         * keymap.c (describe_map):
10771         * keymap.h:
10772         Support new button modifiers.
10773
10774         * lisp-disunion.h (wrap_object):
10775         * lisp-disunion.h (XSETOBJ):
10776         Rename make_obj to wrap_object.
10777
10778         * lisp-union.h:
10779         * lisp-union.h (make_int):
10780         * lisp-union.h (make_char):
10781         Support wrap_object.
10782
10783         * lisp.h:
10784         * lisp.h (LIST_LOOP):
10785         * lisp.h (EXTERNAL_LIST_LOOP):
10786         * lisp.h (LIST_LOOP_2):
10787         * lisp.h (EXTERNAL_LIST_LOOP_1):
10788         * lisp.h (EXTERNAL_LIST_LOOP_2):
10789         * lisp.h (EXTERNAL_LIST_LOOP_3):
10790         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10791         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10792         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10793         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10794         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10795         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10796         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10797         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10798         * lisp.h (struct Lisp_Symbol):
10799         * lisp.h (maybe_continuable_error_with_frob):
10800         Fix up section comments.
10801         Add new types for char to indicate usage.
10802         Delete symbols auto-generated from general-slots.h.
10803         Add prototypes for structured error functions.
10804         Add long comments describing looping macros and change interface
10805         so that lvalues are automatically declared.
10806         Add NO_DECLARE macro in case callers want to declare lvalues
10807         themselves.
10808
10809         * lread.c (read_syntax_error):
10810         * lread.c (continuable_read_syntax_error):
10811         * lread.c (read_structure):
10812         * lread.c (sequence_reader):
10813         * lread.c (read_list_conser):
10814         * lread.c (read_compiled_function):
10815         Rename syntax_error and continuable_syntax_error to avoid clash
10816         with same-named structured error functions.
10817
10818         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10819         * menubar-msw.c (populate_menu_add_item):
10820         * menubar-msw.c (populate_or_checksum_helper):
10821         [5].
10822         [9].
10823
10824         * menubar-x.c:
10825         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10826         Mule-ize whole file.
10827
10828         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10829
10830         * mule-charset.c (Fmake_charset):
10831         * mule-wnnfns.c (Fwnn_set_param):
10832         [1].
10833
10834         * ntproc.c (create_child):
10835         * ntproc.c (Fwin32_set_current_locale):
10836         Add comments portending doom.
10837
10838         * objects-msw.c:
10839         * objects-msw.c (old_font_enum_callback_2):
10840         * objects-msw.c (font_enum_callback_1):
10841         * objects-msw.c (mswindows_enumerate_fonts):
10842         [5].
10843
10844         * objects-x.c:
10845         * objects-x.c (allocate_nearest_color):
10846         * objects-x.c (x_parse_nearest_color):
10847         * objects-x.c (x_initialize_color_instance):
10848         * objects-x.c (x_print_color_instance):
10849         * objects-x.c (x_finalize_color_instance):
10850         * objects-x.c (x_valid_color_name_p):
10851         * objects-x.c (x_initialize_font_instance):
10852         * objects-x.c (x_print_font_instance):
10853         * objects-x.c (valid_x_font_name_p):
10854         * objects-x.c (truename_via_FONT_prop):
10855         * objects-x.c (truename_via_random_props):
10856         * objects-x.c (truename_via_XListFonts):
10857         * objects-x.c (x_font_truename):
10858         * objects-x.c (x_font_instance_truename):
10859         * objects-x.c (x_font_instance_properties):
10860         * objects-x.c (x_list_fonts):
10861         * objects-x.c (x_find_charset_font):
10862         Mule-ize entire file.
10863         [7].
10864
10865         * objects-x.h:
10866         Mule-verify.
10867
10868         * print.c:
10869         * print.c (std_handle_out_external):
10870         * print.c (debug_print_no_newline):
10871         * print.c (syms_of_print):
10872         Output to all debugger kinds in debug-print.
10873         Fix console-output code under MSWin to actually work.
10874
10875         * process-nt.c (send_signal):
10876         * process-nt.c (nt_create_process):
10877         Use newer Unicode macros.
10878
10879         * process-unix.c (unix_create_process):
10880         * process-unix.c (unix_canonicalize_host_name):
10881         * process-unix.c (unix_open_network_stream):
10882         [7].
10883
10884         * scrollbar-x.c:
10885         Mule-verify.
10886
10887         * search.c (syms_of_search):
10888         [2].
10889
10890         * select-msw.c (mswindows_destroy_selection):
10891         Use LIST_LOOP_2.
10892
10893         * select-x.c (symbol_to_x_atom):
10894         [7].
10895
10896         * select.c (syms_of_select):
10897         [2].
10898
10899         * sound.c (Fplay_sound_file):
10900         [7].
10901
10902         * specifier.c:
10903         * specifier.c (decode_specifier_type):
10904         * specifier.c (Fvalid_specifier_locale_type_p):
10905         * specifier.c (check_valid_locale_or_locale_type):
10906         * specifier.c (decode_locale):
10907         * specifier.c (decode_locale_type):
10908         * specifier.c (decode_locale_list):
10909         * specifier.c (check_valid_domain):
10910         * specifier.c (decode_specifier_tag_set):
10911         * specifier.c (Fcanonicalize_tag_set):
10912         * specifier.c (Fdefine_specifier_tag):
10913         * specifier.c (Fspecifier_tag_predicate):
10914         * specifier.c (check_valid_inst_list):
10915         * specifier.c (check_valid_spec_list):
10916         * specifier.c (decode_how_to_add_specification):
10917         * specifier.c (check_modifiable_specifier):
10918         * specifier.c (specifier_add_spec):
10919         * specifier.c (boolean_validate):
10920         * specifier.c (display_table_validate):
10921         [9].
10922
10923         * specifier.c (syms_of_specifier):
10924         Move some symbols to general-slots.h.
10925         [2].
10926
10927         * symbols.c:
10928         * symbols.c (Fmapatoms):
10929         * symbols.c (Fapropos_internal):
10930         Add GCPROs.
10931
10932         * symbols.c (set_default_buffer_slot_variable):
10933         * symbols.c (set_default_console_slot_variable):
10934         [1].
10935
10936         * symbols.c (defsymbol_massage_name_1):
10937         * symbols.c (defkeyword_massage_name):
10938         * symbols.c (deferror_1):
10939         * symbols.c (deferror):
10940         * symbols.c (deferror_massage_name_and_message):
10941         * symeval.h:
10942         * symeval.h (DEFSYMBOL):
10943         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10944
10945         * symbols.c (syms_of_symbols):
10946         [2].
10947
10948         * symsinit.h:
10949         * symsinit.h (init_win32): New.
10950         Also new is syms_of_dialog_mswindows.
10951
10952         * syswindows.h:
10953         Add new Unicode macros, missing Cygwin wide-char functions,
10954         convenience conversion macros for Qmswindows_tstr, macros for
10955         encapsulating required MSWin <-> Cygwin filename conversions,
10956         prototype for dynamically-extracted (not in NT 3.51) functions.
10957
10958         * toolbar-x.c:
10959         Mule-verify.
10960
10961         * tooltalk.c (Fadd_tooltalk_message_arg):
10962         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10963         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10964         [7].
10965
10966         * tooltalk.c (syms_of_tooltalk):
10967         [2].
10968
10969         * unexnt.c:
10970         * unexnt.c (unexec):
10971         Fix up headers, declaration of unexec() to be more standard.
10972
10973 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10974
10975         * offix.h: Revert change to guard macros - they're used in offix.c!
10976
10977 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10978
10979         * lisp.h: Defsubred Fdelete.
10980
10981         * console-msw.h:  (msprinter_default_printer): Added.
10982
10983         * console-msw.c (msprinter_canonicalize_console_connection):
10984         (msprinter_canonicalize_device_connection): Added.
10985
10986         * device-msw.c (msprinter_default_printer):
10987         (Fmswingows_get_default_printer):
10988         (signal_enum_priner_error):
10989         (Fmswingows_printer_list): Added.
10990
10991 2000-07-19  Martin Buchholz <martin@xemacs.org>
10992
10993         * XEmacs 21.2.35 is released.
10994
10995 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10996
10997         * select-x.c (x_handle_selection_request):
10998         Text selected in xemacs and pasted into xterm failed to appear.
10999         Spelling fixes and cosmetic changes.
11000
11001 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11002
11003         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
11004         XEmacs frame (fix for doubling chars in dialog boxes).
11005
11006 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11007
11008         * select.c (select_convert_in, select_convert_out):
11009         Don't call intern() every time.
11010
11011         * select.c (Qselect_convert_in, Qselect_convert_out): New.
11012         * select.c (vars_of_select): Initialise them.
11013
11014 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11015
11016         * select.c (selection-coercible-types): New.
11017
11018         * select.c (own-selection-internal):
11019         * select.c (get-selection-internal):
11020         MULE bug fix - these should default to COMPOUND_TEXT and not
11021         STRING for MULE. I think.
11022
11023         * select.c (select_convert_out): Use selection-coercible-types
11024         to find types that we can attempt to perform coercions on.
11025
11026 2000-07-18  Martin Buchholz  <martin@xemacs.org>
11027
11028         * mule-wnnfns.c:
11029         * mule-canna.c:
11030         Add coding: cookie to identify encoding.
11031
11032         * mule-canna.c (CANNA_mode_keys): make static.
11033         Use proper prototypes, even for functions of no arguments.
11034         Remove external prototype for Fding().
11035
11036         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11037
11038         * select.c (syms_of_select): Add missing DEFSUBR.
11039
11040 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11041
11042         * select.c (get_selection_internal, own_selection_internal):
11043         Make the type default to STRING, rather than placing a nil type
11044         into Vselection_alist.
11045
11046 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11047
11048         * gpmevent.c (tty_selection_exists_p):
11049         * gpmevent.c (tty_own_selection):
11050         Updated parameter lists.
11051
11052 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11053
11054         * select.h (selection-alist): Removed declaration.
11055
11056         * select.h (get_local_selection):
11057         * select.c (get_local_selection):
11058         Made static.
11059
11060         * select.h (convert_selection): Removed declaration.
11061         * select.c (convert_selection): Removed.
11062         This function belongs in Lisp.
11063
11064         * select.h (select_convert_in): Declare.
11065         * select.h (select_convert_out): Declare.
11066         * select.c (select_convert_in): New.
11067         * select.c (select_convert_out): New.
11068         New conversion functions for other files to call.
11069
11070         * select.h (select_notify_buffer_kill): Declare.
11071         * select.c (select_notify_buffer_kill): New.
11072         New functions that get called from kill-buffer.
11073
11074         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11075         X-specific lisp code.
11076
11077         * select.h: Declare some of the lisp-visible functions for
11078         external use.
11079
11080         * select.c (clean_local_selection_data): Removed. This was
11081         a disgusting function, and previously should have been in
11082         select-x.c in any case. The functionality is now provided
11083         in select-convert-from-integer (select.el).
11084
11085         * select.c (available-selection-types): Fixed stupidity where
11086         INTEGER and ATOM got added twice. Also add STRING when we see an
11087         extent.
11088
11089         * select.c (get-selection-internal): Removed symbol stripping. No
11090         longer causes conversion when data comes from the internal cache.
11091
11092         * select.c (syms_of_select): Added new functions.
11093
11094         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11095         error checking - previously this called abort!
11096
11097         * select-x.c (x_own_selection): Changed comment.
11098
11099         * select-x.c (x_handle_selection_request): Use select_convert_out.
11100         Don't mess with selection-alist; it's an internal variable of select.c.
11101
11102         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11103
11104         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11105         rather than messing with selection-alist.
11106
11107         * select-msw.c (mswindows_get_foreign_selection):
11108         Use TO_INTERNAL_FORMAT rather than hacking.
11109
11110 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11111
11112         * process-unix.c (unix_open_multicast_group):
11113         (unix_open_multicast_group): Remove useless casts.
11114
11115 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11116
11117         * sound.c (Fplay_sound): Fix `unused variable' warning.
11118
11119         * emacs.c (main): Use correct type for _environ on SCO5.
11120
11121 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11122
11123         * console.h (own_selection_method):
11124         * console.h (selection_exists_p_method):
11125         * console.h (available_selection_types_method): New.
11126         * console.h (register_selection_data_type_method): New.
11127         * console.h (selection_data_type_name): New.
11128
11129         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11130         function & alist to track GlobalAlloc()'d handles that need
11131         releasing when the clipboard data gets replaced or emptied.
11132
11133         * event-msw.c (mswindows_wnd_proc): Call it.
11134
11135         * lisp.h, general.c (Qappend): New symbol representing a
11136         `how-to-add' mode.
11137
11138         * select.c (own-selection-internal):
11139         * select.c (selection-exists-p):
11140         * select.c (available-selection-types): New.
11141         * select.c (register-selection-data-type): New.
11142         * select.c (selection-data-type-name): New.  New functions to deal
11143         with device-specific selection data formats.
11144         * select.c (selection-converter-out-alist): Renamed.
11145         * select.c (selection-converter-in-alist): New.
11146         * select.c (selection-appender-alist): New.  Added new alists.
11147         * select.c (syms_of_select, vars_of_select): Added new symbols &
11148         variables.
11149         * select.c (get_local_selection): Split.
11150         * select.c: Removed spurious type checking - selections may now be
11151         of any type, not just strings.
11152         * select.c (own-selection-internal):
11153
11154         * select.h, select.c (convert_selection): New. Created
11155         convert_selection() function based on get_local_selection().
11156         * select.h, select.c (QCF_*): New symbols representing mswindows
11157         clipboard formats.
11158         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11159         symbols representing `how-to-add' modes.
11160
11161         * select-msw.c (x_sym_p): New.
11162         * select-msw.c (symbol_to_ms_cf): New.
11163         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11164         symbols & clipboard formats. Can also handle string names.
11165         * select-msw.c (mswindows_own_selection):
11166         * select-msw.c (mswindows_selection_exists_p):
11167         Added `data-type' parameter. Use it.
11168         * select-msw.c (mswindows_available_selection_types): New.
11169         * select-msw.c (mswindows_register_selection_data_type): New.
11170         * select-msw.c (mswindows_selection_data_type_name): New.
11171         * select-msw.c (mswindows_own_selection):
11172         * select-msw.c (mswindows_get_foreign_selection):
11173         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11174         * select-msw.c (console_create_select_mswindows): Added new methods.
11175         * select-msw.c (mswindows_destroy_selection): New.
11176         * select-msw.c (Vhandle_alist): New list.
11177         * select-msw.c (mswindows_own_selection):
11178
11179         * select-x.c (x_own_selection):
11180         * select-x.c (x_selection_exists_p):
11181         * select-x.c: Added some comments about maybe using new
11182         functionality.
11183         * select-x.c (x_own_selection):
11184
11185         * specifier.c: Remove definition of Qappend (now in general.c)
11186         * specifier.c (syms_of_specifier): Remove Qappend.
11187
11188 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11189
11190         * config.h.in: Add socklen_t.
11191
11192         * s/decosf4-0.h: No special compiler flags needed or desired.
11193         In particular, undefine _BSD for DEC OSF 4.0.
11194
11195 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11196
11197         * redisplay-msw.c (msprinter_frame_output_end): Added.
11198         (console_type_create_redisplay_mswindows): Referred the above.
11199
11200         * frame.c (setup_frame_without_minibuffer): Do not create a
11201         default minibuffer frame on a printer device.
11202
11203         * frame-msw.c (apply_dc_geometry): Added.
11204         (msprinter_start_page):
11205         (msprinter_init_frame_3):
11206         (msprinter_eject_page): Use it.
11207
11208         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11209         and removed residual duplex and orientation properties.
11210
11211 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11212
11213         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11214
11215         * unexalpha.c: Remove system prototypes from C sources!
11216
11217 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11218
11219         * eval.c: Remove references to M-x edit-options in DEFUNs for
11220         `defvar' and `defconst'.
11221
11222 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11223
11224         * config.h.in: Remove SMART_INCLUDE hackery.
11225
11226         PostgreSQL hacking:
11227         * config.h.in: Don't use SMART_INCLUDE.
11228
11229         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11230         * inline.c: Simply #include "postgresql.h"
11231         * postgresql.c:
11232         - Don't use SMART_INCLUDE
11233         - Use simply "const".
11234         - Use standard doc string conventions.
11235         - Use correct type for result of PQstatus.
11236
11237 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11238
11239         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11240
11241         C++ compilation changes.
11242         * config.h.in (EXTERN_C): Define.
11243         * config.h.in (not): This is also a C++ keyword.
11244         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11245         * cm.c: Use EXTERN_C.
11246         * redisplay-tty.c: Use EXTERN_C.
11247         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11248
11249 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11250
11251         * general.c: Remove duplicate definition for Qfunction.
11252
11253 2000-07-08  Ben Wing  <ben@xemacs.org>
11254
11255         * device-msw.c (msprinter_init_device):
11256         * device-msw.c (sync_printer_with_devmode):
11257         * device-msw.c (handle_devmode_changes):
11258         * device-msw.c (print_dialog_worker):
11259         * device-msw.c (Fmsprinter_apply_settings):
11260         * device-msw.c (hash_devmode):
11261         * device-msw.c (Fmsprinter_settings_despecialize):
11262         use Qmswindows_tstr, not Qctext.
11263
11264         * vm-limit.c (check_memory_limits):
11265         avoid infinite loop printing warning messages.
11266
11267 2000-07-05  Craig Lanning  <lanning@scra.org>
11268
11269         * Makefile.in.in: Add support for including the Windows resources
11270         when building with the cygwin and mingw targets.
11271
11272         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11273         not set or not correct.
11274         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11275         (init_initial_directory): Don't try to use $PWD on the
11276         WIN32_NATIVE target.
11277
11278         * s\cygwin32.h:
11279         [[Add -mwindows to eliminate console window.]] not required --ben
11280         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11281         (MAIL_USE_POP): removed; now handled by configure.
11282
11283         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11284         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11285         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11286         (MAIL_USE_POP): removed; now handled by configure.
11287         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11288         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11289         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11290         constant string.
11291         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11292         up from <winsock.h> via systime.h.
11293         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11294         (getpagesize): from Dan Holmsand, added.
11295         Added #endif which was left dangling by Ben's mega patch; added
11296         comment to help prevent this in the future.
11297
11298         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11299
11300 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11301
11302         * console-msw.h (struct mswindows_device): Removed unnecessary
11303         cached device geometry values.
11304         Added update_tick and an accessor macro.
11305         (Lisp_Devmode): Added lrecord declaration.
11306         (struct msprinter_device): Contain devmode as a Lisp object.
11307         Added mswindows_get_selected_frame_hwnd();
11308
11309         * console.h (struct console_methods): Indentation nitpicking.
11310
11311         * device-msw.c (mswindows_init_device): Do not initialize geometry
11312         cache. Initialize update tick.
11313         (mswindows_device_system_metrics): Ask the device for its geometry.
11314         (global_free_2_maybe):
11315         (devmode_to_hglobal):
11316         (handle_printer_changes):
11317         (ensure_not_printing):
11318         (print_dialog_worker):
11319         (Fmsprinter_print_setup_dialog):
11320         (Fmsprinter_print_dialog):
11321         (plist_get_margin):
11322         (plist_set_margin):
11323         (Fmsprinter_page_setup_dialog): Added functions.
11324         (sync_printer_with_devmode):
11325         (handle_devmode_changes):
11326         (Fmsprinter_get_settings):
11327         (Fmsprinter_select_settings):
11328         (Fmsprinter_apply_settings):
11329         (allocate_devmode):
11330         (Fmsprinter_settings_copy):
11331         (Fmsprinter_settings_despecialize):
11332         (print_devmode):
11333         (finalize_devmode):
11334         (equal_devmode):
11335         (hash_devmode): Added functions
11336         (syms_of_device_mswindows): Init devmode lrecord class.
11337
11338         * device.h: Added an exfun for find-device.
11339
11340         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11341         geometry; although, recreate the device compatible DC.
11342
11343         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11344         (msprinter_init_frame_3):
11345         (msprinter_frame_property):
11346         (msprinter_internal_frame_property_p):
11347         (msprinter_frame_properties):
11348         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11349         print job properties (will move to device settings).
11350
11351         * lisp.h: Added symbols.
11352
11353         * general.c (syms_of_general): Declared them.
11354
11355         * hash.c (string_hash): Added.
11356
11357         * lrecord.h (lrecord_type): Added devmode lrecord type.
11358
11359 2000-07-02  Mike Sperber <mike@xemacs.org>
11360
11361         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11362         FreeBSD 4.0.
11363
11364 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11365
11366         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11367         integer.
11368
11369 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11370
11371         * data.c (Fstring_to_number): Don't recognize floating point if
11372         base is not 10.
11373
11374 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11375
11376         * glyphs-widget.c (tab_control_query_geometry):
11377         (widget_query_geometry):
11378         (button_query_geometry):
11379         * glyphs.c (text_query_geometry):
11380         Enforce type correctness.
11381
11382 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11383
11384         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11385         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11386
11387 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11388
11389         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11390         conflicts with gcc's fixincluded version of FOO.h.
11391
11392         * glyphs.h (image_instance_geometry): Remove trailing `,'
11393
11394 2000-06-08  Mike Alexander  <mta@arbortext.com>
11395
11396         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11397         (shove_thread): Don't write the same output twice
11398         (make_ntpipe_output_stream): Increase priority of shove thread
11399         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11400         chance to run
11401         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11402         it.
11403
11404 2000-06-12  Ben Wing  <ben@xemacs.org>
11405
11406         * s\mingw32.h (sigset):
11407         * s\windowsnt.h (sigset):
11408         rename msw_ to mswindows_ for consistency with general convention.
11409
11410 2000-06-12  Ben Wing  <ben@xemacs.org>
11411
11412         * console-msw.c:
11413         * console-msw.c (mswindows_get_console_hwnd):
11414         * console-msw.c (mswindows_ensure_console_allocated):
11415         * console-msw.c (mswindows_hide_console):
11416         * console-msw.c (mswindows_show_console):
11417         * console-msw.c (mswindows_ensure_console_buffered):
11418         * console-msw.c (mswindows_output_console_string):
11419         * console-msw.c (mswindows_windows9x_p):
11420         * console-msw.h:
11421         * device-msw.c (mswindows_get_workspace_coords):
11422         * device-msw.c (mswindows_device_system_metrics):
11423         * dialog-msw.c (mswindows_popup_dialog_box):
11424         * event-msw.c (mswindows_wnd_proc):
11425         * frame-msw.c (mswindows_size_frame_internal):
11426         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11427         * menubar-msw.c (displayable_menu_item):
11428         * menubar-msw.c (mswindows_char_is_accelerator):
11429         * nt.c:
11430         * nt.c (mswindows_sigset):
11431         * nt.c (mswindows_sigrelse):
11432         * nt.c (mswindows_sigpause):
11433         * nt.c (mswindows_raise):
11434         * nt.c (timer_proc):
11435         * ntproc.c:
11436         * ntproc.c (find_child_console):
11437         * ntproc.c (sys_kill):
11438         * print.c:
11439         * print.c (std_handle_out_external):
11440         * process-nt.c (find_child_console):
11441         * process-nt.c (send_signal_the_95_way):
11442         * process-nt.c (ensure_console_window_exists):
11443         * process-nt.c (nt_create_process):
11444         * syssignal.h:
11445         rename msw_ to mswindows_ for consistency with general convention.
11446
11447         * emacs.c:
11448         * dumper.c:
11449         include nt.h, not syswindows.h.
11450
11451         * nt.c (mswindows_fstat):
11452         * nt.c (mswindows_stat):
11453         prefix mswindows_ instead of attempting to directly override the
11454         library functions.  fix declarations.
11455
11456         * nt.h:
11457         include syswindows.h.  move some sysdep.h stuff here.
11458
11459         * ntheap.h:
11460         include syswindows.h, not <windows.h>.
11461
11462         * ntplay.c:
11463         clean up headers.
11464
11465         * sysdep.c:
11466         clean up headers.
11467
11468         * sysdep.c (sys_fstat):
11469         * sysdep.c (sys_stat):
11470         call mswindows versions when appropriate.
11471
11472         * sysdep.h:
11473         move mswin decls to nt.h.
11474
11475         * syswindows.h:
11476         add long comment describing appropriate use of the various windows
11477         headers.
11478
11479 2000-06-11  Ben Wing  <ben@xemacs.org>
11480
11481         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11482
11483 2000-06-10  Ben Wing  <ben@xemacs.org>
11484
11485         * Makefile.in.in (release):
11486         Correction to make sure xemacs.exe always dumped when correct.
11487
11488         * alloca.c:
11489         * balloon_help.c:
11490         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11491
11492         * buffer.c (set_buffer_internal):
11493         [[[[2]]]]: Remove HAVE_FEP code.
11494
11495         * buffer.c (init_initial_directory):
11496         [3].
11497
11498         * bytecode.c:
11499         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11500         individual files.
11501
11502         * callproc.c:
11503         * callproc.c (call_process_cleanup):
11504         * callproc.c (Fold_call_process_internal):
11505         * callproc.c (child_setup):
11506         * callproc.c (getenv_internal):
11507         * callproc.c (init_callproc):
11508         * callproc.c (vars_of_callproc):
11509         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11510         __CYGWIN32__ -> CYGWIN.
11511         DOS_NT -> WIN32_NATIVE.
11512         Remove MSDOS support/references, converting to WIN32_NATIVE
11513           where correct.
11514         __MINGW32__ -> MINGW.
11515         Fix windows.h includes.
11516         Remove bogus HAVE_NTGUI.
11517
11518         * config.h.in:
11519         [2].
11520
11521         * console-msw.c:
11522         mswindows_message_outputted added for use in allowing startup
11523         errors on the console to be seen.
11524
11525         * console-msw.c (msw_ensure_console_allocated):
11526         * console-msw.c (msw_output_console_string):
11527         * console-msw.c (DHEADER):
11528         * console-msw.c (DOPAQUE_DATA):
11529         * console-msw.c (DEVENT):
11530         * console-msw.c (DCONS):
11531         * console-msw.c (DCONSCDR):
11532         * console-msw.c (DSTRING):
11533         * console-msw.c (DVECTOR):
11534         * console-msw.c (DSYMBOL):
11535         * console-msw.c (DSYMNAME):
11536         Fix warnings.
11537
11538         * console-stream.c (stream_init_console):
11539         Fix text/binary problems.
11540
11541         * device-msw.c:
11542         * device-msw.c (mswindows_finish_init_device):
11543         * device-msw.c (mswindows_delete_device):
11544         [1].
11545
11546         * device.c (handle_asynch_device_change):
11547         [3].
11548
11549         * dgif_lib.c:
11550         * dgif_lib.c (DGifOpenFileName):
11551         * dgif_lib.c (DGifOpenFileHandle):
11552         * dgif_lib.c (DGifGetLine):
11553         * dgif_lib.c (DGifGetPixel):
11554         Added config.h/lisp.h, fix up includes.
11555         [1].
11556
11557         * dired-msw.c:
11558         [4].
11559
11560         * dired.c:
11561         * dired.c (file_name_completion):
11562         * dired.c (Ffile_attributes):
11563         * dired.c (syms_of_dired):
11564         [1].
11565
11566         * dumper.c:
11567         * dumper.c (pdump_file_unmap):
11568         * dumper.c (pdump_load):
11569         [1].
11570
11571         * editfns.c:
11572         * editfns.c (Ftemp_directory):
11573         * editfns.c (user_login_name):
11574         * editfns.c (Fuser_real_login_name):
11575         * editfns.c (get_home_directory):
11576         [1].
11577
11578         * elhash.c (finish_marking_weak_hash_tables):
11579         [[[[5]]]]: Fix GCC warnings.
11580
11581         * emacs.c:
11582         * emacs.c (mswindows_handle_hardware_exceptions):
11583         * emacs.c (make_arg_list_1):
11584         * emacs.c (main_1):
11585         * emacs.c (Fkill_emacs):
11586         * emacs.c (Fdump_emacs):
11587         [1].
11588         Fix problems with nested crashes, add long comment.
11589
11590         * event-Xt.c (init_event_Xt_late):
11591         [1].
11592
11593         * event-msw.c:
11594         * event-msw.c (mswindows_dde_callback):
11595         * event-msw.c (mswindows_handle_sticky_modifiers):
11596         * event-msw.c (mswindows_wnd_proc):
11597         [1].
11598         [5].
11599
11600         * events.c (character_to_event):
11601         [1].
11602
11603         * fileio.c:
11604         * fileio.c (Ffile_name_directory):
11605         * fileio.c (Ffile_name_nondirectory):
11606         * fileio.c (directory_file_name):
11607         * fileio.c (Fexpand_file_name):
11608         * fileio.c (Fsubstitute_in_file_name):
11609         * fileio.c (Ffile_name_absolute_p):
11610         * fileio.c (check_executable):
11611         * fileio.c (Ffile_readable_p):
11612         * fileio.c (Ffile_accessible_directory_p):
11613         * fileio.c (Ffile_modes):
11614         * fileio.c (Funix_sync):
11615         * fileio.c (vars_of_fileio):
11616         [1]. [4].
11617
11618         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11619
11620         Expand getdefdir defn.
11621         Fix bogus rename() comment.
11622
11623         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11624         to use standard XEmacs include files, e.g. sysfile.h, rather
11625         than system-specific includes.
11626
11627         * fns.c:
11628         * fns.c (Fsubseq):
11629         [5]. [6].
11630
11631         * frame.c (vars_of_frame):
11632         [1].
11633
11634         * getloadavg.c:
11635         * getloadavg.c (getloadavg):
11636         [1]. [6].
11637         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11638         (We don't use it elsewhere in the code; just add a comment.)
11639
11640         * gif_io.c:
11641         [6].
11642         Add config.h.
11643
11644         * glyphs-msw.c:
11645         * glyphs-msw.c (mswindows_resource_instantiate):
11646         [1].
11647
11648         * glyphs-x.c (x_native_layout_instantiate):
11649         [5].
11650
11651         * gui-msw.c (Fmswindows_shell_execute):
11652         [1].
11653
11654         * insdel.c:
11655         [4].
11656
11657         * lisp.h:
11658         [4]. [5].
11659
11660         * lread.c (locate_file_in_directory_mapper):
11661         [1].
11662
11663         * lstream.c:
11664         [4].
11665
11666         * mem-limits.h:
11667         * mem-limits.h (get_lim_data):
11668         [1].
11669
11670         * menubar-msw.c:
11671         [4].
11672
11673         * ndir.h:
11674         [1].
11675
11676         * nt.c:
11677         * nt.c (getwd):
11678         * nt.c (closedir):
11679         * nt.c (rva_to_section):
11680         * nt.c (mswindows_executable_type):
11681         [1]. [6].
11682         Fix closedir() defn.
11683
11684         * nt.h:
11685         [[[[8]]]]: *_OK defs moved to sysfile.h.
11686
11687         * ntproc.c:
11688         [6]. [7].
11689
11690         * objects-x.c:
11691         [4].
11692
11693         * print.c:
11694         * print.c (std_handle_out_external):
11695         [1]. [4].
11696
11697         * process-nt.c:
11698         * process-nt.c (nt_create_process):
11699         [6].
11700         try to fix process quoting somewhat.
11701
11702         * process-unix.c (unix_create_process):
11703         [1].
11704
11705         * process.c:
11706         * process.c (vars_of_process):
11707         Add Vnull_device.
11708
11709         * process.h:
11710         [1].
11711
11712         * realpath.c:
11713         * realpath.c (xrealpath):
11714         [1].
11715
11716         * redisplay-tty.c (init_tty_for_redisplay):
11717         [3].
11718
11719         * redisplay.c:
11720         [4]. [6].
11721
11722         * scrollbar-msw.c:
11723         [4].
11724
11725         * sheap.c:
11726         * sheap.c (more_static_core):
11727         * sheap.c (report_sheap_usage):
11728         [5]. [6].
11729
11730         * signal.c:
11731         * signal.c (alarm_signal):
11732         [1]. [6].
11733
11734         * sound.c:
11735         [6].
11736
11737         * strftime.c:
11738         * strftime.c (zone_name):
11739         [1]. [5].
11740
11741         * symsinit.h (init_sunpro):
11742         [1].
11743
11744         * syscommctrl.h:
11745         commctrl.h not in Cygwin b20.1.
11746
11747         * sysdep.c:
11748         * sysdep.c (endif):
11749         * sysdep.c (sys_subshell):
11750         * sysdep.c (init_baud_rate):
11751         * sysdep.c (emacs_get_tty):
11752         * sysdep.c (emacs_set_tty):
11753         * sysdep.c (tty_init_sys_modes_on_device):
11754         * sysdep.c (init_system_name):
11755         * sysdep.c (sys_open):
11756         * sysdep.c (interruptible_open):
11757         * sysdep.c (sys_fopen):
11758         * sysdep.c (sys_mkdir):
11759         * sysdep.c (sys_rename):
11760         * sysdep.c (get_process_times_1):
11761         [1]. [6].
11762
11763         * sysdep.h:
11764         [1].
11765
11766         * sysdir.h:
11767         * sysdir.h (DIRENTRY_NONEMPTY):
11768         [1]. [6].
11769
11770         * sysdll.c (dll_init):
11771         * sysdll.h:
11772         [1].
11773
11774         * sysfile.h:
11775         [1]. [6]. [8].
11776         added text/binary defs.
11777
11778         * sysfloat.h:
11779         [1].
11780
11781         * sysproc.h:
11782         * sysproc.h (EDESTADDRREQ):
11783         * sysproc.h (poll_fds_for_input):
11784         [1]. [6].
11785
11786         * syspwd.h:
11787         [6].
11788
11789         * syssignal.h:
11790         [1].
11791
11792         * systime.h:
11793         [1]. [6].
11794
11795         * systty.h:
11796         [1].
11797
11798         * syswindows.h:
11799         [1].
11800         Always define WIN32_LEAN_AND_MEAN.
11801
11802         * unexcw.c (unexec):
11803         [5].
11804
11805         * unexec.c:
11806         * unexec.c (copy_text_and_data):
11807         * unexec.c (adjust_lnnoptrs):
11808         [1].
11809
11810         * unexnt.c:
11811         * unexnt.c (_start):
11812         [1].
11813
11814 2000-06-07  Ben Wing  <ben@xemacs.org>
11815
11816         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11817         was used only as a model.  We've long since extracted any useful
11818         logic or code out of this. (I just did an exhaustive search.)
11819
11820         * s\msdos.h: Removed.
11821
11822         * s\windows95.h: Removed.
11823
11824 2000-06-10  Ben Wing  <ben@xemacs.org>
11825
11826         * s\cygwin32.h:
11827         [1]. [5].
11828         Don't use extern with fun defs.
11829
11830         * s\mingw32.h:
11831         [1]. [7].
11832         Remove nt\inc include.
11833         Remove getdisk, getdefdir. (The former is unused, the latter
11834         expanded in fileio.h.)
11835
11836         * s\windowsnt.h:
11837         * s\windowsnt.h (WIN32_NATIVE):
11838         * s\windowsnt.h (HAVE_STRCASECMP):
11839         [1]. [7].
11840         Add long comment about preprocessor changes.
11841         Remove getdisk, getdefdir. (The former is unused, the latter
11842         expanded in fileio.h.)
11843
11844 2000-06-10  Ben Wing  <ben@xemacs.org>
11845
11846         * m\arm.h:
11847         * m\delta.h:
11848         * m\intel386.h:
11849         * m\sequent.h:
11850         * m\template.h:
11851         * m\windowsnt.h:
11852         [1].
11853         Remove bogus/unused NO_SOCK_SIGIO.
11854
11855 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11856
11857         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11858         not an Emchar.
11859
11860 2000-06-04  Mike Sperber <mike@xemacs.org>
11861
11862         * casetab.c (set_case_table): For `set-standard-case-table',
11863         actually deposit the new case tables where the rest of XEmacs can
11864         see them.
11865
11866 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11867
11868         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11869
11870 2000-06-05  Ben Wing  <ben@xemacs.org>
11871
11872         * callproc.c (child_setup): Don't do close_load_descs() under
11873         MS Windows.  Put in a comment explaining why.
11874
11875 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11876
11877         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11878         Toolkit shell" which breaks `kill-compilation' on Windows NT
11879         native, retaining STDERR handling improvements.
11880
11881 2000-06-01  Andreas Jaeger  <aj@suse.de>
11882
11883         * s/s390.h: Support for S390, based on a patch by Martin
11884         Schwidefsky <schwidefsky@de.ibm.com>.
11885
11886 2000-05-30  Andy Piper  <andy@xemacs.org>
11887
11888         * window.c (allocate_window):
11889         (make_dummy_parent):
11890         (Fset_window_configuration): use new hashtable type.
11891
11892         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11893         (struct image_instantiator_methods):
11894         (struct Lisp_Image_Instance): make instance geometry signed.
11895
11896         * glyphs.c (instantiate_image_instantiator):
11897         (image_instance_query_geometry):
11898         (image_instance_layout):
11899         (image_instance_layout):
11900         (query_string_geometry):
11901         (text_query_geometry):
11902         (image_instantiate):
11903         (image_instantiate):
11904         (cache_subwindow_instance_in_frame_maybe):
11905         (subwindow_query_geometry): make instance geometry signed.
11906
11907         * glyphs-widget.c (widget_query_geometry):
11908         (widget_layout):
11909         (button_query_geometry):
11910         (tree_view_query_geometry):
11911         (tab_control_query_geometry):
11912         (layout_query_geometry):
11913         (layout_layout):
11914         (native_layout_layout): make instance geometry signed.
11915
11916 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11917
11918         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11919         constant.
11920
11921         * general.c (syms_of_general): Add Qfull_assoc symbol.
11922
11923         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11924         correctly.
11925         (decode_weak_list_type): Decode full-assoc type.
11926         (encode_weak_list_type): Encode full-assoc type.
11927         (Fmake_weak_list): Update doc string.
11928
11929 2000-05-30  Andy Piper  <andy@xemacs.org>
11930
11931         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11932
11933         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11934         (decode_hash_table_weakness): ditto.
11935         (Fhash_table_weakness): ditto.
11936         (Fhash_table_type): ditto.
11937         (finish_marking_weak_hash_tables): ditto.
11938         (hash_table_weakness_validate): ditto.
11939         (syms_of_elhash): ditto.
11940
11941 2000-05-28  Martin Buchholz <martin@xemacs.org>
11942
11943         * XEmacs 21.2.34 is released.
11944
11945 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11946
11947         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11948         start cache.
11949         (updating_line_start_cache): Gone.
11950         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11951         generic code to force a minimum of 1 line laid out in the
11952         CMOTION_DISP case.
11953
11954 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11955
11956         * glyphs.c (instantiate_image_instantiator): Check for initialized
11957         height & width no longer special cases IMAGE_NOTHING.
11958         (nothing_instantiate): Set height and width of instance.
11959
11960 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11961
11962         * unexelf.c (unexec): Search for ".data" section.
11963         Initialize new_data2_offset from old_data_index.
11964         Remove redundant check for ElfW.
11965
11966 2000-05-23  Andy Piper  <andy@xemacs.org>
11967
11968         * glyphs.c (get_image_instantiator_governing_domain): allow more
11969         specific domains as the governing domain rather than expecting an
11970         exact match. This fixes problems with layouts.
11971
11972 2000-05-22  Andy Piper  <andy@xemacs.org>
11973
11974         * redisplay-output.c (compare_runes): check for non-images
11975
11976         * glyphs.c (set_glyph_dirty_p): ditto.
11977         (update_glyph_cachel_data): ditto.
11978
11979         * glyphs-widget.c (layout_post_instantiate): ditto.
11980         (layout_post_instantiate): ditto.
11981
11982         * event-msw.c (mswindows_wnd_proc): warning removal.
11983
11984 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11985
11986         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11987
11988         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11989
11990         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11991
11992         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11993         (mswindows_executable_type): mingw32 now has enough headers for
11994         this to work.
11995
11996 2000-05-20  Andy Piper  <andy@xemacs.org>
11997
11998         * console-msw.c (mswindows_output_last_error): ; -> ,
11999
12000 2000-05-12  Andy Piper  <andy@xemacs.org>
12001
12002         * console-msw.c (FROB): compare ints with ints.
12003
12004 2000-05-11  Andy Piper  <andy@xemacs.org>
12005
12006         * glyphs-x.c (x_finalize_image_instance): make minimal build
12007         happy.
12008
12009 2000-05-20  Ben Wing  <ben@xemacs.org>
12010
12011         * event-Xt.c:
12012         * event-Xt.c (vars_of_event_Xt):
12013         move modifier-keys-are-sticky to event-stream.c.
12014
12015         * event-msw.c:
12016         * event-msw.c (mswindows_enqueue_mouse_button_event):
12017         * event-msw.c (key_needs_default_processing_p):
12018         * event-msw.c (XEMSW_LCONTROL):
12019         * event-msw.c (mswindows_handle_sticky_modifiers):
12020         * event-msw.c (FROB):
12021         * event-msw.c (clear_sticky_modifiers):
12022         * event-msw.c (output_modifier_keyboard_state):
12023         * event-msw.c (output_alt_keyboard_state):
12024         * event-msw.c (mswindows_wnd_proc):
12025         * event-msw.c (mswindows_modifier_state):
12026         * event-msw.c (emacs_mswindows_handle_magic_event):
12027         implement sticky modifiers.
12028
12029         * event-stream.c:
12030         * event-stream.c (vars_of_event_stream):
12031         move modifier-keys-are-sticky here.
12032
12033         * lisp.h:
12034         add CHECK_FUNCTION.
12035
12036         * rangetab.c:
12037         implement map-range-table.
12038
12039
12040 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12041
12042         * redisplay-tty.c (reset_tty_modes):
12043         (tty_redisplay_shutdown): Adjust argument type to
12044         tty_frame_output_end.
12045
12046 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12047
12048         * eval.c (Fbacktrace): Don't output a line with only right
12049         parenthesis.
12050
12051 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12052
12053         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12054         (Fpq_reset_poll): Ditto.
12055
12056 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12057
12058         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12059
12060 2000-05-16  Ben Wing  <ben@xemacs.org>
12061
12062         * buffer.c:
12063         * buffer.c (dfc_convert_to/from_internal_format):
12064         * buffer.c (reinit_vars_of_buffer):
12065         Fix conversion functions to allow reentrancy.
12066
12067         * console-msw.c:
12068         * console-msw.c (mswindows_output_last_error):
12069         New fun, generally useful -- output a human-readable
12070         version of GetLastError() on the console.
12071
12072         * console-msw.h:
12073         * console-msw.h (struct mswindows_frame):
12074         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12075
12076         * console-stream.c (stream_output_begin):
12077         * console-stream.c (stream_output_end):
12078         * console-stream.c (stream_output_vertical_divider):
12079         * console-stream.c (stream_clear_region):
12080         * console-stream.c (stream_flash):
12081         * console-stream.c (console_type_create_stream):
12082         Delete blank stream methods, not needed.
12083
12084         * console.h (struct console_methods):
12085         Split begin/end methods into window and frame.
12086
12087         * event-msw.c:
12088         * event-msw.c (mswindows_handle_paint):
12089         * event-msw.c (output_alt_keyboard_state):
12090         * event-msw.c (mswindows_wnd_proc):
12091         * event-msw.c (vars_of_event_mswindows):
12092         Comment about problems with ignored-expose.
12093         Define mswindows-debug-events; not really implemented.
12094
12095         * frame-msw.c (mswindows_init_frame_1):
12096         random cleanups.
12097
12098         * glyphs-msw.c:
12099         * glyphs-msw.c (begin_defer_window_pos):
12100         * glyphs-msw.c (mswindows_unmap_subwindow):
12101         * glyphs-msw.c (mswindows_map_subwindow):
12102         * glyphs-msw.c (mswindows_resize_subwindow):
12103         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12104
12105         * glyphs.c (make_image_instance_1):
12106         Fix crash.
12107
12108         * gutter.c (Fredisplay_gutter_area):
12109         Use new begin/end methods.
12110
12111         * lisp.h (Dynarr_new2):
12112         New creation fun.
12113
12114         * redisplay-msw.c:
12115         * redisplay-msw.c (mswindows_frame_output_begin):
12116         * redisplay-msw.c (mswindows_frame_output_end):
12117         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12118         New begin/end methods -- handle DeferWindowPos.
12119
12120         * redisplay-output.c (redisplay_move_cursor):
12121         * redisplay-output.c (redraw_cursor_in_window):
12122         * redisplay-output.c (redisplay_update_line):
12123         * redisplay-output.c (redisplay_output_window):
12124         New begin/end methods.
12125
12126         * redisplay-tty.c:
12127         * redisplay-tty.c (tty_frame_output_begin):
12128         * redisplay-tty.c (tty_frame_output_end):
12129         * redisplay-tty.c (console_type_create_redisplay_tty):
12130         New begin/end methods.
12131
12132         * redisplay-x.c:
12133         * redisplay-x.c (x_window_output_begin):
12134         * redisplay-x.c (x_window_output_end):
12135         * redisplay-x.c (console_type_create_redisplay_x):
12136         New begin/end methods.
12137
12138         * redisplay.c (redisplay_frame):
12139         * redisplay.c (Fredisplay_echo_area):
12140         New begin/end methods.
12141         use MAYBE_DEVMETH for clear_frame; it may not exist.
12142
12143         * window.h (WINDOW_XFRAME):
12144         WINDOW_XFOO macros -- get locale and decode struct pointer.
12145
12146
12147 2000-05-12  Ben Wing  <ben@xemacs.org>
12148
12149         * emacs.c:
12150         * emacs.c (ensure_no_quitting_from_now_on):
12151         * emacs.c (fatal_error_signal):
12152         * emacs.c (mswindows_handle_hardware_exceptions):
12153         * emacs.c (main):
12154         * emacs.c (Fkill_emacs):
12155         * emacs.c (shut_down_emacs):
12156         * emacs.c (assert_failed):
12157         various improvements in fatal error handling.
12158
12159         * eval.c:
12160         move preparing_for_armageddon to emacs.c.
12161
12162         * lisp.h:
12163         declare fatal_error_in_progress.
12164
12165         * print.c:
12166         * print.c (std_handle_out_external):
12167         * print.c (std_handle_out_va):
12168         * print.c (stderr_out):
12169         * print.c (stdout_out):
12170         use console under mswin when no standard output.
12171         don't do code conversion during fatal error.
12172
12173         * scrollbar.c (Fscrollbar_page_up):
12174         * scrollbar.c (Fscrollbar_page_down):
12175         fix missing else.  reindent.
12176
12177 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12178
12179         Emergency fix.
12180
12181         * glyphs.h (GLYPH_CACHEL_DESCENT):
12182         (GLYPH_CACHEL_DESCENT):
12183         (GLYPH_CACHEL_DESCENT):
12184         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12185         used in case these are inline functions.
12186         Use more absurd values to error check.
12187
12188         include window.h for error check functions.
12189
12190 2000-05-11  Ben Wing  <ben@xemacs.org>
12191
12192         * cmdloop.c (Freally_early_error_handler):
12193         Display message box under windows; otherwise, message will disappear
12194         before it can be viewed.
12195
12196         * console-msw.c:
12197         * console-msw.c (Fmswindows_message_box):
12198         * console-msw.c (FROB):
12199         * console-msw.c (syms_of_console_mswindows):
12200         Define new fun `mswindows-message-box'.
12201         #### I will merge this into `popup-dialog-box'; just give me
12202         a bit of time.
12203
12204         * general.c:
12205         * general.c (syms_of_general):
12206         Some new symbols used in `mswindows-message-box'.
12207
12208         * glyphs.c:
12209         * glyphs.c (Fset_image_instance_property):
12210         put warning in this fun.
12211
12212         * glyphs.h:
12213         * glyphs.h (GLYPH_CACHEL_WIDTH):
12214         * glyphs.h (GLYPH_CACHEL_ASCENT):
12215         * glyphs.h (GLYPH_CACHEL):
12216         * glyphs.h (GLYPH_CACHEL_GLYPH):
12217         define error-checking versions to try to catch a bug i've seen --
12218         redisplay gets in an infinite loop because the glyph width of the
12219         continuation glyph is 65535.
12220
12221         * lisp.h:
12222         Extern message-box stuff.
12223
12224         * window.c (allocate_window):
12225         * window.c (make_dummy_parent):
12226         * window.c (Fset_window_configuration):
12227         Use EQUAL not EQ for subwindow caches to make them work a bit
12228         better. (Something is still very broken.)
12229
12230
12231 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12232
12233         * glyphs.c (image_instantiate): Suppress gcc warnings.
12234         (Fmake_image_instance): Fix doc string.
12235         * specifier.c (Fmake_specifier): Ditto.
12236
12237 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12238
12239         * paths.h.in (PATH_LOCK): Removed.
12240         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12241         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12242
12243 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12244
12245         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12246         Document (featurep '(and xemacs 21.02)).
12247
12248 2000-05-09  Ben Wing  <ben@xemacs.org>
12249
12250         * buffer.c (complex_vars_of_buffer):
12251         update modeline-format doc.
12252
12253         * device.h:
12254         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12255
12256         * emacs.c:
12257         timeline of all released versions of Emacs, for use in creating
12258         authorship comments and in synching up.
12259
12260         * glyphs-widget.c (image_instantiator_buttons):
12261         * glyphs-widget.c (image_instantiator_edit_fields):
12262         * glyphs-widget.c (image_instantiator_combo_box):
12263         * glyphs-widget.c (image_instantiator_scrollbar):
12264         * glyphs-widget.c (image_instantiator_progress_guage):
12265         * glyphs-widget.c (image_instantiator_tree_view):
12266         * glyphs-widget.c (image_instantiator_tab_control):
12267         * glyphs-widget.c (image_instantiator_labels):
12268         * glyphs-widget.c (image_instantiator_layout):
12269         * glyphs-widget.c (image_instantiator_native_layout):
12270         rename decode_domain method to governing_domain.
12271
12272         * glyphs.c:
12273         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12274         * glyphs.c (add_entry_to_device_ii_format_list):
12275         make sure we don't put an entry more than once into the list.
12276         * glyphs.c (check_instance_cache_mapper):
12277         *************************************************************
12278         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12279         HAVE BEEN GETTING.
12280         *************************************************************
12281         * glyphs.c (get_image_instantiator_governing_domain):
12282         clean up, expand on new concept of governing domain.
12283         * glyphs.c (instantiate_image_instantiator):
12284         * glyphs.c (allocate_image_instance):
12285         use governing_domain instead of cache_domain in naming.
12286         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12287         * glyphs.c (make_image_instance_1):
12288         * glyphs.c (Fmake_image_instance):
12289         allow for any domain (not just device), and process the
12290         governing domain correctly.  very big doc fix.
12291         * glyphs.c (Fimage_instance_domain):
12292         new primitive, to retrieve the governing domain of an image instance.
12293         * glyphs.c (image_instantiate):
12294         use new governing_domain stuff.  this fixes a crash you could get
12295         by instantiating certain widget glyphs in frame locales. (should
12296         signal an error instead of crashing.)
12297         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12298         * glyphs.c (Fglyphp): clean up doc.
12299         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12300         * glyphs.c (syms_of_glyphs):
12301         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12302         * glyphs.c (image_instantiator_format_create): add some comments about
12303         bogus code.
12304         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12305         for current-display-table. (Apparently Hrjove implemented in 1998 a
12306         design I wrote up in 1996, but didn't update the doc string.)
12307
12308         * glyphs.h: clean up a doc string.
12309         * glyphs.h (governing_domain):
12310         * glyphs.h (struct image_instantiator_methods):
12311         changes for governing_domain stuff.
12312
12313         * gutter.c:
12314         * gutter.c (Fgutter_specifier_p):
12315         * gutter.c (Fgutter_size_specifier_p):
12316         * gutter.c (Fgutter_visible_specifier_p):
12317         * objects.c:
12318         * objects.c (Fcolor_specifier_p):
12319         * objects.c (Ffont_specifier_p):
12320         * objects.c (Fface_boolean_specifier_p):
12321         doc strings moved to make-*-specifier.
12322
12323         * redisplay.c (add_disp_table_entry_runes_1):
12324         * redisplay.c (generate_fstring_runes):
12325         * redisplay.c (screen):
12326         add random comments and doc strings.
12327
12328         * specifier.c:
12329         * specifier.c (Fmake_specifier):
12330         major overhaul of this doc string.
12331
12332         * specifier.c (Fvalid_specifier_domain_p):
12333         comment about the bogosity of image instances being domains.
12334         * specifier.c (decode_domain):
12335         now non-static, used in glyphs.c.
12336         * specifier.c (specifier_instance):
12337         comment about the bogosity of image instances being domains.
12338         * specifier.c (Fgeneric_specifier_p):
12339         move doc string to make-generic-specifier.
12340         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12341         rebackslashify.
12342
12343         * specifier.h:
12344         * specifier.h (DOMAIN_FRAME):
12345         * specifier.h (DOMAIN_LIVE_P):
12346         * specifier.h (DOMAIN_XDEVICE):
12347         rebackslashify.
12348         add comments about problems with these macros.
12349         prototype for decode_domain.
12350
12351         * toolbar.c:
12352         * toolbar.c (Ftoolbar_specifier_p):
12353         move doc string to `make-toolbar-specifier'.
12354
12355         * window.c (window_unmap_subwindows_cache_mapper):
12356         *************************************************************
12357         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12358         HAVE BEEN GETTING.
12359         *************************************************************
12360
12361 2000-05-09  Andy Piper  <andy@xemacs.org>
12362
12363         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12364
12365         * window.c (Fset_window_configuration): reset the frame subwindow
12366         cache and re-initialize the window subwindow caches.
12367
12368         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12369
12370 2000-05-09  Ben Wing  <ben@xemacs.org>
12371
12372         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12373         DWORD.
12374
12375 2000-04-26  Mike Woolley  <mike@bulsara.com>
12376
12377         * ntheap.c: Changed recreate_heap to limit the amount reserved
12378         for the heap to that which is actually available. Also now
12379         displays a message box (with some dignostics) in the event that
12380         it still can't start.
12381
12382 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12383
12384         * callproc.c (Fold_call_process_internal): GCPRO path
12385
12386 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12387
12388         Patch by Bill Perry.
12389
12390         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12391         back data instead of #ifdef.
12392         (Fscrollbar_page_down): ditto.
12393
12394 2000-05-07  Ben Wing  <ben@xemacs.org>
12395
12396         * buffer.h:
12397         Kludge for defining Qmswindows_tstr.
12398
12399         * nt.c:
12400         * nt.c (open_input_file):
12401         * nt.c (open_output_file):
12402         * nt.c (rva_to_section):
12403         * nt.c (mswindows_executable_type):
12404         Move all memory-mapped-file routines here (some were in unexnt.c,
12405         which is bad because they are used by process-nt.c, and unexnt
12406         won't be around when portable dumping).  Synched the above routines
12407         with FSF 20.6.
12408
12409         * nt.h:
12410         Removed ifdef'd out bogus code.
12411         Fixed some prototypes.
12412
12413         * nt.h (file_data):
12414         * nt.h (OFFSET_TO_RVA):
12415         * nt.h (RVA_TO_OFFSET):
12416         * nt.h (RVA_TO_PTR):
12417         Moved the memory-mapped-file structures, macros and prototypes
12418         here, to parallel nt.c.  ntheap.h should really be removed
12419         entirely, and it's a non-portable-dumper specific file.
12420
12421         * ntheap.h (round_to_next):
12422         Moved the memory-mapped-file structures, macros and prototypes
12423         to nt.h.
12424
12425         * ntproc.c (compare_env):
12426         Moved rva_to_section and mswindows_executable_type to nt.c.
12427         Moved compare_env to process-nt.c.
12428         ntproc.c will die, one day.
12429
12430         * ntproc.c (sys_spawnve):
12431         Account for win32_ -> mswindows_.
12432
12433         * process-nt.c:
12434         * process-nt.c (struct nt_process_data):
12435         * process-nt.c (ensure_console_window_exists):
12436         * process-nt.c (compare_env):
12437         * process-nt.c (nt_create_process):
12438         * process-nt.c (nt_kill_process_by_pid):
12439         * process-nt.c (syms_of_process_nt):
12440         * process-nt.c (vars_of_process_nt):
12441         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12442         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12443         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12444         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12445         Move compare_env here from ntproc.c.
12446
12447         * process.c (Fprocess_send_region):
12448         Takes an optional fourth argument, BUFFER, which should fix some
12449         problems with call-process.
12450
12451         * syscommctrl.h:
12452         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12453
12454         * syswindows.h:
12455         Move ICC_BAR_CLASSES to syscommctrl.h.
12456         Add preliminary macros for MSWindows/Mule.  More to come.
12457
12458         * unexnt.c:
12459         * unexnt.c (unexec):
12460         open_output_file moved to nt.c.
12461
12462
12463 2000-05-05  Andy Piper  <andy@xemacs.org>
12464
12465         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12466         instance from the frame cache also since GC may catch up too late
12467         to make frame deletion sane.
12468
12469 2000-05-04  Andy Piper  <andy@xemacs.org>
12470
12471         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12472         (x_finalize_image_instance): ungcpro on deletion.
12473
12474         * glyphs.c (image_instantiator_format_create): give pointers a
12475         query geometry method so that the geometry is at least set.
12476
12477         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12478         initialize layouts if using widgets.
12479
12480 2000-05-03  Andy Piper  <andy@xemacs.org>
12481
12482         * nt.c: remove bogus reference to sysmmsystem.h
12483
12484         * gui-x.c (popup_selection_callback): fix no selection abort.
12485
12486 2000-05-02  Andy Piper  <andy@xemacs.org>
12487
12488         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12489         (mswindows_widget_instantiate): ditto.
12490
12491         * glyphs-widget.c (initialize_widget_image_instance): initialize
12492         children correctly.
12493         (widget_instantiate): cope with children and items in the same
12494         instance.
12495
12496         * glyphs.c (mark_image_instance): cope with children as a first
12497         class member.
12498         (image_instance_equal): ditto.
12499         (image_instance_hash): ditto.
12500         (image_instance_changed): ditto.
12501
12502 2000-04-30  Andy Piper  <andy@xemacs.org>
12503
12504         * glyphs.c (subwindow_query_geometry): new function. Return some
12505         defaults.
12506         (subwindow_instantiate): don't assign dimensions if none have been
12507         given.
12508         (image_instantiator_format_create): add subwindow_query_geometry.
12509         (print_image_instance): cope with layouts as widgets.
12510
12511 2000-04-29  Andy Piper  <andy@xemacs.org>
12512
12513         * frame.c (delete_frame_internal): call
12514         free_frame_subwindow_instance_cache so that all subwindows are
12515         finalized before their parent.
12516         (mark_frame): remove subwindow_cachels.
12517         (Fmake_frame): remove subwindow_cachel manipulation.
12518         (allocate_frame_core): subwindow_instance_cache is a weak list.
12519         (delete_frame_internal): set subwindow_instance_cache to nil.
12520
12521         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12522         finalization safe.
12523         (mswindows_finalize_image_instance): use the device
12524         not the domain as the domain may have died already.
12525
12526         * glyphs-x.c (x_finalize_image_instance): ditto.
12527         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12528         HEIGHT.
12529
12530         * redisplay-output.c (redisplay_unmap_subwindows): update for
12531         subwindow instance cache as a weak list.
12532         (redisplay_unmap_subwindows_maybe): ditto.
12533         (redisplay_unmap_subwindows_except_us): ditto.
12534
12535         * glyphs.c (unmap_subwindow): error checking will check the domain
12536         so don't deal with it here. Don't use cachels anymore.
12537         (map_subwindow): ditto.
12538         (update_subwindow_cachel_data): remove old accessor names.
12539         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12540         (Fresize_subwindow): don't update cachel.
12541         (mark_subwindow_cachels):
12542         (update_subwindow_cachel_data):
12543         (add_subwindow_cachel):
12544         (get_subwindow_cachel_index):
12545         (update_subwindow_cachel):
12546         (reset_subwindow_cachels):
12547         (mark_subwindow_cachels_as_not_updated): deleted.
12548         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12549         subwindow instance to the frame cache.
12550         (find_matching_subwindow): update for subwindow instance cache as
12551         a weak list.
12552         (update_widget_instances): ditto.
12553         (image_instance_type_to_mask):inlined.
12554         (free_frame_subwindow_instance_cache): new function. finalize all
12555         subwindows that are instantiated.
12556
12557         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12558         of cachel information.
12559         (IMAGE_INSTANCE_DISPLAY_X):
12560         (IMAGE_INSTANCE_DISPLAY_Y):
12561         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12562         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12563         (XIMAGE_INSTANCE_DISPLAY_X):
12564         (XIMAGE_INSTANCE_DISPLAY_Y):
12565         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12566         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12567         remove subwindow_cachel structure and function references.
12568         (image_instance_type_to_mask): inline from glyphs.c
12569
12570         * redisplay.c (redisplay_frame): remove subwindow_cachel
12571         references.
12572
12573         * frame.h (struct frame): remove subwindow_cachels.
12574         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12575
12576         * frameslots.h: add subwindow_instance_cache.
12577
12578         * window.c (replace_window): check subwindow cache of replacement.
12579         (window_unmap_subwindows_cache_mapper):
12580         (window_unmap_subwindows): new functions. Unmap all subwindows
12581         cached on this window.
12582         (mark_window_as_deleted): unmap all subwindows.
12583
12584 2000-04-27  Andy Piper  <andy@xemacs.org>
12585
12586         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12587
12588         * glyphs-widget.c (widget_layout): return something.
12589         (layout_layout): return something. Fail if not initialized.
12590         (layout_query_geometry): ditto.
12591         (image_instantiator_native_layout): new function. Initialized the
12592         native layout type.
12593         (widget_instantiate): don't do layout stuff here.
12594
12595         * glyphs.c (instantiate_image_instantiator): reorded calling or
12596         instantiate and post_instantiate with layout in between.
12597         (image_instance_layout): be more selective about deciding whether
12598         the layout has been done or not.
12599
12600         * glyphs.h (struct image_instantiator_methods): return a value
12601         from layout_method.
12602
12603 2000-04-26  Andy Piper  <andy@xemacs.org>
12604
12605         * glyphs.c (allocate_image_instance): make initial width and
12606         height unspecified. Set initialized to 0.
12607
12608         * syscommctrl.h new file. Encapsulates commctrl.h.
12609
12610         * syswindows.h new file. Encapsulates windows.h.
12611
12612         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12613         * nt.c: ditto.
12614         * console-msw.h: ditto.
12615
12616         * redisplay-tty.c (tty_output_display_block): remove layout references.
12617
12618         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12619         window handle rather than just the frame.
12620
12621         * glyphs.c (mark_image_instance): remove layout references.
12622         (print_image_instance): ditto.
12623         (image_instance_equal): ditto.
12624         (image_instance_hash): ditto.
12625         (decode_image_instance_type): ditto.
12626         (encode_image_instance_type): ditto.
12627         (image_instantiate): ditto.
12628         (allocate_glyph): ditto.
12629         (Fimage_instance_height): ditto.
12630         (Fimage_instance_width): ditto.
12631         (update_subwindow): ditto.
12632
12633         * redisplay-x.c (x_output_display_block): recode for layouts as
12634         widgets.
12635
12636         * redisplay-output.c (redisplay_output_layout): recode for layouts
12637         as widgets.
12638         (compare_runes): remove layout references.
12639
12640         * redisplay-msw.c (mswindows_output_display_block): recode for
12641         layouts as widgets.
12642
12643         * glyphs-widget.c (image_instantiator_layout): remove
12644         layout_possible_dest_types.
12645         (layout_possible_dest_types): deleted.
12646
12647         * glyphs.h (image_instance_type): remove layout references.
12648         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12649         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12650         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12651
12652 2000-04-25  Andy Piper  <andy@xemacs.org>
12653
12654         * glyphs-widget.c (image_instantiator_buttons):
12655         (image_instantiator_edit_fields):
12656         (image_instantiator_combo_box):
12657         (image_instantiator_scrollbar):
12658         (image_instantiator_progress_guage):
12659         (image_instantiator_tree_view):
12660         (image_instantiator_tab_control):
12661         (image_instantiator_labels):
12662         (image_instantiator_layout): call default post_instantiate method.
12663         (widget_post_instantiate): new function. Simply lays out the
12664         widgets.
12665
12666         * glyphs.h (struct image_instantiator_methods): add
12667         post_instantiate method.
12668
12669         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12670         method calls.
12671
12672 2000-04-23  Andy Piper  <andy@xemacs.org>
12673
12674         * glyphs.h (struct image_instantiator_methods): add
12675         decode_domain_method.
12676         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12677         derived from the domain.
12678         (IMAGE_INSTANCE_FRAME): new accessor.
12679         (XIMAGE_INSTANCE_FRAME): ditto.
12680
12681         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12682         instead of _SUBWINDOW_FRAME.
12683         (finalize_image_instance): ditto.
12684         (Fimage_instance_foreground): ditto.
12685         (Fimage_instance_background): ditto.
12686         (image_instantiate): ditto.
12687         (update_subwindow_cachel): ditto.
12688         (update_subwindow): ditto.
12689         (unmap_subwindow): ditto.
12690         (map_subwindow): ditto
12691         (subwindow_instantiate): ditto.
12692         * glyphs-msw.c (mswindows_update_widget): ditto.
12693         (mswindows_progress_gauge_instantiate): ditto.
12694         (mswindows_tab_control_update): ditto.
12695         * glyphs-x.c (x_update_widget): ditto.
12696         (x_widget_instantiate): ditto.
12697         (x_tab_control_instantiate): ditto.
12698         (x_tab_control_update): ditto.
12699         * event-msw.c (mswindows_wnd_proc): ditto
12700
12701         * glyphs-widget.c (image_instantiator_layout): use
12702         subwindow_decode_domain.
12703         (image_instantiator_buttons): ditto.
12704         (image_instantiator_edit_fields): ditto.
12705         (image_instantiator_combo_box): ditto.
12706         (image_instantiator_scrollbar): ditto.
12707         (image_instantiator_progress_guage): ditto.
12708         (image_instantiator_tree_view): ditto.
12709         (image_instantiator_tab_control): ditto.
12710         (image_instantiator_labels): ditto.
12711         (image_instantiator_layout): ditto.
12712
12713         * glyphs.c: add instance error checking to many functions.
12714         (instantiate_image_instantiator): decode device from cache_domain.
12715         (image_instantiate): partially rewrite by using
12716         decode_image_instantiator_domain to determine what domain the
12717         instance needs to be cached in.
12718         (decode_image_instantiator_domain): new function. Determine what
12719         domain the image needs to be cached in.
12720         (check_window_subwindow_cache): new error checking function.
12721         (check_instance_cache_mapper): ditto.
12722         (check_image_instance_structure): ditto.
12723         (subwindow_decode_domain): new function. Encodes a window as a
12724         subwindow's cache domain.
12725         (image_instantiator_format_create): use it for text and
12726         subwindows.
12727
12728 2000-04-21  Andy Piper  <andy@xemacs.org>
12729
12730         * glyphs.c (image_instance_device): new function.
12731         (image_instance_frame): new function.
12732         (image_instance_window): new function.
12733         (image_instance_live_p): new function.
12734
12735         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12736         cache to nil.
12737
12738         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12739         (IMAGE_INSTANCE_DOMAIN): new accessor.
12740         (XIMAGE_INSTANCE_DOMAIN): ditto.
12741
12742         * glyphs-x.c (x_finalize_image_instance): device->domain.
12743
12744         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12745         (mswindows_finalize_image_instance): ditto.
12746
12747         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12748         (gif_instantiate): ditto.
12749         (png_instantiate): ditto.
12750         (tiff_instantiate): ditto.
12751
12752         * glyphs.c (instantiate_image_instantiator): use domain rather
12753         than device.
12754         (mark_image_instance): device -> domain.
12755         (print_image_instance): ditto.
12756         (finalize_image_instance): ditto.
12757         (image_instance_equal): ditto.
12758         (allocate_image_instance): ditto.
12759         (Fcolorize_image_instance): ditto.
12760         (query_string_geometry): ditto.
12761         (image_instantiate): ditto
12762         (query_string_font): ditto.
12763         (image_instantiate): ditto.
12764         (update_subwindow): ditto.
12765         (unmap_subwindow): ditto.
12766         (map_subwindow): ditto.
12767         (subwindow_instantiate): ditto.
12768
12769         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12770         (DOMAIN_FRAME): ditto.
12771         (DOMAIN_WINDOW): ditto.
12772         (DOMAIN_LIVE_P): ditto.
12773         (XDOMAIN_DEVICE): ditto.
12774         (XDOMAIN_FRAME): ditto.
12775         (XDOMAIN_WINDOW): ditto.
12776
12777         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12778         a valid specifier domain.
12779
12780 2000-04-19  Andy Piper  <andy@xemacs.org>
12781
12782         * glyphs-widget.c (syms_of_glyphs_widget): remove
12783         widget-callback-current-channel.
12784         (vars_of_glyphs_widget): ditto.
12785         * glyphs.h: ditto
12786
12787         * gui.c (get_gui_callback): revert to previous behaviour.
12788
12789 2000-04-18  Andy Piper  <andy@xemacs.org>
12790
12791         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12792         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12793         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12794
12795         * glyphs.c (image_instance_equal): add margin_width.
12796         (image_instance_hash): ditto.
12797
12798         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12799         (layout_query_geometry): ditto.
12800         (layout_layout): ditto.
12801         (syms_of_glyphs_widget): add margin-width.
12802         (image_instantiator_layout): allow margin-width.
12803
12804         * glyphs.c (update_widget_instances): make a normal function.
12805         (syms_of_glyphs): remove Qupdate_widget_instances.
12806         * glyphs.h: ditto.
12807
12808         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12809         so that we don't corrupt ideas about the last event or
12810         command. Remove widget-callback-current-channel fiddling.
12811         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12812
12813 2000-05-01  Martin Buchholz <martin@xemacs.org>
12814
12815         * XEmacs 21.2.33 is released.
12816
12817 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12818
12819         * make-src-depend: Allow dots in header file name.
12820
12821 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12822
12823         * mule-charset.h (struct charset_lookup): Add
12824         next_allocated_1_byte_leading_byte and
12825         next_allocated_2_byte_leading_byte.
12826         * mule-charset.c: Move above two variables so that those values
12827         will be dumped.
12828
12829 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12830
12831         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12832         when string length is zero.
12833         (find_charsets_in_emchar_string): Ditto.
12834
12835 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12836
12837         * lisp.h: extern Qdialog and Qmenubar.
12838
12839         * gui-x.c: added events.h.
12840                 also fixed typo which made the file uncompilable.
12841
12842         * general.c: Added Qmenubar and Qdialog
12843
12844 2000-04-28  Ben Wing  <ben@xemacs.org>
12845
12846         * frame-msw.c (mswindows_init_frame_1):
12847         * frame-msw.c (mswindows_mark_frame):
12848         * event-msw.c (mswindows_enqueue_dispatch_event):
12849         * console-msw.h:
12850         * console-msw.h (struct mswindows_frame):
12851         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12852         there are now three hash tables for callbacks.
12853         mswindows_enqueue_dispatch_event is no longer static.
12854
12855         * dialog-x.c (maybe_run_dbox_text_callback):
12856         * dialog-x.c (dbox_descriptor_to_widget_value):
12857         switch to new cons3 form for callbacks.
12858
12859         * glyphs-msw.c (mswindows_register_gui_item):
12860         * glyphs-msw.c (mswindows_widget_instantiate):
12861         * glyphs-msw.c (add_tree_item):
12862         * glyphs-msw.c (add_tab_item):
12863         new image instance parameter, so it can be passed to callback-ex.
12864         respect :callback-ex as well as :callback.
12865
12866         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12867         add :callback-ex.
12868
12869         * glyphs.c (print_image_instance):
12870         prettify, e.g. now prints widget type.
12871
12872         * gui-x.h:
12873         certain funs have new image instance parameter.
12874
12875         * gui.c:
12876         * gui.c (get_gui_callback):
12877         * gui.c (gui_item_add_keyval_pair):
12878         * gui.c (gui_item_init):
12879         * gui.c (gui_add_item_keywords_to_plist):
12880         * gui.c (mark_gui_item):
12881         * gui.c (gui_item_hash):
12882         * gui.c (gui_item_equal):
12883         * gui.c (copy_gui_item):
12884         * gui.c (syms_of_gui):
12885         recognize callback-ex in a number of places.
12886         also, fix the annoying "can't get out of yes-no dialog" bug.
12887
12888         * gui.h:
12889         * gui.h (struct Lisp_Gui_Item):
12890         recognize callback-ex in a number of places.
12891
12892         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12893         new parameter in button_item_to_widget_value.
12894
12895         * glyphs-x.c (x_update_widget):
12896         * glyphs-x.c (x_button_instantiate):
12897         * glyphs-x.c (x_button_update):
12898         * glyphs-x.c (x_progress_gauge_instantiate):
12899         * glyphs-x.c (x_edit_field_instantiate):
12900         * glyphs-x.c (x_combo_box_instantiate):
12901         * glyphs-x.c (x_tab_control_instantiate):
12902         * glyphs-x.c (x_label_instantiate):
12903         new image instance parameter in various places.
12904
12905         * event-Xt.c:
12906         * event-Xt.c (enqueue_Xt_dispatch_event):
12907         this fun gets exported.
12908
12909         * gui-msw.c:
12910         * gui-msw.c (mswindows_handle_gui_wm_command):
12911         handle both :callback and :callback-ex, and generate our own
12912         event because it's one of the callback-ex arguments.
12913
12914         * gui-x.c:
12915         * gui-x.c (popup_selection_callback):
12916         handle both :callback and :callback-ex, and generate our own
12917         event because it's one of the callback-ex arguments.
12918         * gui-x.c (button_item_to_widget_value):
12919         * gui-x.c (gui_items_to_widget_values_1):
12920         * gui-x.c (gui_item_children_to_widget_values):
12921         * gui-x.c (gui_items_to_widget_values):
12922         new image instance parameter in various places.
12923
12924         * fns.c (Freplace_list):
12925         fix small typo in doc string.
12926
12927         * lisp.h:
12928         declare enqueue_Xt_dispatch_event.
12929
12930 2000-04-28  Ben Wing  <ben@xemacs.org>
12931
12932         * buffer.c:
12933         * buffer.c (Frecord_buffer):
12934         * buffer.c (syms_of_buffer):
12935         delete record-buffer-hook.
12936
12937         * fns.c:
12938         * fns.c (Freplace_list):
12939         * fns.c (syms_of_fns):
12940         new primitive replace-list.
12941
12942         * frameslots.h:
12943         slot for old buffer-alist.
12944
12945         * lisp.h:
12946         exfun replace-list.
12947
12948         * redisplay.c:
12949         * redisplay.c (redisplay_frame):
12950         * redisplay.c (syms_of_redisplay):
12951         * redisplay.c (vars_of_redisplay):
12952         new hook buffer-list-changed-hook.
12953         call it.
12954
12955 2000-04-27  Ben Wing  <ben@xemacs.org>
12956
12957         * extents.h: extern in_modeline_generation.
12958
12959         * redisplay.c (generate_formatted_string_db): set
12960         in_modeline_generation.
12961
12962         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12963         flags if in modeline generation.  otherwise frame-modified-tick
12964         is ticked far too often.
12965         Declare in_modeline_generation.
12966
12967 2000-04-26  Ben Wing  <ben@xemacs.org>
12968
12969         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12970         option.
12971         (vars_of_emacs): add quick-build as an error-checking option.
12972         A bit kludgy, but there doesn't seem much point in creating
12973         a real var for this.
12974
12975         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12976
12977 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12978
12979         * redisplay.h (struct display_line): Add a new variable,
12980         line_continuation.
12981
12982         * redisplay.c (create_text_block): Set dl->line_continuation if
12983         the line continues.
12984         (create_string_text_block): Ditto.
12985         (regenerate_window_incrementally): Use line_continuation instead
12986         of searching continuation glyph.
12987         (add_margin_runes): Call add_glyph_rune.
12988         (add_glyph_rune): Handle margin glyph.
12989
12990 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12991
12992         * filelock.c (fill_in_lock_file_name):
12993         ANSIfy.
12994         Check for IS_ANY_SEP instead of '/'.
12995         (lock_file_1):
12996         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12997         Never check errno without first seeing that system call failed.
12998         (unlock_file): Add GCPRO.
12999         (Flock_buffer): Fix docstring.
13000         (Ffile_locked_p): Fix docstring.  Add GCPRO.
13001
13002 2000-04-19  Martin Buchholz  <martin@xemacs.org>
13003
13004         * sysdep.c (get_pty_max_bytes):
13005         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
13006         strings longer than 252 bytes.
13007
13008         * md5.c: Unconditionally include ANSI header <limits.h>
13009
13010         * glyphs-x.c (convert_EImage_to_XImage):
13011         * lisp-union.h (union Lisp_Object):
13012         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
13013
13014 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
13015
13016         * filelock.c (current_lock_owner): Remove unused variable o, p.
13017
13018 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
13019
13020         * callint.c: Remove multiply defined symbol Qlet
13021         (syms_of_callint): ditto.
13022
13023 2000-04-14  Andy Piper  <andy@xemacs.org>
13024
13025         * general.c (syms_of_general): add last-command, this-command, let
13026         and funcall.
13027
13028         * lisp.h: declare various symbols.
13029
13030         * glyphs.h: declare Qwidget_callback_current_channel;
13031
13032         * glyphs-widget.c (syms_of_glyphs_widget): add
13033         Qgui_callback_current_channel.
13034         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13035
13036         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13037         widget-callback-current-channel when invoking the interactive
13038         arg. Also bind last-command and next-command when invoking the
13039         widget updates.
13040         * gui-x.c (popup_selection_callback): ditto.
13041
13042         * gui.c (get_gui_callback): massage args so that we are always
13043         calling eval. This allows us to add our own variable bindings
13044         outside.
13045
13046         * glyphs-x.c (x_button_instantiate): use
13047         gui_items_to_widget_values since this is GC safe.
13048         (x_progress_gauge_instantiate): ditto.
13049         (x_edit_field_instantiate): ditto.
13050         (x_label_instantiate): ditto.
13051
13052         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13053         (emacs_Xt_event_widget_focus_out): new function
13054         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13055         focus.
13056         (emacs_Xt_event_add_widget_actions): new function. add focus
13057         functions as actions.
13058         (init_event_Xt_late): use it.
13059
13060 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13061
13062         * event-stream.c (Fdispatch_event): Doc fix.
13063
13064 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13065
13066         * postgresql.c: Remove all references to PQsetenv*.
13067
13068         * postgresql.h: Remove references to PGsetenvHandler object.
13069         * lrecord.h (lrecord_type): Ditto.
13070
13071 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13072
13073         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13074         real_heigh and real_width members, and accessor macros for these.
13075
13076         * glyphs-msw.c (init_image_instance_geometry): New function.
13077         (init_image_instance_from_dibitmap): Use it.
13078         (mswindows_resource_instantiate): Use it.
13079         (init_image_instance_from_xbm_inline): Use it.
13080         (mswindows_initialize_image_instance_mask): Use real bitmap
13081         geometry.
13082         (mswindows_create_resized_bitmap): Ditto.
13083         (mswindows_create_resized_mask): Ditto.
13084
13085         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13086         and bitmap to their surface size.
13087
13088 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13089
13090         * process-unix.c (unix_send_process): Guard against process MIA
13091         after Faccept_process_output.
13092
13093 2000-04-11  Ben Wing  <ben@xemacs.org>
13094
13095         * eval.c (unbind_to_hairy): fix brokenness introduced by
13096         nanosecond speed improvements.
13097
13098 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13099
13100         * sunplay.c (init_device): To play sounds correctly, the device
13101         apparently needs to be initialized at least once by XEmacs.  Make
13102         it so.
13103
13104 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13105
13106         * redisplay.c (add_margin_runes): Add text image glyph
13107           handling.
13108
13109 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13110
13111         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13112         gcc is newer than 2.5.
13113
13114 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13115
13116         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13117
13118         * fns.c (size_bit_vector):
13119         * alloc.c (size_vector):
13120         (make_vector_internal):
13121         (make_bit_vector_internal):
13122         (sweep_bit_vectors_1):
13123         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13124
13125 2000-04-06  Andy Piper  <andy@xemacs.org>
13126
13127         * gmalloc.c (malloc): undo previous change.
13128         (malloc): ditto.
13129         (free): ditto.
13130         (realloc): ditto.
13131
13132 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13133
13134         * line-number.c (buffer_line_number): Revert to former version.
13135
13136 2000-04-06  Andy Piper  <andy@xemacs.org>
13137
13138         * gmalloc.c (malloc): add error checking.
13139         (malloc): ditto.
13140         (free): ditto.
13141         (realloc): ditto.
13142
13143         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13144         button_item_to_widget_value arg.
13145
13146         * glyphs-x.c (x_button_instantiate): add extra
13147         button_item_to_widget_value arg.
13148         (x_progress_gauge_instantiate): ditto.
13149         (x_edit_field_instantiate): ditto.
13150         (x_label_instantiate): ditto.
13151
13152         * gui-x.c (gui_items_to_widget_values_1): add extra
13153         button_item_to_widget_value arg.
13154         (button_item_to_widget_value): add extra menu_item_p arg.
13155
13156         * gui-x.h: change signature of button_item_to_widget_value.
13157
13158         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13159         button_item_to_widget_value arg.
13160
13161 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13162
13163         * buffer.h (struct buffer): auto_save_modified should be long.
13164
13165 2000-04-05  Andy Piper  <andy@xemacs.org>
13166
13167         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13168         type.
13169         (button_query_geometry): give a little more room so that athena
13170         buttons fit.
13171
13172 2000-04-05  Andy Piper  <andy@xemacs.org>
13173
13174         * faces.c (complex_vars_of_faces): The widget face should inherit
13175         the font of the gui-element face.
13176
13177 2000-04-04  Andy Piper  <andy@xemacs.org>
13178
13179         * glyphs-x.c (x_button_update): new function. unconditionally
13180         update a button's state when the instance is dirty.
13181         (image_instantiator_format_create_glyphs_x): add x_button_update.
13182         (x_widget_instantiate): remove old resize cruft.
13183
13184 2000-04-02  Andy Piper  <andy@xemacs.org>
13185
13186         * frame.c (change_frame_size_1): The introduction of gutters means
13187         that we need to allow 0 as a potential frame dimension.
13188
13189 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13190
13191         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13192         image glyph if allow_cursor.
13193         (add_hscroll_rune): Don't allow cursor to border glyph.
13194         (create_text_block): Ditto.
13195
13196         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13197         text not in buffer.
13198         (redisplay_output_layout): Call ensure_face_cachel_complete for
13199         text image glyph.
13200
13201
13202 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13203
13204         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13205
13206         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13207         not in buffer
13208
13209         * redisplay-tty.c (tty_output_display_block): Delete the routine
13210         for text image glyph
13211         * redisplay-x.c (x_output_display_block): ditto
13212         * redisplay-msw.c (mswindows_output_display_block): ditto
13213
13214 2000-02-02  Mike Alexander  <mta@arbortext.com>
13215
13216         Note: Some of these were committed by accident as part of other
13217         patches.
13218
13219         * regex.c (regex_compile): Avoid compiler warnings.
13220
13221         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13222
13223         * nt.h: Declare term_ntproc correctly.
13224
13225         * nt.c: Remove incorrect declaration of get_home_directory which
13226         is declared correctly in lisp.h.
13227
13228         * keymap.c (get_keyelt): Avoid compiler warnings.
13229         (raw_lookup_key_mapper): Avoid compiler warnings.
13230
13231         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13232
13233         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13234
13235         * filemode.c (mode_string): Avoid compiler warnings.
13236
13237         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13238         avoid warning.
13239
13240         * events-mod.h: Undef some things that winuser.h defines differently.
13241
13242         * data.c (Faset): Avoid compiler warnings.
13243
13244         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13245
13246 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13247
13248         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13249         Fall through to simple beep on error.
13250         Replace "extern" by real header file.
13251
13252         * linuxplay.c: Use nativesound.h
13253         (play_sound_data): Return error code. Be less verbose on error.
13254
13255         * sunplay.c: Use nativesound.h
13256         (play_sound_data): Return error code. Be less verbose on error.
13257
13258         * ntplay.c: Use nativesound.h
13259         (play_sound_data): Return fake error code
13260
13261         * sgiplay.c: Use nativesound.h
13262         (play_sound_data): Return error code
13263
13264         * hpplay.c: Use nativesound.h, partially implement
13265         new error code. Break compilation until finished.
13266         (play_sound_data): error code.
13267
13268         * nativesound.h (play_sound_file):
13269           (play_sound_data): Prototype in new header.
13270
13271 2000-03-31  Andy Piper  <andy@xemacs.org>
13272
13273         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13274         for toggle and radio buttons.
13275         (image_instantiator_buttons): use it.
13276
13277 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13278
13279         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13280         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13281         found. Scrollbar event probably belonged to some old config.
13282
13283 2000-03-31  Andy Piper  <andy@xemacs.org>
13284
13285         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13286         than 1.
13287         (initialize_widget_image_instance): default layout to
13288         LAYOUT_HORIZONTAL rather than 0.
13289         (widget_instantiate): reverse the item list at the end rather than
13290         every iteration.
13291         (layout_layout): re-code for the border text at the front of the
13292         item list rather than at the end.
13293         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13294         provided by the user.
13295         (widget_query_geometry): comment.
13296
13297 2000-03-30  Andy Piper  <andy@xemacs.org>
13298
13299         * glyphs-widget.c (image_instantiator_layout): allow standard
13300         widget keywords in layouts.
13301
13302         * gutter.c (output_gutter): cope with nil gutter contents.
13303
13304         * frame.c (Fset_frame_properties): add gutter docs.
13305
13306 2000-03-29  Andy Piper  <andy@xemacs.org>
13307
13308         * toolbar-msw.c (TBSTYLE_FLAT): add.
13309         (mswindows_output_toolbar): minor fiddling.
13310
13311 2000-03-29  Andy Piper  <andy@xemacs.org>
13312
13313         * gutter.c (output_gutter): force gutter size recalculation if
13314         what we are trying to display won't fit.
13315         (update_gutter_geometry): new function. A per-gutter version of
13316         update_frame_gutter_geometry.
13317         (update_frame_gutter_geometry): use it.
13318         (redraw_exposed_gutter): add extra debugging output.
13319
13320 2000-03-28  Mike Alexander  <mta@arbortext.com>
13321
13322         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13323         (pdump_file_unmap): Implement it on Windows
13324         (pdump_file_get): Save alocated handles for pdump_file_unmap
13325
13326 2000-03-28  Andy Piper  <andy@xemacs.org>
13327
13328         * gui.c (get_gui_callback): treat Quit specially.
13329
13330 2000-03-27  Andy Piper  <andy@xemacs.org>
13331
13332         * glyphs.c (image_instantiate): be careful to check in the same
13333         way we assigned.
13334
13335 2000-03-27  Didier Verna  <didier@xemacs.org>
13336
13337         * config.h.in: define the proper SMART_INCLUDE macro.
13338         handle renaming of `foo_h_path' to `foo_h_file'.
13339
13340         * database.c: ditto.
13341
13342         * emacs.c: ditto.
13343
13344         * linuxplay.c: ditto.
13345
13346         * terminfo.c: ditto.
13347
13348         * tooltalk.h: ditto.
13349
13350 2000-03-27  Andy Piper  <andy@xemacs.org>
13351
13352         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13353         gets updated whenever the face might have changed.
13354
13355 2000-03-26  Mike Alexander  <mta@arbortext.com>
13356
13357         * dumper.c (pdump_resource_free): Fix the comment.
13358
13359 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13360
13361         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13362
13363 2000-03-22  Mike Alexander  <mta@arbortext.com>
13364
13365         * dumper.c: Include Windows headers on Windows
13366         (pdump_resource_free): Add a body to the function
13367         (pdump_load): exe_name -> exe_path and add some comments.
13368
13369 2000-03-25  Mike Alexander  <mta@arbortext.com>
13370
13371         * gui.c (copy_gui_item_tree): Return a value in all cases
13372
13373 2000-03-21  Didier Verna  <didier@xemacs.org>
13374
13375         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13376         lwlib/config.h.in.
13377         (SMART_INCLUDE): new macro.
13378         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13379         the proper location.
13380
13381         * postgresql.c: use it.
13382
13383         * inline.c: ditto.
13384
13385 2000-03-24  Andy Piper  <andy@xemacs.org>
13386
13387         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13388         do this.
13389
13390 2000-03-24  Andy Piper  <andy@xemacs.org>
13391
13392         * redisplay-output.c (compare_runes): use image_instance_changed
13393         to detect changes. Do not depend on glyphs_changed, only depend on
13394         dirtiness.
13395          (redisplay_output_layout): add debug messages.
13396         (compare_runes): ditto.
13397
13398         * glyphs.h: declare new functions.
13399         (struct Lisp_Image_Instance): remove percent and associated
13400         accessors.
13401
13402         * gui.h: declare new copying functions.
13403
13404         * gui.c (copy_gui_item_tree): new function.
13405         (copy_gui_item): new function.
13406         (gui_item_id_hash): revert to standard hash.
13407         (gui_item_hash): ditto.
13408         (gui_item_hash_internal): deleted.
13409         (mark_gui_item): mark value.
13410         (gui_item_add_keyval_pair): add value.
13411         (gui_item_init): ditto.
13412         (gui_add_item_keywords_to_plist): ditto.
13413         (gui_item_equal): ditto.
13414         (syms_of_gui): add Q_value.
13415
13416         * glyphs-x.c (x_progress_gauge_update): use pending items and
13417         value for setting the state.
13418         (x_update_widget): don't set items from pending here.
13419
13420         * glyphs-widget.c (update_widget): update items here.
13421         (progress_gauge_set_property): use items for storing value. Put
13422         new value in pending items.
13423
13424         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13425         items for new value. Convert percent -> value.
13426         (mswindows_tab_control_update): don't update items here.
13427
13428         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13429         (update_subwindow): ditto.
13430         (image_instance_changed): new function. Compare hash values and
13431         past and present widget items.
13432         (image_instantiate): We more careful about where we instantiate
13433         things.
13434         (image_instantiate): add error checking.
13435
13436         * gutter.c (syms_of_gutter): use -hook.
13437
13438 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13439
13440         * console-tty.c (Fset_console_tty_input_coding_system): Use
13441         Qkeyboard.
13442         (Fset_console_tty_output_coding_system): Use Qterminal.
13443         (tty_init_console): Use Qkeyboard and Qterminal.
13444
13445 2000-03-21  Ben Wing  <ben@xemacs.org>
13446
13447         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13448         From Mike Alexander <mta@arbortext.com>.
13449
13450 2000-03-21  Ben Wing  <ben@xemacs.org>
13451
13452         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13453         process brokenness.  Proper implementation to come.
13454         * callproc.c:
13455         Rename call-process-internal to old-call-process-internal.
13456         New impl. in process.el.
13457
13458 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13459
13460         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13461
13462 2000-03-20  Andy Piper  <andy@xemacs.org>
13463
13464         * glyphs.c (full_list_hash): make hashes of the same elements in
13465         different orders return different values.
13466
13467 2000-03-20  Martin Buchholz <martin@xemacs.org>
13468
13469         * XEmacs 21.2.32 is released.
13470
13471 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13472
13473         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13474         (DFC_MALLOC_USE_CONVERTED_DATA):
13475         Add aliasing-safe casts to allow use with char* or unsigned char*
13476         lvalues.
13477
13478         * eldap.c (Fldap_open):
13479         (Fldap_search_basic):
13480         (Fldap_add):
13481         (Fldap_modify):
13482         Make C++-compilable.
13483         Make sure GCPRO'ed variables are initialized.
13484         Use temp variables to avoid repeated calls to Flength.
13485
13486 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13487
13488         * sysfile.h:
13489         Make sure PATH_MAX is always defined.
13490         Include limits.h for PATH_MAX.
13491         Deprecate use of MAXPATHLEN.
13492
13493 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13494
13495         * emacs.c: Add reinit_vars_of_fileio.
13496         * symsinit.h: Add reinit_vars_of_fileio.
13497         * fileio.c (reinit_vars_of_fileio): New.
13498         * fileio.c (Fmake_temp_name):
13499         Initialize temp_name random number from microseconds to make
13500         collisions even less likely.  Initialize always at process startup
13501         time.  (make-temp-name) used to return the same file name twice in
13502         a row when PDUMP.
13503         Random stylistic fiddling.
13504         Comment fixes.
13505
13506 2000-03-20  Andy Piper  <andy@xemacs.org>
13507
13508         * glyphs.c (image_instantiate): allow text glyphs to be
13509         instantiated in the minibuffer window.
13510
13511 2000-03-19  Andy Piper  <andy@xemacs.org>
13512
13513         * glyphs.c (image_instance_hash): be careful about which items we
13514         hash on.
13515
13516         * glyphs-widget.c (tab_control_set_property): record into pending
13517         items rather than the actual items.
13518
13519         * glyphs-x.c (x_update_widget): use pending items to update with.
13520
13521         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13522         to update with.
13523
13524         * glyphs.c (mark_image_instance): mark pending items.
13525
13526         * window.c (Fset_window_configuration): record the buffer.
13527         (Fselect_window): totally revert previous change which breaks many
13528         things.
13529
13530 2000-03-18  Andy Piper  <andy@xemacs.org>
13531
13532         * glyphs-msw.c (mswindows_tab_control_update): force selected
13533         item.
13534
13535         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13536         window domain cache, otherwise we get inconsistencies at
13537         startup. There is something fishy at startup which can lead to the
13538         minibuffer being the selected window when the gutter content is
13539         instantiated.
13540
13541         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13542         gcpros.
13543         (parse_gui_item_tree_children): ditto.
13544         (parse_gui_item_tree_item): ditto.
13545
13546         * glyphs.c (Fupdate_widget_instances): return something.
13547
13548 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13549
13550         * window.c (Fselect_window): Undo 2000-03-17 change.
13551
13552 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13553
13554         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13555         against v7.0 libraries.  Insta-coredump city until the postgres
13556         folks fix it.
13557
13558 2000-03-17  Andy Piper  <andy@xemacs.org>
13559
13560         * faces.c (complex_vars_of_faces): don't give the widget face an
13561         inherited background pixmap.
13562
13563         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13564         selected item.
13565
13566         * event-stream.c (Fdispatch_non_command_events): return something.
13567
13568         * gutter.c (output_gutter): use widget face.
13569         (clear_gutter): ditto.
13570
13571         * NEWS: adjust again.
13572
13573         * window.c (Fselect_window): make sure this runs to completion to
13574         avoid oddities with Fset_window_configuration.
13575         (Fcurrent_window_configuration): in general do not save the
13576         minibuffer as the selected window.
13577
13578         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13579
13580 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13581
13582         * emacs.c (Frunning_temacs_p): Revert previous patch.
13583         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13584
13585 2000-03-16  Andy Piper  <andy@xemacs.org>
13586
13587         * glyphs-x.c (x_tab_control_update): if no widget values then
13588         return.
13589
13590         * NEWS: update for new features.
13591
13592         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13593         synthetic event to the native system.
13594         (reinit_vars_of_event_Xt): set force_event_pending to
13595         emacs_Xt_force_event_pending.
13596
13597         * events.h (struct event_stream): add force_event_pending.
13598
13599         * specifier.c (recompute_one_cached_specifier_in_window): add
13600         comment.
13601
13602         * redisplay.c (redisplay_frame): don't call
13603         update_frame_subwindows. Reset subwindow cachels when
13604         subwindows_changed, removing this was an optimization too far.
13605
13606         * redisplay-output.c (compare_runes): reorganize so that we catch
13607         glyph changes when we want them. Set optimize_output when this
13608         would help layouts.
13609         (redisplay_output_layout): remove frame_really_changed, use
13610         optimize_output instead.
13611
13612         * redisplay-msw.c (mswindows_output_display_block): reset
13613         optimize_output after outputting a glyph.
13614         * redisplay-x.c (x_output_display_block): ditto.
13615         * redisplay-tty.c (tty_output_display_block): ditto.
13616
13617         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13618         functions.
13619         (gutter_specs_changed): do specific gutter positions.
13620         (top_gutter_specs_changed): new function. Only update the
13621         specified gutter specs.
13622         (bottom_gutter_specs_changed): ditto.
13623         (left_gutter_specs_changed): ditto.
13624         (right_gutter_specs_changed): ditto.
13625
13626         * gui.c (gui_item_hash_internal): new function, does a real hash.
13627         (gui_item_id_hash): use it.
13628         (gui_item_hash): hash the eval'ed gui_item.
13629
13630         * gui-x.c (popup_selection_callback): send an eval event to call
13631         Fupdate_widget_instances.
13632
13633         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13634         to call Fupdate_widget_instances.
13635
13636         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13637         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13638
13639         * glyphs.c: (update_frame_subwindows): deleted.
13640         (Fupdate_widget_instances): new function for updating the dirty
13641         state of widgets that might have changed.
13642         (syms_of_glyphs): add Qupdate_widget_instances.
13643         (full_list_hash): hash a list completely.
13644         (image_instance_hash): use it for items and properties.
13645
13646         * frame-msw.c (mswindows_size_frame_internal): remove unused
13647         variable.
13648
13649         * faces.h (struct face_cachel): fix comment.
13650
13651         * event-stream.c (Fdispatch_non_command_events): new
13652         function. Process non-command events, forcing an event cycle
13653         beforehand.
13654         (syms_of_event_stream): declare.
13655         (event_stream_force_event_pending): new function. Force an event
13656         on the native event queue so that an event cycle will occur next
13657         time we check.
13658
13659         * event-msw.c:
13660         (struct ntpipe_shove_stream):
13661         (mswindows_enqueue_dispatch_event):
13662         (mswindows_dequeue_dispatch_event):
13663         (mswindows_cancel_dispatch_event):
13664         (mswindows_pump_outstanding_events):
13665         (mswindows_drain_windows_queue):
13666         (mswindows_handle_paint):
13667         (mswindows_wnd_proc):
13668         (mswindows_key_to_emacs_keysym):
13669         (get_process_input_waitable):
13670         (emacs_mswindows_delete_stream_pair): re-indent file.
13671         (mswindows_need_event): do not process further fds if the windows
13672         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13673         fixes the 100% cpu problem.
13674         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13675
13676 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13677
13678         * alloc.h: New.
13679         * dumper.h: New.
13680         * dumper.c: New.
13681
13682         * emacs.c: Moved dump file searching to dumper.c.
13683         (Frunning_temacs_p): Fixed.
13684
13685         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13686         last_lrecord_type_index_assigned.
13687
13688 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13689
13690         * symsinit.h: Added reinit parameter to init_console_stream
13691         declaration.
13692
13693         * lisp.h: Added file parameter to pdump_load declaration.
13694
13695         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13696         support.  Added dump file searching.
13697
13698         * config.h.in: Added EMACS_PROGNAME.
13699
13700         * console-stream.c (init_console_stream): Fix reinitialisation
13701         when running from temacs.
13702
13703         * alloc.c (pdump): Add id support.
13704         (pdump_load): Add file parameter and signature/id support.
13705
13706         * Makefile.in.in: Add full pdump support.
13707
13708 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13709
13710         * postgresql.c: Update documentation to reflect latest code
13711         status.
13712         (print_result): Show tuple counts in printed representation when
13713         appropriate.
13714         (Fpq_put_nbytes): MULE-ize.
13715         (Fpq_get_line_async): Ditto.
13716
13717 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13718
13719         * postgresql.c (Fpq_lo_import): Fix return value.
13720         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13721
13722 2000-03-13  Ben Wing  <ben@xemacs.org>
13723
13724         * alloc.c (pdump_load):
13725         Fix compile warning under mswin.
13726
13727 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13728
13729         * postgresql.c: Mule-ization, bug fixes.
13730         Use PG_CODING to encapsulate coding system name changes.
13731         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13732         (pg-coding-system): Create.
13733
13734         (Fpq_conn_defaults): Mule-ize.
13735         (Fpq_connectdb): Mule-ize & bug fix.
13736         (Fpq_connect_start): Mule-ize.
13737         (Fpq_set_client_encoding): Mule-ize.
13738         (Fpq_finish): Document `DEAD' connection status.
13739         (Fpq_clear): Ditto.
13740         (Fpq_pgconn): Mule-ize.
13741         (Fpq_exec): Mule-ize & bug fix.
13742         (Fpq_send_query): Ditto.
13743         (Fpq_get_result): Ditto.
13744         (Fpq_res_status): Mule-ize.
13745         (Fpq_result_error_message): Mule-ize.
13746         (Fpq_ntuples): fix comments.
13747         (Fpq_fname): Mule-ize.
13748         (Fpq_fnumber): Mule-ize.
13749         (Fpq_ftype): fix comments.
13750         (Fpq_get_value): Mule-ize.
13751         (Fpq_cmd_status): Ditto.
13752         (Fpq_cmd_tuples): Ditto.
13753         (Fpq_oid_value): Ditto.
13754         (Fpq_notifies): Ditto.
13755         (Fpq_lo_import): Ditto.
13756         (Fpq_lo_export): Ditto.
13757         (Fpq_get_line): Ditto.
13758         (Fpq_put_line): Mule-ize and bug fix.
13759         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13760
13761 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13762
13763         * postgresql.c (vars_of_postgresql): Mule-ize.
13764         (Fpq_conn_defaults): Ditto.
13765
13766 2000-03-12  Ben Wing  <ben@xemacs.org>
13767
13768         * alloc.c (Fmake_byte_code):
13769         * alloc.c (debug_string_purity_print):
13770         * alloc.c (pdump_backtrace):
13771         * alloc.c (pdump_get_indirect_count):
13772         * alloc.c (pdump_register_sub):
13773         * alloc.c (pdump_register_object):
13774         * alloc.c (pdump_register_struct):
13775         * alloc.c (pdump_dump_data):
13776         * alloc.c (pdump_reloc_one):
13777         Minor cleanups.
13778
13779         * console-msw.c:
13780         * console-msw.c (GetConsoleHwnd):
13781         * console-msw.c (msw_hide_console):
13782         * console-msw.c (msw_show_console):
13783         * console-msw.c (msw_ensure_console_buffered):
13784         * console-msw.c (msw_output_console_string):
13785         * console-msw.c (console_type_create_mswindows):
13786
13787         a) Added functions to manipulate the console window for use with
13788         shell support.
13789
13790         b) Added support for writing text to the console, which is now
13791         used under Windows when xemacs is not being run non-interactively,
13792         to write text that would otherwise be destined for stdout because
13793         under these circumstances, text written to stdout tends to
13794         disappear and not be seen.
13795
13796         * console-msw.h:
13797         * event-Xt.c:
13798         * event-Xt.c (x_event_to_emacs_event):
13799         * event-Xt.c (describe_event_window):
13800         * events-mod.h (XEMACS_MOD_CONTROL):
13801         * events.c:
13802         * events.c (Fmake_event):
13803         * events.c (character_to_event):
13804         * events.c (event_to_character):
13805         * events.c (format_event_object):
13806         * events.c (Fevent_modifiers):
13807         * events.h:
13808         * events.h (struct key_data):
13809         * events.h (struct button_data):
13810         * events.h (struct misc_user_data):
13811         * frame-x.c (Fcde_start_drag_internal):
13812         * frame-x.c (Foffix_start_drag_internal):
13813         * gpmevent.c (Freceive_gpm_event):
13814         * keymap.c:
13815         * keymap.c (bucky_sym_to_bucky_bit):
13816         * keymap.c (control_meta_superify):
13817         * keymap.c (make_key_description):
13818         * keymap.c (keymap_lookup_directly):
13819         * keymap.c (create_bucky_submap):
13820         * keymap.c (keymap_store):
13821         * keymap.c (define_key_check_and_coerce_keysym):
13822         * keymap.c (define_key_parser):
13823         * keymap.c (define_key_alternate_name):
13824         * keymap.c (Fdefine_key):
13825         * keymap.c (raw_lookup_key_mapper):
13826         * keymap.c (struct map_keymap_unsorted_closure):
13827         * keymap.c (map_keymap_unsorted_mapper):
13828         * keymap.c (map_keymap_sort_predicate):
13829         * keymap.c (map_keymap_sorted):
13830         * keymap.c (accessible_keymaps_mapper_1):
13831         * keymap.c (where_is_recursive_mapper):
13832         * keymap.c (describe_map_mapper):
13833         * keymap.c (describe_map_sort_predicate):
13834         * keymap.c (describe_map):
13835         * keymap.c (complex_vars_of_keymap):
13836         And a number of other files, the key modifier preprocessor
13837         constants that xemacs uses have names that conflict with constants
13838         defined under MS Windows for other purposes, so they were renamed
13839         to begin with the prefix XEMACS_. The variables that hold such
13840         modifiers were changed to consistently be of type int to fix
13841         various compile warnings.
13842
13843         * console.c (complex_vars_of_console):
13844         * device.c:
13845         * device-msw.c:
13846         * device-msw.c (mswindows_finish_init_device):
13847         * device-msw.c (msw_get_workspace_coords):
13848         * device-msw.c (mswindows_device_system_metrics):
13849         and various other files, added support for a new
13850         device property called offset-workspace which returns the position
13851         of the upper left corner of the workspace area and goes along with
13852         the existing size-workspace property.
13853
13854         * dialog-msw.c:
13855         * dialog-msw.c (push_bufbyte_string_as_unicode):
13856         * dialog-msw.c (mswindows_popup_dialog_box):
13857         Added support for XEmacs-style accelerator specifications in
13858         button text.  Note: I didn't add support for this under X Windows,
13859         and somebody needs to do this.
13860
13861         * dialog.c:
13862         * dialog.c (Fpopup_dialog_box):
13863         Documented the support for accelerators that was just mentioned.
13864
13865         editfns.c (get_home_directory): Changed behavior under Windows
13866         when HOME not defined; former behavior was irretrievably broken.
13867
13868         * emacs.c:
13869         * emacs.c (main_1):
13870         * emacs.c (main):
13871         * minibuf.c (clear_echo_area_internal):
13872         * minibuf.c (echo_area_append):
13873         * print.c:
13874         * print.c (std_handle_out_external):
13875         * print.c (std_handle_out_va):
13876         * print.c (fatal):
13877         * print.c (write_string_to_stdio_stream):
13878         * print.c (output_string):
13879         * print.c (debug_print):
13880         * print.c (debug_backtrace):
13881         * print.c (debug_short_backtrace):
13882         Cleaned up the code that prints text to stdout so that this can be
13883         changed to output into a console window instead under MS Windows,
13884         as described above.
13885
13886         * eval.c:
13887         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13888         * eval.c (internal_catch):
13889         * eval.c (unwind_to_catch):
13890         * eval.c (throw_or_bomb_out):
13891         * eval.c (condition_case_1):
13892         * eval.c (signal_1):
13893         * eval.c (check_error_state_sanity):
13894         * eval.c (call_with_suspended_errors_1):
13895         * eval.c (call_with_suspended_errors):
13896         * eval.c (reinit_vars_of_eval):
13897         Added code to catch throw loops and check for a pesky bug that may
13898         be gone now.
13899
13900         * event-msw.c:
13901         * event-msw.c (key_needs_default_processing_p):
13902         * event-msw.c (mswindows_wnd_proc):
13903         * event-msw.c (mswindows_modifier_state):
13904         * event-msw.c (emacs_mswindows_quit_p):
13905         * event-msw.c (vars_of_event_mswindows):
13906         a) Added support for using the alt key to select menu items as is
13907         standard under MS Windows.  This is controlled using the variable
13908         menu-accelerator-enabled, just like under X Windows.  There is an
13909         option on the options menu to turn this support on.  I really
13910         think that it should be on by default under Windows, but I'm not
13911         going to make this change yet.
13912
13913         b)  Added support for dynamic display size changes under Windows.
13914
13915         * event-stream.c:
13916         * event-stream.c (maybe_echo_keys):
13917         * event-stream.c (Fnext_event):
13918         * event-stream.c (command_builder_find_leaf):
13919         * event-stream.c (lookup_command_event):
13920         * event-stream.c (execute_command_event):
13921         * event-stream.c (pre_command_hook):
13922         * event-stream.c (post_command_hook):
13923         * event-stream.c (syms_of_event_stream):
13924         * event-stream.c (vars_of_event_stream):
13925         * event-stream.c (complex_vars_of_event_stream):
13926         * events.h (struct command_builder):
13927
13928         a) Tried to clean up a little bit the horribly written x-specific
13929         accelerator code that crept into this file.  I moved this code
13930         into menubar-x.c where it belongs. I also needed to move the
13931         command builder structure into the file events.h because it is
13932         accessed directly by this accelerator code.  What I didn't do, but
13933         which should be done at some point, is to properly abstract this
13934         code using device methods instead of the kludgy way that it
13935         currently hooks into the event code.
13936
13937         b) Added the lisp variables this-command-properties and
13938         last-command- properties, which should be used to synchronize two
13939         adjacent commands in preference to playing games with the variable
13940         this-command, which is typically what happens.
13941
13942         c) Added some slightly nasty code to hook into the lisp support
13943         for shifted- motion-key selection.  This is actually necessary for
13944         somewhat complicated reasons, which are described in
13945         simple.el. (NB: I think the proper thing would be to have the code
13946         that calls the pre and post command hooks also call out to generic
13947         lisp functions in simple.el, where all built-in stuff could be
13948         added.  I will think about this more.)
13949
13950         * event-unixoid.c (poll_fds_for_input):
13951         * lread.c (readchar):
13952         * redisplay-tty.c (tty_clear_frame):
13953         * redisplay-x.c (x_get_gc):
13954         * signal.c (interrupt_signal):
13955         And a whole bunch of other files: fixed up places that printed
13956         directly to stderr to instead call the function stderr_out so that
13957         the changes I made under Windows work correctly.
13958
13959         * filemode.c (mode_string):
13960         Warning fixes.
13961
13962         * frame-msw.c:
13963         * frame-msw.c (mswindows_size_frame_internal):
13964         Fixed the computation of frame size and position to keep the frame
13965         within the workspace area, rather than within the physical
13966         dimensions of the screen, so that the frame doesn't overlap window
13967         manager decorations, such as the start menu and toolbar, typically
13968         at the bottom of the screen.
13969
13970         * frame.c (vars_of_frame):
13971         Changed the default frame title format under MS Windows to consist
13972         of buffername-XEmacs, which is standard under MS Windows.  I think
13973         it might be a good idea to change this everywhere because I think
13974         it is superior to the current frame title format, but this is the
13975         kind of change that is likely to cause some people to get annoyed,
13976         so I'm not making it.
13977
13978         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13979
13980         * gui-msw.c (mswindows_handle_gui_wm_command):
13981         Fixed compile warnings.
13982
13983         * gui-x.c:
13984         * gui-x.c (strdup_and_add_accel):
13985         * gui-x.c (button_item_to_widget_value):
13986         * gui-x.h:
13987         Added code to automatically put an accelerator onto the beginning
13988         of menu items that don't have one as is now the standard, and is
13989         described more later.  Also fixed things so that the menu item
13990         name can be an evaluated expression, again a new standard.
13991
13992         * gui.c:
13993         * gui.c (gui_item_add_keyval_pair):
13994         * gui.c (make_gui_item_from_keywords_internal):
13995         * gui.c (gui_add_item_keywords_to_plist):
13996         * gui.c (gui_item_accelerator):
13997         * gui.c (gui_name_accelerator):
13998         * gui.c (gui_item_included_p):
13999         * gui.c (gui_item_display_flush_left):
14000         * gui.c (gui_item_display_flush_right):
14001         * gui.c (parse_gui_item_tree_item):
14002         * gui.c (parse_gui_item_tree_children):
14003         * gui.c (parse_gui_item_tree_list):
14004         Mule-ized.  Cleanup.  GCPRO addition.
14005
14006         * line-number.c (buffer_line_number):
14007         * lisp.h:
14008         * lisp.h (EMACS_INT_MAX):
14009         Added the manifest constant EMACS_INT_MIN corresponding to the
14010         existing constant EMACS_INT_MAX.  This is partially to fix compile
14011         warnings under Windows, and partly for cleanliness.
14012
14013         * menubar-msw.c:
14014         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
14015         * menubar-msw.c (msw_translate_menu_or_dialog_item):
14016         * menubar-msw.c (displayable_menu_item):
14017         * menubar-msw.c (populate_menu_add_item):
14018         * menubar-msw.c (populate_or_checksum_helper):
14019         * menubar-msw.c (populate_menu):
14020         * menubar-msw.c (update_frame_menubar_maybe):
14021         * menubar-msw.c (prune_menubar):
14022         * menubar-msw.c (msw_char_is_accelerator):
14023         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
14024         * menubar-msw.c (mswindows_handle_wm_command):
14025         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
14026         * menubar-msw.c (mswindows_handle_wm_initmenu):
14027         * menubar-msw.c (mswindows_update_frame_menubars):
14028         * menubar-msw.c (mswindows_free_frame_menubars):
14029         * menubar-msw.c (mswindows_popup_menu):
14030         Fixed a bug in handling accelerators where an extra character
14031         would be displayed in the menu item.  Also generalized the
14032         function displayable_menu_item because it is now used by the
14033         dialog box code as well.  And finally, added code in the functions
14034         that create the menubar to extract a list of accelerators for the
14035         top level menubar, which is used in the event code to determine
14036         whether a particular alt-key combination should be used to invoke
14037         a menu item, or should be passed through to access the standard
14038         XEmacs keymap binding for this key combination.
14039
14040         Much needed GCPROing.
14041
14042         * menubar-x.c:
14043         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14044         * menubar-x.c (menu_item_descriptor_to_widget_value):
14045         * menubar-x.c (restore_in_menu_callback):
14046         * menubar-x.c (x_popup_menu):
14047         * menubar-x.c (menu_move_up):
14048         * menubar-x.c (menu_move_down):
14049         * menubar-x.c (menu_move_left):
14050         * menubar-x.c (menu_move_right):
14051         * menubar-x.c (menu_select_item):
14052         * menubar-x.c (command_builder_operate_menu_accelerator):
14053         * menubar-x.c (menu_accelerator_junk_on_error):
14054         * menubar-x.c (command_builder_find_menu_accelerator):
14055         * menubar-x.c (Faccelerate_menu):
14056         * menubar.h:
14057         Moved a whole bunch of code here that was previously in
14058         event-stream.c as described above.  There is also code connected
14059         to the new standard of adding an accelerator to the beginning of
14060         menu items that don't have one as described above and below.
14061
14062         * menubar.c:
14063         * menubar.c (menu_parse_submenu_keywords):
14064         * menubar.c (Fmenu_find_real_submenu):
14065         * menubar.c (Fnormalize_menu_item_name):
14066         * menubar.c (syms_of_menubar):
14067         * menubar.c (vars_of_menubar):
14068         * menubar.c (complex_vars_of_menubar):
14069
14070         a) Cleaned up a bunch of documentation and improved it.
14071
14072         b) XEmacs now automatically adds an accelerator onto the beginning
14073         of any menu items that don't have one.  I did this because there
14074         will inevitably be some menu items on the main menubar that don't
14075         have accelerators on them because the package that adds that
14076         particular menu item hasn't yet been fixed up to have accelerators
14077         in them and it looked rather strange to have some items with and
14078         some items without accelerators, especially since even in items
14079         without accelerators, you can, at least under windows, still
14080         access the item through an accelerator corresponding to the first
14081         character in the item's name.  If people don't like this behavior,
14082         I can add a variable to turn it off optionally, but I'm not sure
14083         this is a good idea because we really do need to have accelerators
14084         on all of the menu items, and if a package doesn't like the
14085         accelerators being put on the first character, then it should put
14086         the accelerators where they belong.
14087
14088         c) I made a behavior change, which is that the descriptor that
14089         specifies the text of the menu item, which formerly was just a
14090         string, can now also be an evaluated expression.  This makes this
14091         descriptor parallel with all of the others, which could also be
14092         evaluated expressions.  This also obviates the need for the
14093         keyword :label, which was previously listed in the documentation
14094         as unimplemented, and which was for the same purpose.
14095
14096         d) GCPROing.
14097
14098         * ntproc.c:
14099         * ntproc.c (new_child):
14100         * ntproc.c (sys_spawnve):
14101         * ntproc.c (find_child_console):
14102         * ntproc.c (sys_kill):
14103         Fixed compile warnings.  By the way, this file should really go
14104         away entirely, and this will happen as soon as Kirill makes his
14105         final round of process cleanups, which affect the function
14106         call-process.
14107
14108         * process-nt.c:
14109         * process-nt.c (struct nt_process_data):
14110         * process-nt.c (find_process_from_pid):
14111         * process-nt.c (send_signal_the_nt_way):
14112         * process-nt.c (enable_child_signals):
14113         * process-nt.c (find_child_console):
14114         * process-nt.c (send_signal_the_95_way):
14115         * process-nt.c (nt_finalize_process_data):
14116         * process-nt.c (ensure_console_window_exists):
14117         * process-nt.c (nt_create_process):
14118         * process-nt.c (nt_kill_child_process):
14119         * process-nt.c (nt_kill_process_by_pid):
14120         * process-nt.c (nt_open_network_stream):
14121         * process-nt.c (vars_of_process_nt):
14122         Copied over code from Emacs 20.5 to correctly send signals to sub-
14123         processes under Windows 95.  Also added code to automatically
14124         create and hide console window when a sub-process is created under
14125         Windows 95, which obviates the need for the separate runemacs.exe
14126         executable, and finally implemented some variables that were
14127         implemented in Emacs 20.5, but previously not in XEmacs.  These
14128         include mswindows- start-process-share-console and
14129         mswindows-start-process-inherit-error-mode. (Both of these only
14130         apply to Windows 95.)
14131
14132         * regex.c (regex_compile): Fixed a compile warning.
14133
14134         * select-msw.c:
14135         * select-msw.c (mswindows_own_selection):
14136         * select-msw.c (mswindows_get_foreign_selection):
14137         * select-msw.c (mswindows_disown_selection):
14138         * select-msw.c (console_type_create_select_mswindows):
14139         * select-msw.c (syms_of_select_mswindows):
14140         Cleaned up the file and implemented the device method
14141         selection_exists_p, which had accidentally been left out.  Also
14142         removed four lisp functions that were remnants from before the
14143         time when the selection code was properly device abstracted.
14144         These functions are no longer needed because there are generic
14145         equivalents, and because they were added recently and don't exist
14146         in FSF Emacs, I don't think there's any problem with just deleting
14147         them.
14148
14149         * sysdep.c:
14150         * sysdep.c (sys_subshell):
14151         Fixed a compile warning, although in this case there's probably
14152         something wrong with this code, and it ought to be looked into
14153         more thoroughly by somebody who understands it.
14154
14155         * window.c:
14156         * window.c (Fwindow_text_area_height):
14157         * window.c (Fwindow_width):
14158         * window.c (Fwindow_full_width):
14159         * window.c (Fwindow_pixel_width):
14160         * window.c (debug_print_window):
14161         * window.c (syms_of_window):
14162         Added functions window-text-area-height and window-full-width,
14163         which are functions for returning various width and height
14164         characteristics of a window. (One of these functions is necessary
14165         for making the file dialog box work correctly, and the other one
14166         was added for completeness.)  Also added a table to the
14167         documentation for window-height which describes the entire scheme
14168         for accessing width and height characteristics of a window.
14169
14170 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14171
14172         * nt.c (fstat): Added a comment for another problem with
14173         non-encapsulated [f]stat(), reported by Adrian Aichner
14174         <aichner@ecf.teradyne.com>.
14175
14176 2000-03-11  Andy Piper  <andy@xemacs.org>
14177
14178         * window.c (make_dummy_parent): initialize subwindow instance
14179         cache.
14180         (Fset_window_configuration): zero extent_modiff.
14181
14182 2000-03-10  Andy Piper  <andy@xemacs.org>
14183
14184         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14185         more changes can be triggered.
14186         (Fredisplay_frame): ditto.
14187         (Fredraw_device): ditto.
14188         (Fredisplay_device): ditto.
14189         (redisplay_frame): make non-static.
14190         (redisplay_frame): call update_frame_gutter_geometry outside of
14191         display proper.
14192
14193         * gutter.h: declare update_frame_gutter_geometry.
14194
14195         * redisplay.h: declare redisplay_frame.
14196
14197         * gutter.c (update_frame_gutter_geometry): move geometry changes
14198         in update_frame_gutters here. Geometry changes can only occur
14199         outside of redisplay.
14200         (update_frame_gutters): remove geometry change code.
14201         (Fredisplay_gutter_area): make sure that we are in display when we
14202         update and that we have flushed any size changes.
14203
14204 2000-03-11  Andy Piper  <andy@xemacs.org>
14205
14206         * alloc.c (pdump_dump_data): remove i & count shadows.
14207
14208 2000-02-27  Mike Alexander  <mta@arbortext.com>
14209
14210         * sysdep.h: Declare pdump_read_file
14211
14212         * sysdep.c (pdump_read_file): New function
14213
14214         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14215         dump data
14216
14217 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14218
14219         * lrecord.h: add `lrecord_type_pgsetenv'.
14220
14221 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14222
14223         * symsinit.h: declare (vars|syms)_of* functions.
14224         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14225
14226 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14227
14228         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14229
14230         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14231         GCCs.
14232
14233         * emacs.c (main_1): Call postgres initialization code.
14234
14235         * postgresql.h: New file.  PostgreSQL RDBMS support.
14236         * postgresql.c: New file.
14237
14238 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14239
14240         * redisplay-output.c (redisplay_output_display_block): Disable
14241         redundant code.
14242
14243 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14244
14245         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14246         (Fcanna_henkan_next): Ditto.
14247         (Fcanna_bunsetu_henkou): Ditto.
14248         (Fcanna_henkan_kakutei): Ditto.
14249         (Fcanna_henkan_end): Ditto.
14250         (Fcanna_henkan_quit): Ditto.
14251         (Fcanna_henkan_next): Set retun value correctly.
14252         (c2mu): Use unsigned char instead of signed char.
14253
14254 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14255
14256         * emacs.c (main_1): Always call syms_of_gui.
14257         * inline.c: include gui.h
14258
14259 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14260
14261         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14262         converted to Lisp_Object.
14263         (Qtop_bottom): New variable.
14264         (syms_of_redisplay): Initialize it.
14265         * redisplay.h (Vvisible_bell): Ditto.
14266         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14267         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14268         only flash top and bottom.
14269
14270 2000-03-08  Andy Piper  <andy@xemacs.org>
14271
14272         * buffer.c (Frename_buffer): record new buffer name the right way.
14273
14274 2000-03-08  Andy Piper  <andy@xemacs.org>
14275
14276         * glyphs.c (update_subwindow): increase hash depth so that widget
14277         items get picked up properly.
14278
14279         * redisplay-output.c (compare_runes): increase hash depth so that
14280         widget items get picked up properly.
14281
14282 2000-03-08  Andy Piper  <andy@xemacs.org>
14283
14284         * gutter.c (output_gutter): add some debug.
14285
14286         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14287         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14288         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14289
14290         * redisplay-output.c (compare_runes): use display_hash to
14291         determine if glyphs really are not the same.
14292
14293         * glyphs.c (update_subwindow): check display_hash to see if
14294         anything really needs to be updated. If not then do
14295         nothing. Record the display_hash after updating.
14296         (image_instance_equal): compare the image_instance face also.
14297
14298 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14299
14300         * redisplay.h: Fix comment style.
14301
14302 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14303
14304         * consle-msw.h (struct mswindows_frame):
14305         Added new member paint_pending to indicate whether a WM_PAINT
14306         magic event has been queued for this frame.
14307
14308         * event-msw.c (mswindows_drain_windows_queue):
14309         Don't queue a WM_PAINT magic event if one is already queued.
14310         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14311
14312         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14313
14314 2000-03-07  Didier Verna  <didier@xemacs.org>
14315
14316         * dired.c: #include `regex.h' after `sysfile.h'.
14317
14318 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14319
14320         * sound.c (init_nas_sound): Fix compiler warning.
14321
14322         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14323         (FREE_STRUCT_P):
14324         (MARK_STRUCT_AS_FREE):
14325         (MARK_STRUCT_AS_NOT_FREE):
14326         Make `gcc -fstrict-aliasing' work properly.
14327
14328 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14329
14330         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14331         (mswindows_delete_device): Call CoUnnitialize().
14332
14333         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14334
14335 2000-02-25    <CraigL@DyCon.com>
14336
14337         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14338         <errno.h>.
14339
14340         * sysdep.c: This extern declaration for environ prevents MinGW
14341         from finding the variable in CRTDLL.DLL.
14342
14343         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14344         windows headers.
14345         (SHGFI_EXETYPE): ..
14346         (WM_MOUSEWHEEL): ..
14347         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14348         definitions.
14349         (MMRESULT): Removed, now defined in cygwin's windows headers.
14350         (TIMECAPS): ..
14351         (uid_t,gid_t,pid_t,ssize_t): ..
14352         (_timeb): Removed, MinGW defines both _timeb and timeb.
14353         (HAVE_H_ERRNO): Added.
14354         (HAVE_TZNAME): Added, configure is not detecting this.
14355
14356 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14357
14358         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14359         * syntax.c (syntax_match): Use it.
14360
14361         * cmds.c: Import auto-fill-chars from FSF Emacs.
14362         (Vauto_fill_chars): New variables.
14363         (internal_self_insert): Check Vauto_fill_chars.
14364         (vars_of_cmds):
14365         Declare auto-fill-chars as a Lisp variable and initialize it.
14366
14367 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14368
14369         * fileio.c (Fmake_symbolic_link):
14370         (Ffile_symlink_p):
14371         Run handlers even if local machine doesn't have symlinks.
14372
14373 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14374
14375         * event-msw.c (mswindows_drain_windows_queue):
14376         Don't generate paint magic events for non-XEmacs frames.
14377
14378 2000-03-05  Andy Piper  <andy@xemacs.org>
14379
14380         * redisplay.c (redisplay_frame): generate_displayable_area and
14381         friends assumes that we are not in GC, we therefore have to make
14382         sure that this doesn't happen.
14383
14384         * gutter.c (calculate_gutter_size): generate_displayable_area
14385         assumes that we are not in GC, we therefore have to make sure that
14386         this doesn't happen.
14387
14388 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14389
14390         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14391
14392 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14393
14394         * redisplay.c (regenerate_window): Make sure we set a sane value
14395         for end_pos even if we jump out of the loop.
14396         (regenerate_window): Answer Ben's question :-).
14397         (start_end_of_last_line): Add may_error argument.
14398         (start_of_last_line):
14399         (end_of_last_line): Pass may_error = 0.
14400         (end_of_last_line_may_error): New function.
14401         (pixel_to_glyph_translation): Use it, so we don't crash in
14402         event_to_glyph.
14403
14404 2000-03-04  Andy Piper  <andy@xemacs.org>
14405
14406         * window.h (struct window): add gutter_extent_modiff.
14407
14408         * window.c (allocate_window): zero out gutter_extent_modiff.
14409
14410         * redisplay.h: declare sync_display_line_structs.
14411
14412         * redisplay.c (add_glyph_rune): add a better comment.
14413
14414         * redisplay-output.c (sync_display_line_structs): made non-static.
14415         (compare_runes): remove unneccesary glyph cachel access.
14416
14417         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14418
14419         * gutter.c (output_gutter): don't output the gutter if extent
14420         changes only involve extents in buffers. use 4 sets of display
14421         lines.
14422         (gutter_extent_signal_changed_region_maybe): new function. Mark
14423         extents in gutters as changed.
14424         (update_frame_gutters): use 4 sets of display lines.
14425         (reset_gutter_display_lines): ditto.
14426         (free_frame_gutters): ditto.
14427         (redraw_exposed_gutter): force output of gutters.
14428
14429         * frame.h (struct frame): add 4 sets of gutter display lines.
14430
14431         * extents.c: (extent_changed_for_redisplay): signal changes to
14432         extents in strings in the gutter as well as extents in buffers.
14433
14434 2000-03-02  Andy Piper  <andy@xemacs.org>
14435
14436         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14437
14438         * frame.c (Fmake_frame): make sure the gutters get initialized
14439         after the frame is visible.
14440         (set_frame_selected_window): re-arrange compilation macros a
14441         little.
14442         (change_frame_size_1): mark gutters changed.
14443
14444         * device.c (Fset_device_class): mark gutters changed.
14445
14446 2000-03-01  Andy Piper  <andy@xemacs.org>
14447
14448         * window.c (window_top_frame_gutter_height): deleted.
14449         (window_bottom_frame_gutter_height): ditto.
14450         (window_left_frame_gutter_height): ditto.
14451         (window_right_frame_gutter_height): ditto.
14452         (window_top_gutter_height): don't use them.
14453         (window_bottom_gutter_height): ditto.
14454         (window_left_gutter_width): ditto.
14455         (window_right_gutter_width): ditto.
14456         (Fsplit_window): ditto.
14457         (Fwindow_pixel_edges): don't use border dimensions here.
14458
14459         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14460         (update_scrollbar_instance): ditto.
14461
14462         * redisplay.c (generate_modeline): don't take gutters into account.
14463         (generate_modeline): ditto.
14464         (redisplay_frame): small gutter display optimization.
14465
14466         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14467
14468         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14469         gutters into account.
14470
14471         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14472         for window position and type.
14473
14474         * gutter.c (get_gutter_coords): fix for frame gutters.
14475         (update_frame_gutters): update frame geometry if the gutters have
14476         changed.
14477         (init_frame_gutters): record current gutter geometries.
14478
14479         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14480         var.
14481         (mswindows_widget_instantiate): ditto.
14482
14483         * frame.h (struct frame): add current_gutter_bounds.
14484
14485         * frame.c (change_frame_size_1): position window and minibuffer
14486         appropriately taking into account the frame gutters.
14487
14488         * frame-x.c: (x_initialize_frame_size): take into account the
14489         frame gutters.
14490
14491 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14492
14493         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14494
14495 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14496
14497         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14498
14499 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14500
14501         * file-coding.c (reset_decoding_stream): Clear previous
14502         detection state when autodetect.
14503
14504 2000-02-29  Didier Verna  <didier@xemacs.org>
14505
14506         * extents.c (set_extent_glyph_1): don't require extents to be
14507         attached.
14508
14509 2000-02-27  Andy Piper  <andy@xemacs.org>
14510
14511         * gutter.c (Fset_default_gutter_position): don't default left and
14512         right gutter visibility to t.
14513         (Fset_default_gutter_position): run
14514         default-gutter-position-changed-hook.
14515         (syms_of_gutter): add default-gutter-position-changed-hook.
14516
14517 2000-02-26  Andy Piper  <andy@xemacs.org>
14518
14519         * specifier.c (Fmake_specifier): add gutter references.
14520
14521         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14522
14523         * lisp.h: declare Fvalid_plist_p.
14524
14525         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14526         as changed.
14527         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14528         well as its visibility so that it gets reconstructed.
14529         (construct_window_gutter_spec): new function. Construct a string
14530         to be displayed in the gutter from a plist of strings. Take care
14531         to only use elements that are declared as visible.
14532         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14533         WINDOW_GUTTER.
14534         (gutter_validate): allow plists of strings in the specifier.
14535         (gutter_specs_changed): construct the real_gutter from the gutter
14536         specs using construct_window_gutter_spec.
14537         (gutter_visible_validate): gutter-visible is a new specifier type.
14538         (Fgutter_visible_specifier_p): new function for the new specifier.
14539         (syms_of_gutter): declare gutter-visible and
14540         Fgutter_visible_specifier_p.
14541         (specifier_type_create_gutter): intitalize new gutter-visible
14542         specifier.
14543         (reinit_specifier_type_create_gutter): ditto.
14544         (specifier_vars_of_gutter): use new specifier type for gutter
14545         visibility.
14546         (init_frame_gutters): construct real_gutter correctly.
14547         (Fgutter_specifier_p): beef up documentation.
14548         (Fgutter_size_specifier_p): ditto.
14549
14550         * winslots.h: add real_gutter slots.
14551
14552 2000-02-25  Andy Piper  <andy@xemacs.org>
14553
14554         * device-msw.c: Be kind to older cygwin versions. From Raymond
14555         Toy <toy@rtp.ericsson.se>.
14556
14557         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14558         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14559
14560 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14561
14562         * elhash.c (MARK_OBJ): Practice macro hygiene.
14563
14564 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14565
14566         * miscplay.c: s/__inline__/inline/g;
14567         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14568         (get_device_compdc): INLINE ==> static inline
14569         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14570         find -name '*.h' | \
14571         xargs global-replace \
14572         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14573
14574 2000-02-25  Andy Piper  <andy@xemacs.org>
14575
14576         * window.c (window_top_frame_gutter_height): new function.
14577         (window_top_window_gutter_height): ditto.
14578         (window_top_gutter_height): use them.
14579         (window_bottom_frame_gutter_height): new function.
14580         (window_bottom_window_gutter_height): ditto.
14581         (window_bottom_gutter_height): use them.
14582         (window_left_window_gutter_width): new function.
14583         (window_left_frame_gutter_width): ditto.
14584         (window_left_gutter_width): use them.
14585         (window_right_window_gutter_width): new function.
14586         (window_right_frame_gutter_width): ditto.
14587         (window_right_gutter_width): use them.
14588         (window_pixel_height): new function. calulate window pixel height
14589         with frame gutter involvement.
14590         (Fsplit_window): calculate new sizes taking frame gutters into
14591         account.
14592         (window_char_height_to_pixel_height): don't include frame gutters.
14593         (window_char_height): use window_pixel_height.
14594         (window_pixheight): rename from window_pixel_height.
14595         (change_window_height): use it.
14596         (window_pixel_height_to_char_height): don't include frame gutters.
14597         (window_char_width_to_pixel_width): ditto.
14598
14599 2000-02-25  Andy Piper  <andy@xemacs.org>
14600
14601         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14602         if it is.
14603
14604 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14605
14606         * alloc.c (staticpro):
14607         (staticpro_nodump):
14608         (dumpstruct):
14609         (dumpopaque):
14610         (pdump_wire):
14611         (pdump_wire_list):
14612         (compact_string_chars):
14613         (pdump_dump_wired):
14614         Convert:  if (foo) abort();  ==>  assert (! foo);
14615
14616         * eldap.c (Fldap_search_basic):
14617         (Fldap_add):
14618         (Fldap_modify):
14619         (Fldap_delete):
14620         Fix compiler warnings, and possible crashes if (random) return
14621         value were to be used.
14622
14623 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14624
14625         * device-msw.c: Workaround ResetDC failure.
14626
14627         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14628         applying a devmode.
14629
14630         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14631         (mswindows_text_width): Do not start printer page.
14632
14633         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14634
14635         * glyphs-msw.c: Added image methods to msprinter console and
14636         msprinter-specific image instantiation.
14637
14638 2000-02-20  Mike Alexander  <mta@arbortext.com>
14639
14640         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14641         to avoid crashes when selection-sets-clipboard is on
14642         (mswindows_own_selection): ditto
14643
14644 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14645
14646         * glyphs-msw.c:
14647         * redisplay-msw.c (get_frame_dc):
14648         (get_frame_compdc):
14649         * console-msw.h:
14650         * device-msw.c (mswindows_init_device):
14651         (mswindows_delete_device):
14652         (msprinter_init_device):
14653         (msprinter_delete_device):
14654         * frame-msw.c (mswindows_init_frame_1):
14655         (mswindows_delete_frame):
14656         (msprinter_init_frame_3):
14657         (msprinter_delete_frame): Move compatible DC to device object from
14658         frame object, for both mswindows and msprinter. Only one at a time
14659         is needed, it is a real waste to have one per frame!
14660
14661 2000-02-23  Andy Piper  <andy@xemacs.org>
14662
14663         * glyphs.c: add dynamic width and height elements.
14664         (image_instance_equal): ditto.
14665
14666         * glyphs-widget.c (widget_query_geometry): calculate width and
14667         height dynamically if required.
14668         (initialize_widget_image_instance): initialize dynamic dimensions.
14669         (widget_instantiate): pick-up dynamic dimensions.
14670
14671         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14672         dynamic determination. Add appropriate macros.
14673
14674         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14675         dimensions safe.
14676         (WINDOW_GUTTER_SIZE): ditto.
14677         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14678
14679         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14680         inline.
14681         (get_frame_dc): ditto.
14682
14683         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14684         here.
14685
14686 2000-02-23  Martin Buchholz <martin@xemacs.org>
14687
14688         * XEmacs 21.2.31 is released.
14689
14690 2000-02-22  Ben Wing <ben@xemacs.org>
14691
14692         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14693
14694 2000-02-22  Andy Piper  <andy@xemacs.org>
14695
14696         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14697
14698 2000-02-21  Mike Sperber <mike@xemacs.org>
14699
14700         * .dbxrc:
14701         * .gdbinit:
14702         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14703         variables.
14704
14705 2000-02-21  Mike Sperber <mike@xemacs.org>
14706
14707         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14708
14709 2000-02-21  Martin Buchholz <martin@xemacs.org>
14710
14711         * XEmacs 21.2.30 is released.
14712
14713 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14714
14715         Performance hacking.
14716         * *.c (syms_of_*):
14717         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14718         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14719         * emacs.c (main_1):
14720         * lisp.h (DEFUN):
14721         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14722         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14723         * symeval.h (DEFVAR_SYMVAL_FWD):
14724         * symbols.c (guts_of_unbound_marker):
14725         Make all c_readonly objects also lisp_readonly and marked for life.
14726         * lrecord.h (struct lrecord_implementation):
14727         Document flags better.
14728         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14729         * lrecord.h (DECLARE_LRECORD):
14730         * lrecord.h (XSETRECORD):
14731         * lrecord.h (RECORDP):
14732         * lrecord.h (RECORD_TYPEP):
14733         * lrecord.h (RECORD_MARKER): New.
14734         * lrecord.h (error_check_*):
14735         * lrecord.h (CONCHECK_NONRECORD):
14736         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14737         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14738         * lrecord.h (set_lheader_implementation):
14739         * lrecord.h (enum lrecord_type): New.
14740         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14741         * alloc.c (disksave_object_finalization_1):
14742         * alloc.c (mark_object):
14743         * alloc.c (lrecord_type_index):
14744         * alloc.c (tick_lcrecord_stats):
14745         * alloc.c (Fgarbage_collect):
14746         * alloc.c (init_alloc_once_early):
14747         * alloc.c (pdump_load):
14748         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14749         * alloc.c (lrecord_type_index): Delete.
14750         Make lisp object type indexes be constant.
14751           Makes (byte-compile) 5% faster.
14752         Put all marker functions into their own array.
14753           Makes (garbage-collect) 5% faster.
14754         Optimize SYMBOL_VALUE_MAGIC_P.
14755           Makes (byte-compile) 2-3% faster.
14756         * config.h.in (gc_checking_assert): New.
14757         * alloc.c: Use gc_checking_assert().
14758         * .dbxrc: Make compatible with new object type implementation.
14759         * .gdbinit: Make compatible with new object type implementation.
14760         * alloc.c: Delete all symbols defined only for debugging, such as
14761         Lisp_Type_Vector and lrecord_charset.
14762
14763 2000-02-21  Andy Piper  <andy@xemacs.org>
14764
14765         * gui-msw.c (Fmswindows_shell_execute): fix file location
14766         problems.
14767
14768         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14769         unshowing so that set_window_buffer doesn't undo
14770         kill_buffer_hook's hard work.
14771
14772         * glyphs-widget.c (tab_control_query_geometry): don't count the
14773         first item when calculating geometry.
14774
14775         * glyphs.c (map_subwindow): remove redundant code.
14776         (update_frame_subwindows): be more circumspect about when to
14777         update subwindows.
14778
14779         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14780         when items haven't changed. Update faces if faces have changed as
14781         well as just the widget face.
14782         (x_tab_control_update): Update faces if faces have changed as well
14783         as just the widget face.
14784
14785 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14786
14787         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14788         registration.
14789         (build_syscolor_string): Use mswindows_color_to_string to try to
14790         get a named color.
14791         (mswindows_device_system_metrics): Reverse the foreground and
14792         background colors so that they match the documentation.
14793
14794         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14795         they match the default Windows palette.
14796         (mswindows_color_to_string): New function.
14797
14798 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14799
14800         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14801
14802 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14803
14804         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14805         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14806
14807         * symbols.c (init_symbols_once_early): Removed obsolete
14808         DATA_SEG_BITS related kludge.
14809         (defvar_magic): Ditto.
14810
14811         * malloc.c: Removed obsolete DATA_SEG_BITS
14812         * ralloc.c: Ditto.
14813         * mem-limits.h: Ditto.
14814
14815         * Makefile.in.in: Removed obsolete HAVE_SHM
14816         * emacs.c: Ditto.
14817
14818 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14819
14820         *  device-msw.c (mswindows_delete_device): Free DDE string
14821         handles.
14822
14823 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14824
14825         * keymap.c (get_keyelt):
14826         * unexnt.c (unexec):
14827         * vm-limit.c (memory_warnings):
14828         * ntheap.c (recreate_heap):
14829         * ntheap.h (UNINIT_PTR):
14830         * select-msw.c (Fmswindows_get_clipboard):
14831         (Fmswindows_set_clipboard):
14832         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14833         * objects-msw.c:
14834         * menubar-msw.c (displayable_menu_item):
14835         * glyphs-msw.c:
14836         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14837         * sysdep.c (sys_subshell):
14838         * process-nt.c (nt_create_process):
14839         * nt.c (normalize_filename):
14840         (dostounix_filename):
14841         (unixtodos_filename):
14842         * ntproc.c (win32_executable_type):
14843         * ntplay.c (play_sound_data_1):
14844         (play_sound_file):
14845         * editfns.c (get_home_directory):
14846         * event-msw.c (struct winsock_stream):
14847         (mswindows_dde_callback):
14848         * device-msw.c (msprinter_init_device):
14849         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14850
14851         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14852         mswindows_clear_toolbar were swapped!
14853
14854         * objects-msw.c:(colormap_t):
14855         (fontmap_t):
14856         * emacs.c (struct standard_args): Fixed const jumble.
14857
14858         * glyphs-widget.c (update_widget): Fixed comparison notation.
14859
14860         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14861
14862         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14863         __declspec(noreturn) syntax.
14864
14865 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14866
14867         * eldap.c (Fldap_open):
14868         (Fldap_search_basic):
14869         (Fldap_add):
14870         (Fldap_modify):
14871         Use new coding system conversion macros.
14872
14873 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14874
14875         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14876
14877 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14878
14879         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14880         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14881
14882         * eldap.c (Qadd, Qreplace): New constant symbols
14883         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14884         interruptions by XEmacs signals
14885         Remove unnecessary calls to slow_down_interrupts and
14886         speed_up_interrupts
14887         (Fldap_search_basic): Renamed from Fldap_search_internal
14888         Added new optional parameter VERBOSE that triggers the
14889         display of progress messages
14890         Remove unnecessary calls to slow_down_interrupts and
14891         speed_up_interrupts
14892         LDAP result code analysis rewritten
14893         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14894         (syms_of_eldap): Define the new symbols and functions
14895
14896
14897 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14898
14899         * realpath.c: Determine PATH_MAX maximally portably.
14900
14901         * insdel.c (bytecount_to_charcount): Optimize.
14902         The function used to be optimized for entirely ASCII sequences.
14903         Now it is optimized for successive characters from the same
14904         charset.  This also wins big for _mostly_ ASCII sequences.
14905
14906         * fileio.c (Ffile_truename): convert return from realpath() using
14907         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14908         - Rewrite GCPROing slightly.
14909
14910         * sysdep.c (sys_open): Do filename conversion, like all other
14911         sys_* functions.  Fixes bug:
14912         (let ((file-name-coding-system 'iso-8859-2))
14913            (write-region x y latin2-name))
14914         ==> writes filename using internal encoding.
14915
14916 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14917
14918         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14919         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14920         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14921         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14922         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14923         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14924         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14925         (CONST_IF_NOT_DEBUG): Delete.
14926         * alloc.c (this_one_is_unmarkable): Delete.
14927         (mark_object): Don't check for this_one_is_unmarkable. Use the
14928         c_readonly flag instead.
14929         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14930
14931 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14932
14933         * event-msw.c (mswindows_drain_windows_queue):
14934         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14935         away redundant repaint events.
14936
14937 2000-02-17  Andy Piper  <andy@xemacs.org>
14938
14939         * redisplay.h: declare mark_redisplay_structs.
14940
14941         * redisplay.c (redisplay_window):
14942         (redisplay_frame): don't check subwindows_state_changed.
14943         (mark_redisplay): mark gutters here.
14944
14945         * glyphs.c: (instantiate_image_instantiator): always layout if we
14946         haven't done so already.
14947         (allocate_image_instance): don't mark as dirty.
14948         (update_subwindow): bind inhibit_quit.
14949
14950         * gutter.c (mark_gutters): new function.
14951
14952         * glyphs-x.c (x_update_widget): Always resize to get round a
14953         widget bug.
14954
14955         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14956         breaking absolutely everything.
14957
14958         * gutter.h: declare mark_gutters.
14959
14960 2000-02-16  Martin Buchholz <martin@xemacs.org>
14961
14962         * XEmacs 21.2.29 is released.
14963
14964 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14965
14966         * fns.c (size_bit_vector): Fix computation of the size.
14967
14968 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14969
14970         * *.[ch]: Change CONST to const globally.
14971         find -name '*.[ch]' | \
14972         xargs global-replace \
14973         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14974         - Remove vestigial references to CONST_IS_LOSING
14975
14976 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14977
14978         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14979         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14980         events instead of dispatching them directly.
14981         (mswindows_handle_paint): New function to do repainting.
14982         (mswindows_wnd_proc):
14983         (emacs_mswindows_handle_magic_event): Call above function.
14984
14985 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14986
14987         * objects-msw.c (mswindows_create_font_variant): Return the new
14988         font handle.
14989         (initialize_font_instance): Get font metrics from the underlined
14990         variant of the font to cope with the case where the underlined
14991         font has a bigger descent.
14992
14993 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14994
14995         * gui.c (gui_item_accelerator): Return the first underlined
14996         character in item name.
14997
14998 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14999
15000         * lisp.h: Added Qprinter.
15001
15002         * general.c (syms_of_general): Initialized it.
15003
15004         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
15005         (get_frame_dc):
15006         (get_frame_compdc): Made inline.
15007
15008         * console.h (struct console_methods): Added eject_page method.
15009
15010         * frame.h: Added FRAME_DISPLAY_P and friends.
15011         Aligned backslahes in many macros in more readable fashion.
15012         Added page_number to struct frame, and an accessor macro
15013         for it.
15014
15015         * defice.h: Added DEVICE_DISPLAY_P and friends.
15016
15017         * device.c (Fdevice_printer_p): Used these.
15018
15019         * frame.c (allocate_frame_core): Initialize page number.
15020         (Fprint_job_page_number):
15021         (Fprint_job_eject_page): Implemented.
15022
15023         * frame-msw.c (msprinter_eject_page): Added method.
15024         (msprinter_start_page): Added.
15025
15026         * window.c (Fwindow_truncated_p): Fixed docstring.
15027         (Fwindow_last_line_visible_height): Implemented.
15028
15029 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15030
15031         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15032
15033 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15034
15035         * syntax.c (scan_words): Always advance at least one character.
15036
15037 2000-02-13  Andy Piper  <andy@xemacs.org>
15038
15039         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15040         to make sure the glyph is in the cachels.
15041
15042         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15043         global image instance flag.
15044         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15045         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15046
15047         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15048         (Fset_image_instance_property): mark layout as changed.
15049         (invalidate_glyph_geometry_maybe): mark layout as changed.
15050         (glyph_width): use new NEEDS_LAYOUT macro.
15051         (glyph_ascent): ditto.
15052         (glyph_descent): ditto.
15053         (glyph_height): ditto.
15054         (image_instance_layout): mark layout as clean after laying out.
15055         (update_subwindow): don't mark layout as clean here.
15056
15057         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15058         should no longer be needed.
15059
15060         * glyphs-x.c (x_update_widget): sanitize asserts.
15061         (x_finalize_image_instance): sanitize assignment to widgets.
15062
15063         * glyphs-widget.c (widget_instantiate): don't need to clear the
15064         layout flag here.
15065
15066 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15067
15068         * sysdep.c (getcwd): Use standard prototype.
15069         * sysdep.h (getcwd): Use standard prototype.
15070
15071         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15072         (sequence, start, end).
15073         Remove redundant type checking.
15074         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15075         view of `caller-protects') to avoid a crash where the real fix was
15076         found elsewhere.
15077
15078 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15079
15080         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15081
15082         * s/sol2.h: Remove feature macro initialization.
15083
15084         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15085         (vector_hash): New.  Code from internal_hash.
15086         * lrecord.h:
15087         Fix up allocation subsystem comments.
15088
15089         * config.h.in: Add __EXTENSIONS__ for Solaris.
15090
15091         * systime.h (EMACS_GETTIMEOFDAY): New.
15092         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15093         Remove Solaris-specific code.
15094         Use void* for the (ignored) second arg for gettimeofday().
15095
15096         * elhash.c (hash_table_hash): Implement it, finally.
15097         * elhash.c:  Use hashcode_t.
15098
15099         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15100         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15101
15102         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15103         * fns.c (size_bit_vector):
15104         * alloc.c (size_vector):
15105         (make_vector_internal):
15106         (make_bit_vector_internal):
15107         (sweep_bit_vectors_1):
15108         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15109
15110 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15111
15112         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15113         Include strings.h to avoid warnings for bzero and strcasecmp.
15114
15115 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15116
15117         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15118         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15119
15120         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15121         sequence.
15122
15123 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15124
15125         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15126         use a value field instead.
15127         (symbol_value_forward_forward): Use value field.
15128         (DEFVAR_SYMVAL_FWD): Use value field.
15129         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15130         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15131         (DEFVAR_CONST_INT): Ditto.
15132         (DEFVAR_BOOL): Ditto.
15133         (DEFVAR_CONST_BOOL): Ditto.
15134         (DEFVAR_INT_MAGIC): Ditto.
15135         (DEFVAR_BOOL_MAGIC): Ditto.
15136
15137         * symbols.c (guts_of_unbound_marker): Use value field.
15138         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15139         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15140
15141         * lisp.h: Declare dumpopaque and noninteractive1.
15142
15143         * alloc.c (dumpopaque): Added.
15144         (pdump_dump_opaquevec): Added.
15145         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15146         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15147         noninteractive.
15148
15149 2000-02-10  Andy Piper  <andy@xemacs.org>
15150
15151         * glyphs.c (image_instance_layout): if the size changes, mark it
15152         as such.
15153
15154         * redisplay-output.c (redisplay_output_layout): Update the
15155         subwindow here.
15156         (redisplay_output_subwindow): ditto.
15157
15158         * glyphs.c (update_subwindow): make sure we reset flags for
15159         layouts as well as everything else.
15160
15161         * glyphs-widget.c (layout_layout): don't need to set the instances
15162         dimensions here.
15163
15164 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15165
15166         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15167         not HAVE_DLOPEN, which is a lower-level thing.
15168
15169         * .cvsignore: Ignore gmon.out
15170
15171 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15172
15173         * .cvsignore: Ignore portable dumper xemacs.dmp file
15174
15175 2000-02-09  Andy Piper  <andy@xemacs.org>
15176
15177         * redisplay-output.c (redisplay_output_layout): be more clever
15178         about when we output based on the changed flags.
15179
15180         * glyphs.h (struct image_instantiator_methods): add update_method.
15181         (struct Lisp_Image_Instance): add changed flags. Declare new
15182         macros for manipulating them.
15183
15184         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15185         (image_instance_parent_glyph): find an image_instance's parent
15186         glyph or image_instance.
15187         (image_instance_layout): mark the size as changed.
15188         (set_image_instance_dirty_p): new function. mark an image
15189         instance, plus all of its parents, as dirty.
15190         (Fset_image_instance_property): use it.
15191         (Fglyph_animated_timeout_handler): use it.
15192         (update_subwindow): call update_widget and device methods for
15193         update_subwindow. Mark all changed flags as clean.
15194         (Fresize_subwindow): mark size as changed.
15195
15196         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15197         failures.
15198         (x_update_subwindow): only resize subwindows here.
15199         (x_update_widget): new function. Update all changed properties of
15200         a widget.
15201         (x_resize_subwindow): deleted.
15202         (x_widget_set_property): deleted.
15203         (x_progress_gauge_set_property): deleted.
15204         (x_progress_gauge_update): new function. Implement recorded
15205         changes.
15206         (x_tab_control_update): ditto.
15207         (x_tab_control_set_property): deleted.
15208         (console_type_create_glyphs_x): declare new functions.
15209         (image_instantiator_format_create_glyphs_x): ditto.
15210
15211         * glyphs-widget.c (widget_set_property): mark text changed.
15212         (update_widget): new function. Update properties of a widget.
15213         (widget_instantiate): for layouts make sure we set their
15214         children's parent correctly.
15215         (tab_control_set_property): new function. Record changes that will
15216         take place under redisplay's control.
15217         (progress_gauge_set_property): ditto.
15218         (image_instantiator_progress_guage): declare new functions.
15219         (image_instantiator_tab_control): ditto.
15220
15221         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15222         now.
15223         (mswindows_update_widget): new function. Update all properties on
15224         a widget that have changed.
15225         (mswindows_button_update): new function. Update a button's set
15226         state.
15227         (mswindows_tab_control_update): new function. Update the items in
15228         a tab.
15229         (mswindows_tab_control_set_property): deleted.
15230         (mswindows_progress_gauge_update): new function. Update the
15231         progress gauge's progress.
15232         (mswindows_widget_set_property): deleted. This is all done
15233         asynchronously now.
15234         (mswindows_progress_gauge_set_property): ditto.
15235         (console_type_create_glyphs_mswindows): declare new methods.
15236         (image_instantiator_format_create_glyphs_mswindows): ditto.
15237
15238         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15239         (msprinter_set_frame_properties): ditto.
15240
15241         * console.h (struct console_methods): Add update_widget_method.
15242
15243 2000-02-09  Andy Piper  <andy@xemacs.org>
15244
15245         * gui-msw.c (Fmswindows_shell_execute): Make
15246         mswindows-shell-execute industrial strength.
15247
15248 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15249
15250         * lrecord.h: Make macro argument `props' match member function `plist'.
15251         * fns.c (Fget):
15252         * fns.c (Fput):
15253         * fns.c (Fremprop):
15254         * fns.c (Fobject_plist):
15255         * alloc.c:
15256         * symbols.c:
15257         Object property list frobbing cleanup.
15258         - Allow any lisp object (compared with `eq'), not just symbols, as
15259           keys in object plists.
15260         - Move symbol plist frobbing into symbols.c, where it belongs.
15261         - Move string plist frobbing into alloc.c, where it belongs.
15262         - Everything's an lrecord now, so no need to test for symbolp, etc.
15263         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15264
15265         * extents.c: Reorder code to remove declarations.
15266
15267         * frame.h (store_in_alist): Remove useless declaration.
15268
15269 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15270
15271         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15272         * config.h.in: Add HAVE_XCONVERTCASE.
15273
15274 2000-02-07  Andy Piper  <andy@xemacs.org>
15275
15276         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15277         it breaks many things.
15278
15279 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15280
15281         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15282         actually can start a common comment type.
15283         * src/syntax.h (SYNTAX_END_P): ditto for end.
15284
15285 2000-02-07  Martin Buchholz <martin@xemacs.org>
15286
15287         * XEmacs 21.2.28 is released.
15288
15289 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15290
15291         * event-Xt.c (x_keysym_to_character): New.
15292         (maybe_define_x_key_as_self_inserting_character): New.
15293         (x_has_keysym): New.
15294         Auto-define all keys on the keyboard as self-insert-key.
15295
15296 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15297
15298         * menubar.c (vars_of_menubar): A small code simplification.
15299
15300         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15301
15302         * ExternalShell.c:
15303         * ExternalClient.c:
15304         * EmacsShell-sub.c:
15305         * EmacsManager.c:
15306         * EmacsFrame.c:
15307         Use consistent style for specifying X resources.
15308
15309         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15310         This makes (dontusethis-set-symbol-value-handler) actually usable.
15311
15312         * lrecord.h (lrecord_decription_type):
15313         * alloc.c (pdump_register_sub):
15314         (pdump_dump_data):
15315         (pdump_reloc_one):
15316         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15317         Comply with XEmacs coding style.
15318         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15319         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15320
15321         * keymap.c (Faccessible_keymaps):
15322         Make (accessible-keymaps map "\C-h") do the Right Thing.
15323         Make (accessible-keymaps map []) do the Right Thing.
15324         Make (accessible-keymaps map "") do the Right Thing.
15325         (check_keymap_definition_loop): New function.
15326         (keymap_store_internal): Keep luser from shooting self in foot,
15327           via (define-key ctl-x-4-map "p" global-map).
15328         Remove fullness slot from struct Lisp_Keymap, since hash tables
15329         are now reliable.
15330         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15331
15332 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15333
15334         * redisplay.c (init_redisplay): Fix small memory leak.
15335         * elhash.h:
15336         * elhash.c (pdump_reorganize_hash_table):
15337         Rename from reorganize_hash_table. Change prototype.
15338         Reuse the original memory for hentries.  Save 100k.
15339         * alloc.c (PDUMP_READ): new macro.
15340         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15341         * alloc.c: No need to #ifndef before #undef.
15342
15343         * print.c: Allow debug_print() to print readably by modifying
15344         debug_print_readably.  Use consistent variable names.
15345
15346         * .dbxrc: Try to get things to work even if stopped in a function
15347         without source available by explicitly specifying source files.
15348 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15349
15350         * unexnt.c (_start): Removed bogus code which caused loading heap
15351         from differrent executable file.
15352         Removed bogus assignment to _fmode, which caused inconsistencies.
15353
15354 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15355
15356         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15357         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15358         Do not preliminary `#define signal sigset'.
15359
15360         * systime.h: Do not prototype environ on windows nt and cygwin,
15361         this conflicts with system header.
15362
15363         * syssignal.h: Use correct define for WINDOWSNT
15364
15365         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15366         with system header.
15367
15368         * sysdep.c (near start of file): Fixed commentary and rearranged
15369         ifdefs in readable order.
15370         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15371         (start_of_text):
15372         (end_of_text):
15373         (end_of_data): Do not compile in if using PDUMP.
15374
15375         * symsinit.h: Prototyped vars_of_nt().
15376
15377         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15378         (find_child_console): Use it.
15379         (sys_kill): Use it.
15380
15381         * ntheap.h: Do not extern os_subtype.
15382
15383         * ntheap.c (cache_system_info): Do not cache unneeded:
15384         nt_major_version, nt_minor_version and os_subtype.
15385         (recreate_heap): Do not compile in when PDUMPing.
15386
15387         * nt.c (geteuid and friends): Use the new varibale
15388         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15389         (init_user_info): Removed the above mentioned hackery.
15390         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15391         stat has been fixed in the C runtime.
15392         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15393
15394         * file-coding.c (struct file_coding_dump): Do not define
15395         ucs_to_mule_table in the struct if not MULE.
15396         (struct struct lrecord_description fcd_description_1): Do not dump
15397         the above.
15398
15399         * emacs.c (main_1): Call vars_of_nt().
15400         (right before Fdump_emacs_data): Don't need lastfile if using both
15401         portabe dumper and system malloc.
15402
15403         * alloc.c (Fmemory_limit): Conditionalized out.
15404         (pdump): Use OPEN_BINARY for the portable dump file.
15405         (pdump_load): Ditto.
15406
15407 2000-02-02  Mike Alexander  <mta@arbortext.com>
15408
15409         * nt.c (convert_time): Set tm_isdst before calling mktime and
15410         avoid calling it at all if the compiler supports 64 bit integers.
15411         Also initialize utc_base_ft before using it.
15412
15413 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15414
15415         * frame.c (change_frame_size_1): Take f->internal_border_width
15416         into consideration when calculating the width of the frame.
15417
15418 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15419
15420         * window.c (frame_min_height):
15421         (frame_size_valid_p):
15422         (frame_pixsize_valid_p): Added.
15423         (check_frame_size): Generalized.
15424
15425         * window.h: Prototyped the above.
15426
15427         * lisp.h:
15428         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15429         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15430         Deleted Vwin32_* and Vbinary_process_* unused variables.
15431
15432         * device-msw.c (msprinter_init_device): Do not get printer font
15433         list; Added DEVMODE functions.
15434
15435         * frame-msw.c: Added lots of printer code.
15436
15437         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15438         general.c.
15439
15440         * console-msw.h: Added more msprinter device private slots.
15441
15442 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15443
15444         * event-msw.c (key_needs_default_processing_p): Added.
15445         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15446
15447 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15448
15449         * glyphs.c (image_instance_layout): Mark image instance as clean
15450         after layout.
15451         (glyph_dirty_p): Removed redundant function.
15452         (invalidate_glyph_geometry_maybe): Added.
15453         (update_glyph_cachel_data): Call it.
15454
15455         * glyphs.h: Prototyped it.
15456
15457         * redisplay.c (add_glyph_rune): Call it.
15458         (redisplay_window): Reset glyphs cachels when frame faces have
15459         changed, thus forcing recomputation of built-in border glyphs.
15460
15461 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15462
15463         * Makefile.in.in: Make portable dumper and purify play well together.
15464         Add imperfect, but better than nothing, support for pdump.
15465         Remove xemacs.dmp when temacs is re-generated.
15466         Don't ignore errors when dumping xemacs.
15467
15468         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15469
15470 2000-01-28  Andy Piper  <andy@xemacs.org>
15471
15472         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15473         (setup_normal_frame): ditto.
15474         (setup_frame_without_minibuffer): ditto.
15475         (setup_minibuffer_frame): ditto.
15476         (delete_frame_internal): ditto.
15477         (Fmake_frame_invisible): ditto.
15478         (Ficonify_frame): ditto.
15479
15480         * window.h: change Fset_window_buffer signature.
15481
15482         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15483         (Fset_window_buffer): allow recording of buffer if the window is
15484         the selected window.
15485         (window_loop): Use new Fset_window signature.
15486
15487 2000-01-23  Daniel Pittman  <daniel@danann.net>
15488
15489         * config.h.in: Added template for `HAVE_ATHENA_3D'
15490
15491 2000-01-29  Andy Piper  <andy@xemacs.org>
15492
15493         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15494
15495         * gutter.c (output_gutter): Don't output if the window isn't live.
15496
15497 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15498
15499         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15500         of 01/12/00: Moved SetFocus back here where it belongs.
15501
15502 2000-01-23  Andy Piper  <andy@xemacs.org>
15503
15504         * s/cygwin32.h: declare printer things.
15505
15506 2000-01-26  Andy Piper  <andy@xemacs.org>
15507
15508         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15509         Alexander.
15510
15511 2000-01-24  Andy Piper  <andy@xemacs.org>
15512
15513         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15514         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15515
15516         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15517
15518         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15519
15520         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15521
15522         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15523         (mswindows_output_display_block): Avoid local shadows.
15524
15525         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15526         (mswindows_enqueue_mouse_button_event): ditto.
15527         (mswindows_handle_gui_wm_command): remove declaration.
15528
15529         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15530         warnings.
15531
15532         * console-msw.h: Avoid shadows.
15533         (mswindows_get_toolbar_button_text):
15534         (emacs_mswindows_create_stream_pair):
15535         (emacs_mswindows_delete_stream_pair):
15536         (mswindows_handle_toolbar_wm_command): declare.
15537
15538         * device-msw.c (build_syscolor_string): Avoid shadows.
15539
15540 2000-01-23  Andy Piper  <andy@xemacs.org>
15541
15542         * glyphs-widget.c (widget_instantiate): reverse the items for
15543         layouts so that children are in the expected order.
15544
15545 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15546
15547         * ralloc.c: safe_bcopy ==> memmove
15548         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15549         * s/msdos.h: Remove BCOPY macros.
15550         * insdel.c (gap_right): Remove BCOPY conditional code.
15551         * insdel.c (gap_left): Remove BCOPY conditional code.
15552         XEmacs demands a working ANSI C compiler - hence memmove.
15553
15554         * regex.c (regex_compile): Remove accidental use of trigraphs.
15555
15556 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15557
15558         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15559         event timestamp.
15560
15561 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15562
15563         * event-msw.c (mswindows_drain_windows_queue): Added the
15564         parameter.
15565         (mswindows_need_event): Commented the call to
15566         mswindows_drain_windows_queue().
15567         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15568         only.
15569
15570         * console-msw.h: Moved a few function prototypes here from
15571         event-msw.c.
15572
15573         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15574         parameter from unsigned short to unsigned long.
15575         (Fmswindows_shell_execute): Added return value.
15576
15577 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15578
15579         * sysdep.c (init_system_name):
15580           process-unix.c (unix_canonicalized_host_name):
15581         Don't call freeaddrinfo() if getaddrinfo() fails.
15582
15583         * process-unix.c (unix_open_unix_network_stream):
15584         Moved the code to get a port # into address loop.
15585
15586 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15587
15588         * buffer.c (reinit_vars_of_buffer):
15589         The right place to initialize conversion_in_dynarr and
15590         conversion_out_dynarr.
15591
15592         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15593
15594         * process-unix.c (unix_canonicalize_host_name): Muleize.
15595         (unix_open_network_stream): Muleize.
15596
15597         * buffer.h: Fix up prototypes for ralloc.c functions.
15598
15599 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15600         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15601         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15602                 instead of gethostbyname()
15603         * process-unix.c: In unix_canonicalize_host_name() and
15604                 unix_open_network_stream(), add code to use getaddrinfo()
15605                 instead of gethostbyname().
15606
15607 2000-01-27  Daniel Pittman <daniel@danann.net>
15608
15609         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15610         libs when built with flat Athena.
15611
15612 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15613
15614         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15615         Use coding standards for function prototypes.
15616
15617 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15618
15619         * dialog-msw.c (push_lisp_string_as_unicode):
15620         * doc.c (unparesseuxify_doc_string):
15621         * dired.c (Fuser_name_completion_1):
15622         * dired.c (Fuser_name_all_completions):
15623         * dired.c (free_user_cache):
15624         * dired.c (user_name_completion):
15625         * console-x.c (get_display_arg_connection):
15626         * minibuf.c (clear_echo_area_internal):
15627         * minibuf.c (echo_area_append):
15628         * eldap.c (Fldap_open):
15629         * eldap.c (Fldap_search_internal):
15630         * frame-x.c (x_set_frame_text_value):
15631         * frame-x.c (x_set_frame_properties):
15632         * frame-x.c (x_create_widgets):
15633         * redisplay-tty.c (term_get_fkeys_1):
15634         * objects-x.c (x_parse_nearest_color):
15635         * objects-x.c (x_valid_color_name_p):
15636         * objects-x.c (x_initialize_font_instance):
15637         * objects-x.c (x_list_fonts):
15638         * objects-x.c (x_find_charset_font):
15639         * tooltalk.c (Fadd_tooltalk_message_arg):
15640         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15641         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15642         * process-unix.c (unix_create_process):
15643         * ntproc.c (sys_spawnve):
15644         * sound.c (Fplay_sound_file):
15645         * sound.c (Fplay_sound):
15646         * buffer.c (init_initial_directory):
15647         * buffer.c (init_buffer):
15648         * editfns.c (init_editfns):
15649         * editfns.c (Ftemp_directory):
15650         * editfns.c (Fuser_full_name):
15651         * editfns.c (uncache_home_directory):
15652         * editfns.c (get_home_directory):
15653         * editfns.c (Fuser_home_directory):
15654         * editfns.c (Fformat_time_string):
15655         * editfns.c (Fcurrent_time_string):
15656         * gui-x.c (button_item_to_widget_value):
15657         * database.c (Fopen_database):
15658         * event-Xt.c (x_to_emacs_keysym):
15659         * event-Xt.c (x_event_to_emacs_event):
15660         * event-Xt.c (describe_event_window):
15661         * event-msw.c (mswindows_wnd_proc):
15662         * glyphs-eimage.c (jpeg_instantiate):
15663         * glyphs-eimage.c (gif_instantiate):
15664         * glyphs-eimage.c (png_instantiate):
15665         * glyphs-eimage.c (tiff_instantiate):
15666         * glyphs-x.c (xbm_instantiate_1):
15667         * glyphs-x.c (x_xbm_instantiate):
15668         * glyphs-x.c (x_xface_instantiate):
15669         * glyphs-x.c (autodetect_instantiate):
15670         * glyphs-x.c (cursor_font_instantiate):
15671         * glyphs-x.c (x_widget_instantiate):
15672         * glyphs-x.c (x_widget_set_property):
15673         * glyphs-x.c (x_widget_property):
15674         * glyphs-x.c (BUILD_GLYPH_INST):
15675         * print.c (write_string_to_stdio_stream):
15676         * print.c (output_string):
15677         * print.c (Falternate_debugging_output):
15678         * print.c (Fexternal_debugging_output):
15679         * glyphs-msw.c (extract_xpm_color_names):
15680         * glyphs-msw.c (mswindows_xpm_instantiate):
15681         * glyphs-msw.c (bmp_instantiate):
15682         * glyphs-msw.c (resource_name_to_resource):
15683         * glyphs-msw.c (mswindows_resource_instantiate):
15684         * glyphs-msw.c (xbm_instantiate_1):
15685         * glyphs-msw.c (mswindows_xbm_instantiate):
15686         * glyphs-msw.c (mswindows_xface_instantiate):
15687         * glyphs-msw.c (mswindows_widget_instantiate):
15688         * glyphs-msw.c (add_tree_item):
15689         * glyphs-msw.c (add_tab_item):
15690         * glyphs-msw.c (mswindows_combo_box_instantiate):
15691         * glyphs-msw.c (mswindows_widget_property):
15692         * glyphs-msw.c (mswindows_combo_box_property):
15693         * glyphs-msw.c (mswindows_widget_set_property):
15694         * console.c (stuff_buffered_input):
15695         * objects-msw.c (mswindows_initialize_color_instance):
15696         * objects-msw.c (mswindows_valid_color_name_p):
15697         * objects-msw.c (mswindows_list_fonts):
15698         * objects-msw.c (mswindows_font_instance_truename):
15699         * bytecode.c (optimize_compiled_function):
15700         * select-x.c (symbol_to_x_atom):
15701         * select-x.c (x_atom_to_symbol):
15702         * select-x.c (hack_motif_clipboard_selection):
15703         * select-x.c (selection_data_to_lisp_data):
15704         * select-x.c (lisp_data_to_selection_data):
15705         * select-x.c (Fx_get_cutbuffer_internal):
15706         * select-x.c (Fx_store_cutbuffer_internal):
15707         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15708         * buffer.h (TO_INTERNAL_FORMAT): New function.
15709         * emacs.c (make_arg_list_1):
15710         * emacs.c (make_argc_argv):
15711         * emacs.c (main_1):
15712         * emacs.c (Fdump_emacs):
15713         * emacs.c (split_string_by_emchar_1):
15714         * file-coding.h:
15715         * lisp.h:
15716         * lstream.h:
15717         * symsinit.h:
15718         * device-x.c (x_init_device):
15719         * device-x.c (Fx_valid_keysym_name_p):
15720         * device-x.c (Fx_get_font_path):
15721         * device-x.c (Fx_set_font_path):
15722         * glyphs.c (bitmap_to_lisp_data):
15723         * glyphs.c (pixmap_to_lisp_data):
15724         * alloc.c (make_ext_string): Use coding system arguments.  Update
15725         all callers.
15726         * alloc.c (build_string):
15727         * callproc.c (child_setup):
15728         * callproc.c (init_callproc):
15729         * fileio.c (lisp_strerror):
15730         * fileio.c (directory_file_name):
15731         * fileio.c (Fexpand_file_name):
15732         * fileio.c (Ffile_truename):
15733         * fileio.c (Fsysnetunam):
15734         * fileio.c (Fdo_auto_save):
15735         * sysdep.c (sys_readdir):
15736         * tests.c: New file.  Allow adding C tests.
15737         Replace GET_* macros with a more comprehensible and flexible
15738         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15739         Modify all calls.
15740         Any coding system can be used to do format conversion.
15741         Eliminate enum external_data_format.
15742         Eliminate convert_to_external_format.
15743         Eliminate convert_to_internal_format.
15744         Make sure file-name, keyboard, terminal, and ctext are always
15745         defined as coding systems or aliases.  Make
15746         file-name-coding-system, terminal-coding-system, and
15747         keyboard-coding-system magical variables that are equivalent to
15748         defining the corresponding coding system aliases.
15749
15750         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15751         * file-coding.c (Fcoding_system_alias_p): New function.
15752         * file-coding.c (Fcoding_system_aliasee): New function.
15753         * file-coding.c (append_suffix_to_symbol): New function.
15754         * file-coding.c (dangling_coding_system_alias_p): New function.
15755         * file-coding.c (Ffind_coding_system):
15756         * file-coding.c (Fcopy_coding_system):
15757         * file-coding.c (encode_coding_no_conversion):
15758         * file-coding.c (syms_of_file_coding):
15759         * file-coding.c (vars_of_file_coding):
15760         Rewrite coding system alias code.
15761         Allow nested aliases, like symbolic links.
15762         Allow redefinition of coding system aliases.
15763         Prevent existence of dangling coding system aliases.
15764
15765         * dired.c (Fuser_name_completion_1):
15766         * dired.c (Fuser_name_all_completions):
15767         A crash would happen if user did QUIT in the middle of building
15768         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15769
15770         * lisp.h:
15771         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15772
15773         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15774         an unsigned char *.  Update all callers.
15775
15776 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15777
15778         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15779
15780 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15781
15782         * elhash.c (hentry_description): Use more portable definition.
15783         (resize_hash_table): Initialize new hentries using
15784         xnew_array_and_zero, thereby simplifying the code.
15785
15786         * mule-charset.c (make_charset): Make sure entire object is
15787         initialized, to avoid Purify warnings.
15788
15789         * alloc.c (resize_string): Fix unlikely crash with big strings.
15790
15791 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15792
15793         * realpath.c (xrealpath):
15794         Don't call getwd().
15795
15796 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15797
15798         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15799
15800 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15801
15802         * unexelfsgi.c (unexec): Change the way we decide which segment
15803         should be extended.
15804
15805         Assumption that .bss section should be outside the PT_LOADable
15806         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15807         it's present) is inside the 'data' segment. This would fail the
15808         test which was used to find a segment to grow and cover new
15809         heap. Instead of this assumption, I created another one - on IRIX
15810         the segment to grow should start below .bss and it's address
15811         should extent above the end of .bss. Once this segment is
15812         identified, it's grown to accommodate the new heap and new
15813         zero-length .bss section is added at the end of .data2.
15814
15815 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15816
15817         * eval.c (Feval): Wrong number of arguments should use original
15818         function, not the indirect_function version of it.
15819
15820 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15821
15822         * glyphs-x.c (x_button_instantiate): Don't add image if
15823         it is not a pixmap.
15824         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15825         is relative.
15826
15827 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15828
15829         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15830         declaration.
15831         (DEFVAR_INT_MAGIC): Ditto.
15832         (DEFVAR_BOOL_MAGIC): Ditto.
15833         * glyphs.h: Reindent backslash.
15834
15835 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15836
15837         * glyphs-widget.c (layout_query_geometry):
15838         (layout_layout): Use correct types for gheight, gwidth.
15839
15840 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15841
15842         * EmacsManager.c (QueryGeometry): Purified.
15843
15844 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15845
15846         * alloc.c (make_float): Make sure entire object is initialized, to
15847         avoid Purify warnings.
15848         (pdump_register_sub): Remove useless assignment.
15849         (pdump): Use xmalloc, not malloc.
15850         (pdump_load): Use xmalloc, not malloc.
15851
15852 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15853
15854         * callproc.c:
15855         * dired-msw.c:
15856         * fileio.c:
15857         * process-nt.c:
15858         * redisplay-msw.c:
15859         * sysdep.c: Removed redundant #include <windows.h>
15860
15861 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15862
15863         * frame.c (delete_frame_internal): Do not delete device when its
15864         implementation so declares.
15865         (delete_frame_internal): Set device selected frame to nil when
15866         last frame goes away.
15867
15868         * device-msw.c (msprinter_device_system_metrics): Implemented.
15869         (mswindows_device_system_metrics): Added 'device-dpi property.
15870
15871         * device.c: (Fdevice_printer_p): Added.
15872         Added 'offset-workspace device metric.
15873
15874         * console.h (device_metrics): Declared DM_offset_workspace.
15875
15876 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15877
15878         * fileio.c (Ffile_truename): Remove pointless and confusing
15879         initialization of elen.
15880
15881         * glyphs-widget.c: Compiler warning fixes.
15882
15883 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15884
15885         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15886         instead of a Lisp_Object as argument to make it consistent with
15887         the other LIVE_P macros.
15888         (CHECK_LIVE_PROCESS): New macro.
15889
15890         * process.c: Declare Qprocess_live_p.
15891         (Fprocess_live_p): New function.
15892         (create_process): Use PROCESS_LIVE_P.
15893         (read_process_output): Ditto.
15894         (set_process_filter): Ditto.
15895         (Fdelete_process): Ditto.
15896         (kill_buffer_processes): Ditto
15897         (process_send_signal): Use CHECK_LIVE_PROCESS.
15898         (Fprocess_input_coding_system): Check whether process is still
15899         alive (fix PR#1061).
15900         (Fprocess_output_coding_system): Ditto.
15901         (Fprocess_coding_system): Ditto.
15902         (Fset_process_input_coding_system): Ditto.
15903         (Fset_process_output_coding_system): Ditto.
15904
15905 2000-01-23  Andy Piper  <andy@xemacs.org>
15906
15907         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15908         layout and widget.
15909
15910         * glyphs.c (mark_image_instance): take into account changed
15911         image_instance format.
15912         (image_instance_equal): ditto.
15913         (image_instance_hash): ditto.
15914
15915         * glyphs-widget.c (widget_instantiate): Incorporate layout
15916         instantiation here. Delay layout of the layout until later.
15917         (layout_instantiate): deleted.
15918         (layout_query_geometry): new function. get the geometry of a
15919         layout.
15920         (layout_layout): layout a layout dynamically.
15921         (image_instantiator_widget): New function - splitting up
15922         image_instantiator_format_create_glyphs_widget for netwinder
15923         compilation.
15924         (image_instantiator_buttons):
15925         (image_instantiator_edit_fields):
15926         (image_instantiator_combo_box):
15927         (image_instantiator_scrollbar):
15928         (image_instantiator_progress_guage):
15929         (image_instantiator_tree_view):
15930         (image_instantiator_tab_control):
15931         (image_instantiator_labels):
15932         (image_instantiator_layout): ditto.
15933         (image_instantiator_format_create_glyphs_widget): Call preceding
15934         functions.
15935
15936 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15937
15938         * process.c (Fset_process_coding_system):
15939         * device-x.c (Fx_keysym_hash_table):
15940         Docstring fixes.
15941
15942         * lstream.c (Lstream_write): Return documented value, not 0.
15943
15944         * fileio.c (directory_file_name):
15945         (Fsubstitute_in_file_name):
15946         (Fsubstitute_insert_file_contents_internal):
15947         (Fwrite_region_internal):
15948         * emacs.c:
15949         * sysdep.c:
15950         * getloadavg.c:
15951         * systty.h:
15952         Remove vestigial APOLLO-conditional code.
15953
15954 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15955
15956         * getpagesize.h: Add guard macros.
15957         * libsst.h: Add guard macros.
15958         * libst.h: Add guard macros.
15959         * line-number.h: Add guard macros.
15960         * ndir.h: Add guard macros.
15961         * sysfloat.h: Add guard macros.
15962         * sysfile.h: Add guard macros.
15963         * sysproc.h: Add guard macros.
15964         * syswait.h: Add guard macros.
15965         * xintrinsic.h: Add guard macros.
15966         * xintrinsicp.h: Add guard macros.
15967         * xmmanager.h: Add guard macros.
15968         * xmmanagerp.h: Add guard macros.
15969         * xmprimitive.h: Add guard macros.
15970         * xmu.h: Add guard macros.
15971         * gpmevent.h: Add copyright statement. Add guard macros.
15972         * miscplay.h: Add guard macros.
15973         * *.h: Use consistent C-standards-approved guard macro names.
15974
15975         * opaque.c (make_opaque): Switch parameter order.
15976         * opaque.h (make_opaque): Switch parameter order.
15977         Update all callers.
15978         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15979
15980         * config.h.in (type_checking_assert): Added.
15981         (bufpos_checking_assert): Added.
15982
15983 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15984
15985         * alloc.c: Harmless pdump changes.
15986         - Use countof().
15987         - spell alignment correctly.
15988         * sysdep.c: Use countof()
15989
15990 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15991
15992         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15993         initially_selected_for_input() console method, default to 0.
15994         (semi_canonicalize_console_connection): Try to delegate to
15995         canonicalize_console_connection if no such console method.
15996         (canonicalize_console_connection): Vice versa.
15997         (print_console): Do not print nil connection.
15998
15999         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
16000         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
16001         (XDEVIMPF_FRAMELESS_OK): Added.
16002         (CONSOLE_INHERITS_METHOD): Added.
16003
16004         * console-msw.c (mswindows_canonicalize_console_connection):
16005         Added.
16006         (mswindows_canonicalize_device_connection): Added.
16007
16008         * console-msw.h (struct msprinter_device): Added this struct and
16009         accessor macros.
16010         (mswindows_device): Made fontlist a lisp object.
16011
16012         * device.c (semi_canonicalize_device_connection):  Try to delegate
16013         to canonicalize_device_connection if no such console method.
16014         (canonicalize_device_connection): Vice versa.
16015         (print_device): Do not print nil connection.
16016
16017         * device-msw.c (mswindows_init_device): Call InitCommonControls
16018         when have widgets.
16019         (mswindows_delete_device): Removed fontlist deallocation.
16020         (mswindows_mark_device): Added.
16021
16022         * events.c (event_equal): Added abort() at unreached code.
16023         (event_hash): Ditto.
16024
16025         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
16026         fallback tags of Windows devices.
16027
16028         * general.c (syms_of_general): Initialized Qmsprinter.
16029
16030         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16031         of fallback tags of Windows devices.
16032
16033         * lisp.h: Declared Qmsprinter.
16034
16035         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16036         of strings.
16037         (mswindows_list_fonts): Ditto.
16038         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16039         that it can be used by both mswindows and msprinter devices.
16040         (initialize_font_instance): Added.
16041         (mswindows_initialize_font_instance): Use it.
16042         (msprinter_initialize_font_instance): Added.
16043
16044         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16045         and implementation flags check.
16046         (redisplay_without_hooks): Changed the call to the above.
16047         (Fredraw_device): Ditto.
16048         (Fredisplay_device): Ditto.
16049
16050         * redisplay-msw.c (get_frame_dc): Implemented.
16051         (get_frame_compdc): Implemented.
16052         (many functions): Use the two functions above to get device
16053         contexts, ether for a window or a printer.
16054
16055 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16056
16057         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16058         initialization here.
16059         (init_symbols_once_early): Call it.
16060         * emacs.c (main_1): Call it.
16061         * symsinit.h: Declare it.
16062
16063 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16064
16065         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16066         Lisp_Object.
16067         (pdump_backtrace): Ditto.
16068         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16069         (pdump_get_entry): Abort if trying to register a null pointer.
16070         (pdump_dump_data): Cleanup types when relocating.
16071         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16072         (pdump_dump_rtables): Remove bad casts.
16073         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16074         Lisp_Object instead of a EMACS_INT for the hashtable
16075         reorganization.
16076
16077 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16078
16079         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16080
16081         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16082
16083         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16084
16085         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16086
16087 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16088
16089         * faces.h (FACE_STRIKETHRU_P): Added.
16090
16091         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16092         of font variants.
16093
16094         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16095         (mswindows_set_dc_font): New function, aware of font variants,
16096         separated from mswindows_update_dc.
16097
16098         * objects-msw.h (struct mswindows_font_instance_data): Added
16099         definition.
16100
16101         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16102         cached fonts and the data structure.
16103         (mswindows_initialize_font_instance): Added creation of font data
16104         structure.
16105         (mswindows_print_font_instance): Print at least something.
16106         (mswindows_create_font_variant): Implemented.
16107         (mswindows_get_hfont): Implemented.
16108
16109 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16110
16111         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16112         prototyping problem with msvc.
16113
16114         * emacs.c (main_1): added syms_of_gui_mswindows() call
16115
16116         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16117         syms_of_gui_mswindows() function
16118
16119         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16120
16121 2000-01-18  Martin Buchholz <martin@xemacs.org>
16122
16123         * XEmacs 21.2.27 is released.
16124
16125 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16126
16127         * glyphs-eimage.c (struct tiff_error_struct):
16128         (tiff_error_func):
16129         (tiff_warning_func):
16130         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16131
16132         * unexmips.c:
16133         * unexhp9k3.c:
16134         * unexfreebsd.c:
16135         * unexec.c: Remove vestigial Lucid C code.
16136         * unexalpha.c:
16137         * unexaix.c:
16138         * termcap.c:
16139         * libsst.c: Ansify.
16140         Remove declarations of errno and strerror().
16141
16142         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16143
16144         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16145
16146 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16147
16148         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16149         Optimize.
16150
16151 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16152
16153         * md5.c:
16154         * file-coding.c:
16155         * file-coding.h:
16156         Change enum eol_type to eol_type_t.
16157
16158 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16159
16160         * gui.c (get_gui_callback): Check cons before accessing car.
16161
16162 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16163
16164         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16165         (XSETSPECIFIER_TYPE): Ditto.
16166
16167 2000-01-17  Didier Verna  <didier@xemacs.org>
16168
16169         * redisplay.c (generate_fstring_runes): compute string size in
16170         characters, not bytes.
16171
16172 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16173
16174         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16175
16176 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16177
16178         * print.c (print_error_message): Call print_prepare().
16179
16180 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16181
16182         * .dbxrc: Renamed from dbxrc.
16183
16184         * events.c (event_to_character):
16185         Use `assert (foo)' instead of `if (!foo) abort()'
16186
16187         * .gdbinit (xtype): Add documentation.
16188         * .gdbinit (check-temacs): New function.
16189         * .gdbinit (check-xemacs): New function.
16190         * dbxrc (check-xemacs): New function.
16191         * dbxrc (check-xemacs): New function.
16192
16193 2000-01-14  Andy Piper  <andy@xemacs.org>
16194
16195         * glyphs-widget.c (widget_query_geometry): Make sure that we
16196         calculate default dimensions correctly.
16197
16198 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16199
16200         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16201
16202         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16203         pdump_wire'd variable.
16204
16205         * emacs.c: (main_1): Conditionalized calls to
16206         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16207
16208 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16209
16210         * window.c (Fset_window_configuration):
16211         * sysdep.c (_start):
16212         * input-method-motif.c (res):
16213         * event-Xt.c (Xt_process_to_emacs_event):
16214         Simple compiler warning fixes.
16215
16216         * bytecode.c (funcall_compiled_function): Use the original
16217         function symbol on the backtrace list in preference to the
16218         compiled_function object in error messages.
16219
16220 2000-01-13  Andy Piper  <andy@xemacs.org>
16221
16222         * glyphs-x.c (update_widget_face): Make sure we update the widget
16223         background as well as foreground.
16224
16225 2000-01-13  Andy Piper  <andy@xemacs.org>
16226
16227         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16228         fields to subwindow.
16229         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16230         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16231         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16232         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16233
16234         * glyphs-widget.c (check_valid_tab_orientation): new function.
16235         (initialize_widget_image_instance): zero orientation and
16236         justification.
16237         (widget_instantiate): pick up orientation.
16238         (tab_control_query_geometry): return appropriate values for
16239         vertical tabs.
16240
16241         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16242         appropriate creation flags for left, right and bottom tabs.
16243
16244         * s/cygwin32.h: add tab definitions.
16245
16246 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16247
16248         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16249         frame upon hiding a subwindow.
16250         (mswindows_button_instantiate): Changed the push button style to
16251         BS_PUSHBUTTON.
16252         (mswindows_button_instantiate): Removed button BS_NOTIFY
16253         style.
16254         (mswindows_button_instantiate): Removed redundant check for
16255         a disabled gui item.
16256         (mswindows_button_instantiate): Made use of WS_TABSTOP
16257         consistent: "operable" controls (edit, button, tree, scroll) have
16258         this style, "display-only" ones (static, progress gauge) do
16259         not. This style is currently ignored by XEmacs though. Also,
16260         removed the WS_EX_CONTROLPARENT style - it is not for children,
16261         it is for their parents!
16262         (mswindows_edit_field_instantiate): Ditto.
16263         (mswindows_progress_gauge_instantiate): Ditto.
16264         (mswindows_tree_view_instantiate): Ditto.
16265         (mswindows_tab_control_instantiate): Ditto.
16266         (mswindows_scrollbar_instantiate): Ditto.
16267         (mswindows_combo_box_instantiate): Ditto.
16268         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16269         style to the "clip" window.
16270         (mswindows_button_instantiate): Removed compilation warning by
16271         equally typing terms of the ?: operator.
16272
16273 2000-01-12  Didier Verna  <didier@xemacs.org>
16274
16275         * redisplay.c (generate_fstring_runes): new parameter holding the
16276         last modeline-format extent.
16277         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16278         extent, fill the glyph block with it.
16279         (generate_fstring_runes): handle these parameters.
16280         (generate_formatted_string_db): ditto.
16281
16282         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16283         glyphs'extents in the modeline.
16284
16285 1999-01-11  Mike Woolley  <mike@bulsara.com>
16286
16287         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16288         256Mb, as a workaround for the non-starting problem many people
16289         have experienced.
16290
16291 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16292
16293         * console-tty.c (Fset_console_tty_output_coding_system):
16294         Force redrawing tty frame.
16295
16296 2000-01-10  Didier Verna  <didier@xemacs.org>
16297
16298         * redisplay.c (generate_fstring_runes): fix size computation bug.
16299
16300 2000-01-09  William M. Perry <wmperry@aventail.com>
16301
16302         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16303
16304 2000-01-09  Andy Piper  <andy@xemacs.org>
16305
16306         * glyphs-msw.c: index -> i to avoid shadows.
16307         (xbm_create_bitmap_from_data): make static.
16308         (check_valid_string_or_int): deleted.
16309         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16310
16311         * glyphs-x.c (x_update_subwindow): remove unused args.
16312
16313         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16314         back pointer - this is done in allocate_image_instance.
16315         (query_string_font): return Qnil to make the compiler happy.
16316         (unmap_subwindow): set to ~0 to make the compiler happy.
16317         (glyph_query_geometry): comment out until used.
16318         (glyph_layout): ditto.
16319
16320 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16321
16322         * insdel.c (signal_after_change): Remove extraneous unbind_to().