1c79459df783c056238d95bac92b93761bbc6f17
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (decode_add_er_char): Must to quote prefix string
4         as regexp.
5
6 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
9         CHISE.
10         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
11         CHISE.
12         (complex_vars_of_mule_charset): Add new coded-charset
13         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
14         builtin characters over 0xEFFFF.
15
16         * chartab.c (syms_of_chartab): Don't define symbol
17         `system-char-id' in every case.
18
19         * char-ucs.h (Qsystem_char_id): New extern variable.
20         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
21
22 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
23
24         * text-coding.c (char_encode_utf8): Try to use entity-references
25         for U-000F0000 ...  U-0010FFFF.
26
27 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
28
29         * text-coding.c (ER_BUF_SIZE): New macro.
30         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
31         `er_buf'.
32         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
33         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
34
35 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
36
37         * chartab.c (find_char_feature_in_family): New function.
38         (Fchar_feature): Use `find_char_feature_in_family' with
39         `->identical', `<-subsumptive' and `<-denotational'.
40
41 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
42
43         * text-coding.c (char_encode_as_entity_reference): Allow prefix
44         within 8 characters; fix infinite loop.
45
46 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
47
48         * chartab.c (Q_same): New variable.
49         (Q_same_of): New variable.
50         (Fput_char_attribute): Convert char-refs in value of `{->|<-}same'
51         to characters and put reverse links.
52         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
53         for `{->|<-}same'.
54         (syms_of_chartab): Add new symbols `{->|<-}same'.
55
56 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
57
58         * chartab.c (Q_component): New variable.
59         (Q_component_of): Likewise.
60         (Fput_char_attribute): Convert char-refs in value of
61         `{->|<-}ideographic-component-forms' to characters and put reverse
62         links.
63         (syms_of_chartab): Add new symbols
64         `{->|<-}ideographic-component-forms'.
65
66 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
67
68         * chartab.c (Q_identical): New variable.
69         (Q_identical_from): New variable.
70         (Fchar_feature): Regard `->identical' as a feature to find
71         ancestors.
72         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
73         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
74         for `{->|<-}identical'.
75         (syms_of_chartab): Add new symbols `{->|<-}identical'.
76
77 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
78
79         * char-ucs.h (encode_char_2): New inline function.
80         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
81
82 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
83
84         * chartab.c (Fput_char_attribute): Convert char-specs to
85         characters in value of `ideographic-structure'.
86         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
87         for `{<-|->}simplified(@...)'.
88         (Fdefine_char): bTry to use predefined character's id.
89
90 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
91
92         * fns.c (simplify_char_spec): Try to convert builtin chars to
93         defined chars.
94
95 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
96
97         * chartab.c (Fput_char_attribute): Convert char-refs in value of
98         `<-simplified[^*]*' to characters and put reverse links.
99
100 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
101
102         * chartab.c (Q_subsumptive): Renamed from Q_unified.
103         (Q_subsumptive_from): Renamed from Q_unified_from.
104         (Fchar_feature): Use `Q_subsumptive_from' instead of
105         `Q_unified_from'.
106         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
107         `Q_unified'.
108         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
109         `<-unified' to `<-subsumptive'.
110
111 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
112
113         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
114         inheritance itself; fix typo; stop recursive search if cyclic
115         inheritance is found.
116
117 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
118
119         * chartab.c (Q_denotational): New variable.
120         (Q_denotational_from): New variable.
121         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
122         (put_char_attribute): New function.
123         (Fput_char_attribute): Use `put_char_attribute'; regard
124         `->denotational' and `<-denotational' as same as `->unified' and
125         `<-unified'.
126         (syms_of_chartab): Add new symbols `->denotational' and
127         `<-denotational'.
128
129 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
130
131         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
132         `Fget_char_attribute'.
133         (Fchar_variants): Likewise.
134         (get_char_table): Likewise.
135         (Fchar_feature): New function.
136         (put_char_composition): Use `Fchar_feature' instead of
137         `Fget_char_attribute'.
138         (Fput_char_attribute): Likewise; don't put the target character
139         into its `->unified' value.
140         (syms_of_chartab): Add new builtin function `char-feature'.
141
142 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
143
144         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
145         `Fget_char_attribute'.
146         (char_encode_utf8): Likewise.
147
148         * chartab.h: Add an EXFUN for `Fchar_feature'.
149
150 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
151
152         * chartab.c (Vnext_defined_char_id): New variable.
153         (Fput_char_attribute): Accept characters in `->unified'.
154         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
155         new characters which are not related with builtin char-id ranges.
156         (vars_of_chartab): Add new variable `next-defined-char-id'.
157
158 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
159
160         * chartab.c (Q_unified): New variable.
161         (Q_unified_from): New variable.
162         (Fput_char_attribute): Add code for `->unified'.
163         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
164         XEmacs CHISE.
165
166 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
167
168         * mule-charset.c (decode_ccs_conversion): New function.
169         (decode_defined_char): Use `decode_ccs_conversion'.
170         (decode_builtin_char): Likewise.
171
172 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
173
174         * char-ucs.h: Change some charset-ids of private coded-charsets.
175
176 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
177
178         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
179         (char_encode_as_entity_reference): Likewise.
180         (decode_coding_big5): Modify for `decode_defined_char' and
181         `DECODE_CHAR'.
182         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
183         avoid compiler warning.
184         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
185
186         * mule-charset.c (decode_defined_char): Add new argument
187         `without_inheritance'.
188         (Fdecode_char): Add new optional argument `without_inheritance'.
189         (Fdecode_builtin_char): Modify for `Fdecode_char'.
190
191         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
192         (simplify_char_spec): Likewise.
193
194         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
195         setting.
196
197         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
198         (map_char_table): Likewise.
199         (Fdefine_char): Use `Fdecode_char' without inheritance.
200         (Ffind_char): Modify for `Fdecode_char'.
201
202         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
203
204         * char-ucs.h (decode_defined_char): Add new argument
205         `without_inheritance'.
206         (DECODE_CHAR): Likewise.
207         (MAKE_CHAR): Modify for `DECODE_CHAR'.
208
209 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
210
211         * chartab.c (Vchise_system_db_directory): New variable.
212         (vars_of_chartab): Add new variable `chise-system-db-directory'.
213
214 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
215
216         * chartab.c: EXFUN `Fmount_char_attribute_table'.
217         (print_chartab_range): Don't define when `UTF2000' is defined.
218         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
219         `CHISE_DS_open'.
220
221 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
222
223         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
224         and optional argument `rehash' is specified, call
225         `open_chise_data_source_maybe' before
226         `chise_ds_foreach_char_feature_name' is called.
227
228 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
229
230         * chartab.c (char_attribute_list_reset_map_func): New function
231         when HAVE_LIBCHISE is defined.
232         (Fchar_attribute_list): Add new optional argument `rehash' when
233         HAVE_LIBCHISE is defined.
234         (open_chise_data_source_maybe): Use "chise-db" instead of
235         "char-db".
236         (char_attribute_system_db_file): Likewise.
237         (Fload_char_attribute_table): Use
238         `chise_feature_foreach_char_with_value' instead of
239         `chise_char_feature_value_iterate'.
240
241 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
242
243         * chartab.c (Vchise_db_directory): New variable.
244         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
245
246 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
247
248         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
249         instead of HAVE_CHISE to specify using with libchise.
250
251         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
252
253         * chartab.h: Don't use HAVE_CHISE_CLIENT.
254
255         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
256         defined or HAVE_LIBCHISE_LIBCHISE is defined.
257         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
258         is defined.
259         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
260         HAVE_CHISE to specify using with libchise.
261         (syms_of_chartab): Don't define symbol `system-char-id' when
262         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
263
264 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
265
266         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
267         specify CHISE DB support.
268         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
269         of `char_attribute_system_db_file' to check feature DB file.
270
271         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
272         HAVE_CHISE_CLIENT to specify CHISE DB support.
273
274         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
275         specify CHISE DB support.
276         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
277         not defined.
278         (Freset_char_attribute_table): Use `chise_feature_setup_db'
279         instead of `char_attribute_system_db_file' to check feature DB
280         file.
281
282 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
283
284         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
285         `HAVE_CHISE_CLIENT'.
286
287 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
290         (Fsave_charset_mapping_table): Don't use
291         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
292
293         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
294         (HAVE_LIBCHISE): New macro.
295
296         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
297
298         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
299         (Fsave_char_attribute_table): Don't use
300         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
301
302 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
303
304         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
305         defined.
306         (save_uint16_byte_table): Likewise.
307         (save_byte_table): Likewise.
308         (char_table_get_db): Use `chise_ds_load_char_feature_value'
309         instead of `chise_char_load_feature_value'.
310         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
311
312 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
313
314         * chartab.h (struct Lisp_Char_Table): Delete member
315         `feature_table' if CHISE is defined.
316
317         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
318         (Fcopy_char_table): Likewise.
319         (char_table_open_db_maybe): Likewise.
320         (char_table_close_db_maybe): Likewise.
321         (char_table_get_db): Likewise.
322         (Fmount_char_attribute_table): Likewise.
323         (Fload_char_attribute_table): Likewise.
324
325 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
326
327         * mule-charset.c (load_char_decoding_entry_maybe): Use
328         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
329         `chise_ccs_decode'.
330
331 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
332
333         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
334         instead of `chise_open_data_source'.
335         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
336         `chise_ds_close'.
337
338 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
339
340         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
341         instead of `chise_ds_open_feature_table'.
342         (char_table_close_db_maybe): Don't use `chise_ft_close'.
343
344 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
345
346         * mule-charset.c (Fsave_charset_mapping_table): Use
347         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
348         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
349         `chise_ccs_sync' instead of `chise_ccst_close'.
350         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
351
352         * chartab.c (open_chise_data_source_maybe): Modify for
353         `chise_open_data_source'.
354         (char_table_open_db_maybe): Modify for
355         `chise_ds_open_feature_table'.
356
357 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
358
359         * mule-charset.c (load_char_decoding_entry_maybe): Use
360         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
361         `chise_ccst_close'.
362
363 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
364
365         * mule-charset.c (Fsave_charset_mapping_table): Use
366         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
367         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
368         `chise_dt_put_char' and `chise_dt_close'.
369         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
370         `chise_ccs_decode' and `chise_ccst_close' instead of
371         `chise_ds_open_decoding_table', `chise_dt_get_char' and
372         `chise_dt_close'.
373
374         * chartab.c (char_table_get_db): Use
375         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
376         (load_char_attribute_table_map_func): Modify for
377         `chise_char_feature_value_iterate'.
378         (Fload_char_attribute_table): Use
379         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
380
381 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
382
383         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
384
385 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
386
387         * chartab.c (put_char_table): Modify for inherited coded-charsets
388         in XEmacs CHISE.
389
390 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
391
392         * chartab.c (Fput_char_table_map_function): Fixed.
393         (word_boundary_p): Don't check charset in XEmacs CHISE.
394
395 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
396
397         * mule-charset.c (Fsave_charset_mapping_table): Use
398         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
399         instead of `chise_open_decoding_table'; refer
400         `default_chise_data_source'; use `chise_dt_close' instead of
401         `chise_close_decoding_table'.
402         (load_char_decoding_entry_maybe): Likewise.
403
404         * chartab.c (default_chise_data_source): New variable when `CHISE'
405         is defined.
406         (Fcopy_char_table): `ct->ds' is deleted.
407         (open_chise_data_source_maybe): New function.
408         (Fclose_char_data_source): New function.
409         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
410         use `chise_ds_open_feature_table' instead of
411         `chise_open_feature_table'.
412         (char_table_close_db_maybe): Use `chise_ft_close' instead of
413         `chise_close_feature_table'; `cit->ds' is deleted.
414         (syms_of_chartab): Add new builtin function
415         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
416
417         * chartab.h (default_chise_data_source): New extern variable.
418         (open_chise_data_source_maybe): New prototype.
419         (struct Lisp_Char_Table): Delete `ds'.
420
421 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
422
423         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
424         `CHISE' is defined.
425
426 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
427
428         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
429         not defined; add code for non-libchise setting.
430         (char_table_close_db_maybe): Likewise.
431         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
432         defined.
433         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
434         even if `CHISE' is not defined.
435         (Freset_char_attribute_table): Likewise.
436         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
437         `char_table_close_db_maybe' even if `CHISE' is not defined; use
438         `char_table_get_db'.
439         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
440         `char_table_close_db_maybe' even if `CHISE' is not defined.
441
442 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
443
444         * chartab.c (char_table_open_db_maybe): New function.
445         (char_table_close_db_maybe): New function.
446         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
447         (Freset_char_attribute_table): Likewise.
448         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
449         `char_table_close_db_maybe'.
450         (Fload_char_attribute_table): Likewise.
451
452 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
453
454         * chartab.c: Don't include <chise.h> because it is included in
455         chartab.h.
456         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
457         defined.
458         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
459         `CHISE' is defined.
460         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
461         `CHISE' is defined.
462         (Fclose_char_attribute_table): Close `ct->feature_table' and
463         `ct->ds' when `CHISE' is defined.
464         (Freset_char_attribute_table): Likewise.
465         (load_char_attribute_maybe): Use `cit->ds' and
466         `cit->feature_table' when `CHISE' is defined.
467         (Fload_char_attribute_table): Likewise.
468
469         * chartab.h: Include <chise.h> when `CHISE' is defined.
470         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
471         when `CHISE' is defined.
472
473 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
474
475         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
476         is defined.
477         (char_table_description): Likewise.
478         (Fmake_char_table): Likewise.
479         (Fcopy_char_table): Likewise.
480         (Fmount_char_attribute_table): Likewise.
481         (Fclose_char_attribute_table): Likewise.
482         (Freset_char_attribute_table): Likewise.
483         (load_char_attribute_maybe): Likewise.
484         (Fload_char_attribute_table): Likewise.
485
486         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
487         defined.
488
489 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
490
491         * chartab.c (load_char_attribute_table_map_func): New function
492         when CHISE is defined.
493         (Qload_char_attribute_table_map_function): Don't define when CHISE
494         is defined.
495         (Fload_char_attribute_table_map_function): Likewise.
496         (Fload_char_attribute_table): Use libchise when `CHISE' is
497         defined.
498         (syms_of_chartab): Don't define
499         `load-char-attribute-table-map-function' when CHISE is defined.
500
501 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
502
503         * chartab.c: Include <chise.h> when `CHISE' is defined.
504         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
505
506 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
507
508         * mule-charset.c (charset_code_point): Fix problem when searching
509         in mother CCS fails with `defined_only' mode.
510
511 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
512
513         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
514         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
515         (put_char_composition): Likewise.
516         (Fput_char_attribute): Likewise.
517         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
518
519 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
520
521         * chartab.c (Q_ucs): Deleted.
522         (Fput_char_attribute): Don't refer `->ucs'.
523         (Fdefine_char): Likewise.
524         (Ffind_char): Likewise.
525         (syms_of_chartab): Delete `->ucs'.
526
527 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
528
529         * mule-charset.c (Qmap_cns11643_2): Renamed from
530         `Qchinese_cns11643_2'.
531         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
532         `chinese-cns11643-2'.
533         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
534         `=cns11643-2'.
535
536 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
537
538         * mule-charset.c (Qmap_cns11643_1): Renamed from
539         `Qchinese_cns11643_1'.
540         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
541         `chinese-cns11643-1'.
542         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
543         `=cns11643-1'.
544
545 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
546
547         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
548         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
549         `chinese-gb12345'.
550         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
551         `=gb12345'.
552
553 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
554
555         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
556         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
557         `chinese-gb2312'.
558         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
559         `=gb2312'.
560
561 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
562
563         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
564         (syms_of_mule_charset): Add new symbol `=big5' instead of
565         `chinese-big5'.
566         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
567
568 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
569
570         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
571         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
572         `korean-ksc5601'.
573         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
574         `=ks-x1001'.
575
576 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
577
578         * mule-charset.c (Qmap_jis_x0212): Renamed from
579         `Qjapanese_jisx0212'.
580         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
581         `japanese-jisx0212'.
582         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
583         `=jis-x0212'.
584
585 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
586
587         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
588         `Qjapanese_jisx0208'.
589         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
590         of `japanese-jisx0208'.
591         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
592         `=jis-x0208-1983'.
593
594 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
595
596         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
597         `Qjapanese_jisx0208_1978'.
598         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
599         of `japanese-jisx0208-1978'.
600         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
601         `=jis-x0208-1978'.
602
603 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
604
605         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
606         only for XEmacs CHISE.
607
608 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
609
610         * char-ucs.h: Compact non-ISO-IR charset-ids.
611         (LEADING_BYTE_UCS): Changed to -177.
612         (LEADING_BYTE_CONTROL_1): Changed to -77.
613         (LEADING_BYTE_UCS_BMP): Changed to -176.
614         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
615
616 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
617
618         * mule-charset.c (Qiso_ir): New variable.
619         (Fmake_charset): Recognise new property `iso-ir'.
620         (syms_of_mule_charset): Add new symbol `iso-ir'.
621
622 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
623
624         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
625         n to -n; charset-id of non ISO-IR sets are changed to positive
626         numbers.
627
628 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
629
630         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
631         for &MCS-XXXXXXXX; values.
632
633 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
634
635         * mule.c (Vxemacs_chise_version): Renamed from
636         `Vutf_2000_version'.
637         (vars_of_mule): Add new variable `xemacs-chise-version'; define
638         `utf-2000-version' as an alias for `xemacs-chise-version'.
639
640 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
641
642         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
643         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
644         defined.
645
646         * config.h.in (CHISE): New macro.
647
648 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
649
650         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
651         of `ucs'.
652         (Qmap_ucs): New variable.
653         (syms_of_mule_charset): Add new symbol `=ucs'.
654         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
655
656         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
657         (simplify_char_spec): Likewise.
658
659         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
660
661         * char-ucs.h (Qmap_ucs): New extern variable.
662
663 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
664
665         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
666         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
667         don't define it when UTF2000 is not defined.
668         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
669         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
670         when UTF2000 is not defined.
671         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
672         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
673
674 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
675
676         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
677
678         * mule-charset.c (Vcharset_ucs_gb): Deleted.
679         (Qucs_gb): Deleted.
680         (syms_of_mule_charset): Delete `ucs-gb'.
681         (complex_vars_of_mule_charset): Likewise.
682
683 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
684
685         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
686
687         * mule-charset.c (Vcharset_ucs_cns): Deleted.
688         (Qucs_cns): Deleted.
689         (syms_of_mule_charset): Delete `ucs-cns'.
690         (complex_vars_of_mule_charset): Likewise.
691
692 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
693
694         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
695
696         * mule-charset.c (Vcharset_ucs_jis): Deleted.
697         (Qucs_jis): Deleted.
698         (syms_of_mule_charset): Delete `ucs-jis'.
699         (complex_vars_of_mule_charset): Likewise.
700
701 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
702
703         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
704
705         * mule-charset.c (Vcharset_ucs_ks): Deleted.
706         (Qucs_ks): Deleted.
707         (syms_of_mule_charset): Delete `ucs-ks'.
708         (complex_vars_of_mule_charset): Likewise.
709
710 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
711
712         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
713         (Qideograph_daikanwa_2): Deleted.
714         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
715         (complex_vars_of_mule_charset): Likewise.
716
717         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
718         (LEADING_BYTE_DAIKANWA_1): Deleted.
719         (LEADING_BYTE_DAIKANWA_2): Deleted.
720         (MIN_CHAR_DAIKANWA): Deleted.
721         (MAX_CHAR_DAIKANWA): Deleted.
722
723 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
724
725         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
726         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
727         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
728
729         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
730         (Vcharset_ideograph_daikanwa): Deleted.
731         (Qideograph_hanziku_{1..12}): Deleted.
732         (Qideograph_daikanwa): Deleted.
733         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
734         Vcharset_ideograph_daikanwa.
735         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
736         `ideograph-hanziku-{1..12}'.
737         (complex_vars_of_mule_charset): Likewise.
738
739 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
740
741         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
742
743         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
744         (Qideograph_gt_pj_{1..11}): Deleted.
745         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
746         (complex_vars_of_mule_charset): Likewise.
747
748 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
749
750         * mule-charset.c (Vcharset_ucs_big5): Deleted.
751         (Vcharset_ideograph_gt): Deleted.
752         (Qucs_big5): Deleted.
753         (Qideograph_gt): Deleted.
754         (syms_of_mule_charset): Delete symbol `ucs-big5' and
755         `ideograph-gt'.
756         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
757         and `ideograph-gt'.
758
759         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
760         (LEADING_BYTE_GT): Deleted.
761         (MIN_CHAR_GT): Deleted.
762         (MAX_CHAR_GT): Deleted.
763
764 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
765
766         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
767
768 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
769
770         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
771         (save_uint16_byte_table): Likewise.
772         (save_byte_table): Likewise; convert values by it.
773         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
774         for `ideographic-structure'.
775         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
776         as the filter for `ideographic-structure'.
777
778 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
779
780         * chartab.c (put_char_composition): New function.
781         (Fput_char_attribute): Use `put_char_composition'; use
782         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
783
784         * fns.c (simplify_char_spec): New function.
785         (char_ref_simplify_spec): New function.
786         (Fchar_refs_simplify_char_specs): New function.
787         (syms_of_fns): Add new builtin function
788         `char-refs-simplify-char-specs'.
789
790 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
791
792         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
793         (Qideograph_cbeta): Deleted.
794         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
795         (complex_vars_of_mule_charset): Likewise.
796
797         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
798         (MIN_CHAR_CBETA): Comment out.
799         (MAX_CHAR_CBETA): Likewise.
800
801 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
802
803         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
804         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
805         CHISE client feature.
806
807 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
808
809         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
810
811 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
812
813         * mule-charset.c (charset_lookup_description_1): Use
814         `NUM_LEADING_BYTES' in UTF-2000.
815
816 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
817
818         * char-ucs.h (GC_CHARSETP): Deleted.
819
820 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
821
822         * char-ucs.h (MAX_CHAR_GT): Updated.
823
824 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
825
826         * text-coding.c: Sync with XEmacs 21.4.10.
827
828 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
829
830         * mule-charset.c (Vcharset_china3_jef): Deleted.
831         (Qchina3_jef): Deleted.
832         (syms_of_mule_charset): Don't define `china3-jef'.
833         (complex_vars_of_mule_charset): Likewise.
834
835         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
836         (MIN_CHAR_CHINA3_JEF): Comment out.
837         (MAX_CHAR_CHINA3_JEF): Comment out.
838
839 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
840
841         * mule-charset.c (Vcharset_ucs_gb): New variable.
842         (Qucs_gb): New variable.
843         (syms_of_mule_charset): Add new symbol `ucs-gb'.
844         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
845
846         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
847
848 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
849
850         * mule-charset.c (charset_code_point): if a coded-charset has a
851         final-byte, don't inherit the builtin range of the mother CCS.
852
853 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
854
855         * mule-charset.c (charset_code_point): Fix problem about
856         inheritance.
857
858 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
859
860         * mule-charset.c (decode_builtin_char): Reorganized.
861
862 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
863
864         * text-coding.c (char_encode_as_entity_reference): Modify for
865         `charset_code_point'.
866         (char_encode_shift_jis): Likewise.
867         (char_encode_big5): Likewise.
868         (char_encode_utf8): Likewise.
869         (char_encode_iso2022): Likewise.
870
871         * mule-charset.c (charset_code_point): Add new argument
872         `defined_only'.
873         (Fencode_char): Add new optional argument `defined_only'.
874
875         * chartab.c (put_char_table): Modify for `charset_code_point'.
876
877         * char-ucs.h (charset_code_point): Add new argument
878         `defined_only'.
879         (encode_char_1): Modify for `charset_code_point'.
880
881 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
882
883         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
884         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
885
886 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
887
888         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
889         (Qjis_x0208): Likewise.
890         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
891         XCHARSET_FINAL(charset).
892         (charset_code_point): Modify condition for final-byte based
893         builtin-chars.
894         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
895         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
896         in UTF-2000; specify `=jis-x0208' as the mother of
897         `japanese-jisx0208-1978', `japanese-jisx0208' and
898         `japanese-jisx0208-1990' in UTF-2000.
899
900 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
901
902         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
903
904 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
905
906         * text-coding.c (decode_coding_utf16): Support UTF-16.
907         (char_encode_utf16): Fixed.
908
909 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
910
911         * text-coding.c (Qutf16): New variable in MULE.
912         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
913         (Fcoding_system_type): Add `utf-16' in MULE.
914         (struct detection_state): Add a structure for utf16 in MULE.
915         (detect_coding_type): Setup st->utf16.mask in MULE.
916         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
917         MULE.
918         (reset_encoding_stream): Use `char_encode_utf16' and
919         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
920         (detect_coding_utf16): New function [incomplete].
921         (decode_coding_utf16): New function [support only UCS-2].
922         (char_encode_utf16): New function.
923         (char_finish_utf16): New function.
924         (syms_of_file_coding): Add new symbol `utf-16'; setup
925         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
926
927         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
928         UTF-2000.
929         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
930         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
931
932 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
933
934         * chartab.c (put_char_table): When a charset is specified as a
935         range in UTF-2000, don't support builtin characters.
936
937 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
938
939         * mule-charset.c (decode_defined_char): Don't refer external
940         database if Qunbound or Qnil are found.
941         (Fsave_charset_mapping_table): Don't define it if
942         HAVE_CHISE_CLIENT is not defined.
943         (Freset_charset_mapping_table): New function.
944         (load_char_decoding_entry_maybe): Store Qnil if a character is not
945         found in external database.
946         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
947         if HAVE_CHISE_CLIENT is not defined; add new builtin function
948         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
949
950 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
951
952         * text-coding.c (decode_coding_utf8): Check CCS is specified or
953         not.
954
955 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
956
957         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
958         Q_lowercase, Q_uppercase in UTF-2000.
959
960         * chartab.c (get_char_table): Add special code for the standard
961         case table to use character attribute `->downcase' and
962         `->uppercase' for case operations in UTF-2000.
963
964         * casetab.c (Qflippedcase): New variable in UTF-2000.
965         (Q_lowercase): Likewise.
966         (Q_uppercase): Likewise.
967         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
968         and `->uppercase' in UTF-2000.
969         (complex_vars_of_casetab): Assign attribute name `downcase' to
970         downcase and CANON table of Vstandard_case_table in UTF-2000;
971         assign attribute name `flippedcase' to upcase and EQV table of
972         Vstandard_case_table in UTF-2000.
973
974 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
975
976         * text-coding.c (decode_add_er_char): Support isolated-chars.
977         (char_encode_as_entity_reference): Likewise.
978
979 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
980
981         * emacs.c (Vutf_2000_lisp_directory): New variable.
982         (Vconfigure_utf_2000_lisp_directory): Likewise.
983         (complex_vars_of_emacs): Add new variable
984         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
985
986 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
987
988         * char-ucs.h (DECODE_CHAR): Delete special code for
989         `chinese-big5-1' and `chinese-big5-2'.
990
991         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
992         (Qbig5_2): Likewise.
993         (decode_defined_char): Support CONVERSION_BIG5_1 and
994         CONVERSION_BIG5_2.
995         (decode_builtin_char): Likewise.
996         (charset_code_point): Likewise.
997         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
998         'conversion in UTF-2000.
999         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1000         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1001         `chinese-big5-2' as children of `chinese-big5'.
1002
1003         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1004         (CONVERSION_BIG5_2): New macro.
1005
1006 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1007
1008         * text-coding.c (char_encode_big5): Support entity-reference.
1009
1010 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1011
1012         * text-coding.c (char_encode_as_entity_reference): New function.
1013         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1014
1015 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1016
1017         * text-coding.c (decode_coding_big5): Support entity-reference
1018         decoding feature.
1019
1020 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1021
1022         * text-coding.c (allocate_coding_system): Initialize initial
1023         charsets for CODESYS_UTF8.
1024         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1025         charset-g2 for CODESYS_UTF8.
1026         (decode_coding_utf8): Use charset-g0.
1027         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1028         to force variants to map to UCS.
1029
1030 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1031
1032         * text-coding.c (Qutf_8_mcs): New variable.
1033         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1034         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1035         instead of `utf-8' in UTF-2000.
1036
1037 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1038
1039         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1040         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1041         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1042         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1043         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1044         CONVERSION_96x96x96x96 are introduced.
1045         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1046         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1047         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1048
1049         * char-ucs.h (CONVERSION_94): New macro.
1050         (CONVERSION_96): New macro.
1051         (CONVERSION_94x94): New macro.
1052         (CONVERSION_96x96): New macro.
1053         (CONVERSION_94x94x94): New macro.
1054         (CONVERSION_96x96x96): New macro.
1055         (CONVERSION_94x94x94x60): New macro.
1056         (CONVERSION_94x94x94x94): New macro.
1057         (CONVERSION_96x96x96x96): New macro.
1058
1059 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1060
1061         * chartab.c (Vcharacter_variant_table): Deleted.
1062         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1063         of `Vcharacter_variant_table'.
1064         (Fput_char_attribute): Likewise.
1065         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1066         (complex_vars_of_chartab): Likewise.
1067
1068 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1069
1070         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1071
1072         * fns.c (Qideographic_structure): New variable.
1073         (Qkeyword_char): New variable.
1074         (ids_format_unit): New function.
1075         (Fideographic_structure_to_ids): New function.
1076         (syms_of_fns): Add new symbols `ideographic-structure' and
1077         `:char'; add new builtin function `ideographic-structure-to-ids'.
1078
1079         * data.c (Fchar_ref_p): New function.
1080         (syms_of_data): Add new builtin function `char-ref-p'.
1081
1082         * chartab.h: Add an EXFUN for `Ffind_char'.
1083
1084 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1085
1086         * text-coding.c (Vcharacter_composition_table): Deleted.
1087         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1088         in every UTF-2000.
1089
1090         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1091         UTF-2000.
1092         (Vcharacter_composition_table): Deleted.
1093         (Fget_composite_char): Use the implementation for external-DB
1094         support in every UTF-2000.
1095         (Fput_char_attribute): Likewise.
1096         (char_attribute_system_db_file): Don't define if external-DB
1097         feature is not available.
1098         (Fsave_char_attribute_table): Likewise.
1099         (Fmount_char_attribute_table): Likewise.
1100         (Fclose_char_attribute_table): Likewise.
1101         (Freset_char_attribute_table): Likewise.
1102         (Fload_char_attribute_table): Likewise.
1103         (syms_of_chartab): Don't define `save-char-attribute-table',
1104         `mount-char-attribute-table', `reset-char-attribute-table',
1105         `close-char-attribute-table' and `load-char-attribute-table' if
1106         external-DB feature is not available.
1107         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1108
1109 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1110
1111         * text-coding.c (Qcomposition): Add extern if external-DB feature
1112         is supported.
1113         (Vcharacter_composition_table): Don't add extern if external-DB
1114         feature is supported.
1115         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1116         character composition rule if external-DB feature is supported.
1117
1118         * chartab.c (Vcharacter_composition_table): Don't define if
1119         external-DB feature is supported.
1120         (Qcomposition): New variable.
1121         (Fget_composite_char): New implementation for external-DB support.
1122         (Fput_char_attribute): Use `composition' property of each
1123         character instead of `Vcharacter_composition_table' to store
1124         character-composition rules if external-DB feature is supported.
1125         (syms_of_chartab): Add new symbol `composition'.
1126         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1127         external-DB feature is supported.
1128
1129 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1130
1131         * chartab.c (Vchar_db_stingy_mode): New variable.
1132         (load_char_attribute_maybe): Close database if
1133         Vchar_db_stingy_mode is not NIL.
1134         (Fload_char_attribute_table_map_function): Use
1135         `get_char_id_table_0' instead of `get_char_id_table'.
1136         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1137
1138         * chartab.h (get_char_id_table_0): New inline function.
1139         (get_char_id_table): Use `get_char_id_table_0'.
1140
1141 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1142
1143         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1144         and `COMPOSE_ADD_CHAR'.
1145         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1146
1147 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1148
1149         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1150         instead of `DECODE_ADD_UCS_CHAR'.
1151         (COMPOSE_ADD_CHAR): Likewise.
1152
1153 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1154
1155         * text-coding.c (decode_flush_er_chars): New inline function.
1156         (decode_add_er_char): New function.
1157         (decode_coding_utf8): Use `decode_flush_er_chars' and
1158         `decode_add_er_char'.
1159
1160 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1161
1162         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1163         done before `decode_output_utf8_partial_char'.
1164
1165         * mule-charset.c (complex_vars_of_mule_charset): Specify
1166         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1167         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1168
1169 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1170
1171         * mule-charset.c (decode_defined_char): New function; search
1172         mother.
1173         (decode_builtin_char): Don't search mother if
1174         XCHARSET_MAX_CODE(charset) == 0.
1175         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1176         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1177         (Fdecode_char): Use `decode_defined_char' instead of
1178         `DECODE_DEFINED_CHAR'.
1179         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1180         mother of `Vcharset_ucs_jis'.
1181
1182         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1183         instead of `DECODE_DEFINED_CHAR'.
1184
1185         * char-ucs.h (decode_defined_char): Renamed from
1186         `DECODE_DEFINED_CHAR'; changed to normal function.
1187         (DECODE_CHAR): Use `decode_defined_char' instead of
1188         `DECODE_DEFINED_CHAR'.
1189
1190         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1191
1192 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1193
1194         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1195
1196         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1197         variable.
1198         (Quse_entity_reference): New variable.
1199         (Qd): New variable.
1200         (Qx): New variable.
1201         (QX): New variable.
1202         (coding_system_description): Add description for
1203         `ccs_priority_list'.
1204         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1205         (allocate_coding_system): Initialize `ccs_priority_list' in
1206         UTF-2000.
1207         (Fmake_coding_system): Add description about
1208         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1209         (codesys).
1210         (Fcoding_system_property): Accept `disable-composition' and
1211         `use-entity-reference' in UTF-2000.
1212         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1213         in UTF-2000.
1214         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1215         (decode_coding_utf8): Decode entity-reference if
1216         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1217         (char_encode_utf8): Encode non-Unicode characters as
1218         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1219         (str->codesys).
1220         (syms_of_file_coding): Add new symbols `use-entity-reference',
1221         `d', `x', `X'.
1222         (vars_of_file_coding): Add new variable
1223         `coded-charset-entity-reference-alist'.
1224         (complex_vars_of_file_coding): Declare `disable-composition' and
1225         `use-entity-reference' to be coding-system-properties in UTF-2000.
1226
1227         * file-coding.h (struct Lisp_Coding_System): Add new member
1228         `use_entity_reference' and `ccs_priority_list'.
1229         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1230         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1231         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1232
1233 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1234
1235         * chartab.c (save_uint8_byte_table): Don't clear the table.
1236         (save_uint16_byte_table): Likewise.
1237         (save_byte_table): Likewise.
1238         (Fmount_char_attribute_table): New function.
1239         (syms_of_chartab): Add new builtin function
1240         `mount-char-attribute-table'.
1241
1242 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1243
1244         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1245         "w+" mode.
1246         (load_char_decoding_entry_maybe): Open database as read-only mode.
1247
1248         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1249         open database as "w+" mode.
1250         (load_char_attribute_maybe): Open database as read-only mode.
1251         (Fload_char_attribute_table): Likewise.
1252
1253 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1254
1255         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1256         (char_table_description): Delete member `db_file'.
1257         (Fmake_char_table): Don't refer `ct->db_file'.
1258         (Fcopy_char_table): Likewise.
1259         (Fsave_char_attribute_table): Likewise.
1260         (Fclose_char_attribute_table): Likewise.
1261         (Freset_char_attribute_table): Likewise.
1262         (load_char_attribute_maybe): Likewise.
1263         (Fload_char_attribute_table): Likewise.
1264
1265         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1266
1267 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1268
1269         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1270         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1271         `ct->db' is living.
1272         (load_char_attribute_maybe): Likewise.
1273         (Fload_char_attribute_table): Likewise.
1274
1275 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1276
1277         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1278         `ct->db_file' unconditionally.
1279
1280 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1281
1282         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1283         UTF-2000.
1284         (char_table_description): Add description for `db_file' and `db'
1285         in UTF-2000.
1286         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1287         UTF-2000.
1288         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1289         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1290         (Fclose_char_attribute_table): New function.
1291         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1292         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1293         and `cit->db'.
1294         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1295         (syms_of_chartab): Add new builtin function
1296         `Fclose_char_attribute_table'.
1297
1298 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1299
1300         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1301         `db' in UTF-2000.
1302         (load_char_attribute_maybe): Change interface.
1303         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1304
1305 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1306
1307         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1308
1309 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1310
1311         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1312         instead of `DECODE_CHAR' for mother; don't use special code for
1313         chinese-big5 to use code space of chinese-big5-1 and
1314         chinese-big5-2.
1315         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1316         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1317
1318         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1319         (MAX_CHAR_BIG5_CDP): Revival.
1320
1321 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1322
1323         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1324         the XLFD registry-encoding name of `chinese-big5'.
1325
1326 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1327
1328         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1329         (Qchinese_big5_cdp): Deleted.
1330         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1331         (complex_vars_of_mule_charset): Delete coded-charset
1332         `chinese-big5-cdp'.
1333
1334         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1335         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1336         `CHARSET_ID_OFFSET - n' for private CCS.
1337         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1338         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1339         of `MIN_LEADING_BYTE'.
1340         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1341         `(CHARSET_ID_OFFSET - 97)'.
1342         (MIN_CHAR_BIG5_CDP): Deleted.
1343         (MAX_CHAR_BIG5_CDP): Deleted.
1344
1345 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1346
1347         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1348
1349 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1350
1351         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1352         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1353         chartab.c].
1354
1355         * chartab.c (Vutf_2000_version): Moved to mule.c.
1356         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1357
1358 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1359
1360         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1361         when HAVE_CHISE_CLIENT is not defined.
1362
1363         * mule.c (vars_of_mule): Provide feature `chise' when
1364         HAVE_CHISE_CLIENT is defined.
1365
1366 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1367
1368         * config.h.in (UTF2000): Add comment.
1369         (HAVE_CHISE_CLIENT): New macro.
1370
1371 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1372
1373         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1374         CONSP.
1375         (Fput_char_attribute): Likewise.
1376         (char_attribute_system_db_file): Encode file-name of attribute.
1377         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1378         the initial value.
1379
1380 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1381
1382         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1383         (Fsave_charset_mapping_table): Use
1384         `char_attribute_system_db_file'.
1385         (load_char_decoding_entry_maybe): Likewise.
1386
1387         * chartab.h (Qsystem_char_id): New external variable.
1388         (char_attribute_system_db_file): New prototype.
1389
1390         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1391         (char_attribute_system_db_file): New function.
1392         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1393         (Freset_char_attribute_table): Likewise.
1394         (load_char_attribute_maybe): Likewise.
1395         (Fload_char_attribute_table): Likewise.
1396         (syms_of_chartab): Add new symbol `system-char-id'.
1397
1398 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1399
1400         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1401         `XCHARSET_GRAPHIC(ccs)'.
1402
1403 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1404
1405         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1406
1407 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1408
1409         * chartab.c (Q_ucs_variants): New variable.
1410         (syms_of_chartab): Add new symbol `->ucs-variants'.
1411         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1412         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1413         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1414
1415         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1416
1417         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1418         `HAVE_DATABASE' is defined.
1419         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1420         `HAVE_DATABASE' is defined.
1421
1422 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1423
1424         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1425         attribute-table.
1426         (Freset_char_attribute_table): New function.
1427         (syms_of_chartab): Add new builtin function
1428         `reset-char-attribute-table'.
1429
1430 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1431
1432         * chartab.c (load_char_attribute_maybe): Don't make directories.
1433
1434 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1435
1436         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1437
1438         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1439         for decoding-table.
1440
1441 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1442
1443         * mule-charset.c (Fsave_charset_mapping_table): Use
1444         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1445
1446         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1447         instead of `XCHARSET_CHARS'.
1448
1449 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1450
1451         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1452         (XCHARSET_BYTE_SIZE): Likewise.
1453
1454         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1455         mule-charset.c].
1456         (XCHARSET_BYTE_SIZE): Likewise.
1457
1458 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1459
1460         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1461         data-directory to store database.
1462         (Fsave_char_attribute_table): Likewise.
1463         (load_char_attribute_maybe): Likewise.
1464         (Fload_char_attribute_table): Likewise.
1465
1466 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1467
1468         * mule-charset.c (Fsave_charset_mapping_table): New function.
1469         (syms_of_mule_charset): Add new builtin function
1470         `save-charset-mapping-table'.
1471
1472 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1473
1474         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1475         (get_ccs_octet_table): New inline function.
1476         (put_ccs_octet_table): Likewise.
1477         (decoding_table_put_char): Use `get_ccs_octet_table' and
1478         `put_ccs_octet_table'.
1479         (decoding_table_remove_char): Use `decoding_table_put_char'.
1480         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1481
1482         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1483         into encoding_table.
1484         (make_charset): Use Qunbound instead Qnil as initial value of
1485         decoding_table.
1486
1487 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1488
1489         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1490         element is Qunloaded.
1491         (map_over_uint16_byte_table): Likewise.
1492         (map_over_byte_table): Likewise.
1493         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1494         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1495         database support, load encoding-table of the specified
1496         coded-charset if it is not loaded yet.
1497         (save_uint8_byte_table): New function of UTF-2000 with external
1498         database support.
1499         (save_uint16_byte_table): Likewise.
1500         (save_byte_table): Likewise.
1501         (Fput_char_attribute): Don't store value into external database
1502         even if the external database feature is supported in UTF-2000;
1503         set `attribute' as name of char-table if the external database
1504         feature is supported.
1505         (Fsave_char_attribute_table): New function in UTF-2000.
1506         (syms_of_chartab): Add new builtin function
1507         `save-char-attribute-table' in UTF-2000.
1508
1509 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1510
1511         * chartab.c (char_attribute_table_to_put): New variable in
1512         UTF-2000.
1513         (Qput_char_table_map_function): Likewise.
1514         (value_to_put): Likewise.
1515         (Fput_char_table_map_function): New function in UTF-2000.
1516         (put_char_table): Use `Fmap_char_attribute' for
1517         CHARTAB_RANGE_CHARSET in UTF-2000.
1518         (Fput_char_attribute): Store symbol instead of string in
1519         `XCHAR_TABLE_NAME (table)'.
1520         (load_char_attribute_maybe): Likewise.
1521         (syms_of_chartab): Add new symbol/function
1522         `put-char-table-map-function'.
1523
1524 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1525
1526         * database.h: Add new EXFUN for `Fmap_database'.
1527
1528         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1529         (syms_of_database): Likewise.
1530
1531         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1532         UTF-2000.
1533         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1534         (XCHAR_TABLE_UNLOADED): Likewise.
1535
1536         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1537         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1538         HAVE_DATABASE is defined.
1539         (char_attribute_table_to_load): New variable of UTF-2000 with
1540         external database support.
1541         (Qload_char_attribute_table_map_function): Likewise.
1542         (Fload_char_attribute_table_map_function): New function of
1543         UTF-2000 with external database support.
1544         (Fload_char_attribute_table): New function of UTF-2000.
1545         (Fmap_char_attribute): Call Fload_char_attribute_table if
1546         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1547         (syms_of_chartab): Add new symbol and function
1548         `load-char-attribute-table-map-function' in UTF-2000 with external
1549         database support; add new function `load-char-attribute-table' in
1550         UTF-2000.
1551
1552 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1553
1554         * chartab.h (load_char_attribute_maybe): New prototype for
1555         UTF-2000 with DATABASE support.
1556         (get_char_id_table): Use `load_char_attribute_maybe' if
1557         HAVE_DATABASE is defined.
1558
1559         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1560         with DATABASE support.
1561
1562 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1563
1564         * chartab.c (Fput_char_attribute): Use S-expression as key of
1565         external database.
1566
1567         * chartab.h (get_char_id_table): Use S-expression as key of
1568         external database.
1569
1570 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1571
1572         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1573         if an element is not loaded, load the corresponding attributes
1574         from an external database.
1575         (map_over_uint16_byte_table): Likewise.
1576         (map_over_byte_table): Likewise.
1577         (map_char_table): Modify for `map_over_uint8_byte_table',
1578         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1579         element is not loaded, load the corresponding attributes from an
1580         external database.
1581         (Fput_char_attribute): Change initial values to Qunloaded.
1582
1583         * chartab.h (get_char_id_table): If a character attribute is not
1584         loaded and the attribute value is not found in an external
1585         database, store Qunbound as the attribute value.
1586
1587 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1588
1589         * chartab.c (BT_UINT8_unloaded): New macro.
1590         (UINT8_VALUE_P): Accept Qunloaded.
1591         (UINT8_ENCODE): Likewise.
1592         (UINT8_DECODE): Likewise.
1593         (BT_UINT16_unloaded): New macro.
1594         (UINT16_VALUE_P): Accept Qunloaded.
1595         (UINT16_ENCODE): Likewise.
1596         (UINT16_DECODE): Likewise.
1597         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1598         BT_UINT16_unloaded.
1599         (mark_char_table): Mark `ct->name' in UTF-2000.
1600         (char_table_description): Add `name' in UTF-2000.
1601         (Fmake_char_table): Initialize `ct->name'.
1602         (Fcopy_char_table): Copy `ct->name'.
1603         (Fput_char_attribute): Store value into an external database if
1604         HAVE_DATABASE is defined.
1605
1606         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1607         UTF-2000.
1608         (CHAR_TABLE_NAME): New macro in UTF-2000.
1609         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1610         (get_char_id_table): Try to read an external database if Qunloaded
1611         is stored in a table.
1612
1613         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1614         Qunloaded.
1615
1616 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1617
1618         * database.h: Add EXFUN definitions for Fopen_database,
1619         Fput_database, Fget_database and Fclose_database.
1620
1621         * data.c (Qunloaded): New variable in UTF-2000.
1622
1623         * lisp.h (Qunloaded): New variable in UTF-2000.
1624
1625 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1626
1627         * mule-charset.c (put_char_ccs_code_point): Modify for
1628         `decoding_table_remove_char' and `decoding_table_put_char'.
1629         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1630
1631         * char-ucs.h (decoding_table_remove_char): Change arguments to
1632         hide decoding_table vector.
1633         (decoding_table_put_char): Likewise.
1634
1635 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1636
1637         * mule-charset.c (decoding_table_remove_char): Moved to
1638         char-ucs.h.
1639         (decoding_table_put_char): Likewise.
1640
1641         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1642         from mule-charset.c].
1643         (decoding_table_remove_char): New inline function [moved from
1644         mule-charset.c].
1645         (decoding_table_put_char): Likewise.
1646
1647 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1648
1649         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1650         extension.
1651
1652 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1653
1654         * mule-charset.c (decode_builtin_char): Support mother charsets.
1655
1656 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1657
1658         * mule-charset.c (Q94x94x60): New variable.
1659         (charset_code_point): Support conversion `94x94x60'.
1660         (Fmake_charset): Likewise.
1661         (syms_of_mule_charset): Add new symbol `94x94x60'.
1662
1663         * char-ucs.h (CONVERSION_94x94x60): New macro.
1664
1665 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1666
1667         * mule-charset.c (charset_code_point): Unify code about
1668         `code-offset'.
1669
1670 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1671
1672         * mule-charset.c (charset_code_point): Merge code about builtin
1673         characters into code about mother charsets; don't use
1674         `range_charset_code_point'.
1675         (range_charset_code_point): Deleted.
1676
1677 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1678
1679         * mule-charset.c (Qcode_offset): New variable.
1680         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1681         `max-code'; accept new property `code-offset'.
1682         (syms_of_mule_charset): Add new symbol `code-offset'.
1683
1684 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1685
1686         * mule-charset.c (range_charset_code_point): Fixed.
1687
1688 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1689
1690         * mule-charset.c (decode_builtin_char): Change semantics of
1691         code-offset of coded-charset.
1692         (charset_code_point): Likewise.
1693         (range_charset_code_point): Likewise.
1694         (complex_vars_of_mule_charset): Modify for the change.
1695
1696 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1697
1698         * mule-charset.c (Fencode_char): Reverse arguments.
1699
1700         * mule-charset.c (charset_code_point): Fixed.
1701
1702 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1703
1704         * mule-charset.c (Vcharset_mojikyo): Deleted.
1705         (Vcharset_mojikyo_2022_1): Deleted.
1706         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1707         (Qmin_code): New variable in UTF-2000.
1708         (Qmax_code): Likewise.
1709         (Qmother): Likewise.
1710         (Qconversion): Likewise.
1711         (Q94x60): Likewise.
1712         (Qmojikyo): Deleted.
1713         (Qmojikyo_2022_1): Deleted.
1714         (Qmojikyo_pj_{1..22}): Deleted.
1715         (mark_charset): Mark `cs->mother'.
1716         (charset_description): Add description for `mother'.
1717         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1718         new arguments `mother' and `conversion'; use
1719         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1720         (charset_code_point): Moved from char-ucs.h; support `mother'
1721         charset feature.
1722         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1723         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1724         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1725         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1726         allow 2 as the value of `graphic' in UTF-2000; add new properties
1727         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1728         require `final' in UTF-2000; modify for `make_charset'.
1729         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1730         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1731         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1732         (Fencode_char): New function.
1733         (syms_of_mule_charset): Add new builtin function `encode-char' in
1734         UTF-2000; add new symbols `min-code', `max-code', `mother',
1735         `conversion' and `94x60'; delete symbols `mojikyo',
1736         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1737         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1738         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1739         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1740
1741         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1742         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1743
1744         * char-ucs.h (Vcharset_mojikyo): Deleted.
1745         (Vcharset_mojikyo_2022_1): Deleted.
1746         (LEADING_BYTE_MOJIKYO): Deleted.
1747         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1748         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1749         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1750         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1751         add new member `mother'; add new member `conversion'.
1752         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1753         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1754         (CHARSET_MOTHER): New macro.
1755         (CHARSET_CONVERSION): New macro.
1756         (CONVERSION_IDENTICAL): New macro.
1757         (CONVERSION_94x60): New macro.
1758         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1759         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1760         (XCHARSET_MOTHER): New macro.
1761         (XCHARSET_CONVERSION): New macro.
1762         (MIN_CHAR_MOJIKYO): Deleted.
1763         (MAX_CHAR_MOJIKYO): Deleted.
1764         (DECODE_MOJIKYO_2022): Deleted.
1765         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1766         (charset_code_point): Changed to non-inline function.
1767         (encode_char_1): Use `charset_code_point'.
1768         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1769
1770 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1771
1772         * lread.c (read_compiled_function): Fix prototype.
1773         (read_vector): Likewise.
1774
1775 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1776
1777         * lrecord.h (struct lrecord_header): Delete `older'.
1778         (set_lheader_implementation): Delete code for `older'.
1779         (set_lheader_older_implementation): Deleted.
1780         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1781         (OLDER_RECORD_P): Deleted.
1782         (OLDER_RECORD_HEADER_P): Deleted.
1783         (alloc_older_lcrecord): Deleted.
1784         (alloc_older_lcrecord_type): Deleted.
1785
1786         * alloc.c (all_older_lcrecords): Deleted.
1787         (alloc_older_lcrecord): Deleted.
1788         (disksave_object_finalization_1): Delete code for older objects.
1789         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1790         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1791
1792 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1793
1794         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1795         instead of `make_older_vector'.
1796         (put_char_ccs_code_point): Likewise.
1797         (mark_charset): Mark `cs->decoding_table'.
1798         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1799
1800         * lisp.h (make_older_vector): Deleted.
1801         (make_vector_newer): Deleted.
1802
1803         * config.h.in (HAVE_GGC): Deleted.
1804
1805         * alloc.c (make_older_vector): Deleted.
1806         (make_vector_newer_1): Deleted.
1807         (make_vector_newer): Deleted.
1808
1809 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1810
1811         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1812         (Qideograph_daikanwa_2): New variable.
1813         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1814         (complex_vars_of_mule_charset): Add new coded-charset
1815         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1816         `LEADING_BYTE_DAIKANWA'.
1817
1818         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1819         (LEADING_BYTE_DAIKANWA_1): New macro.
1820         (LEADING_BYTE_DAIKANWA_2): New macro.
1821         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1822
1823 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1824
1825         * mule-charset.c (complex_vars_of_mule_charset): Change
1826         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1827         the second revised version.
1828
1829 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1830
1831         * mule-charset.c (Vcharset_ucs_smp): New variable.
1832         (Vcharset_ucs_sip): New variable.
1833         (Qucs_smp): New variable.
1834         (Qucs_sip): New variable.
1835         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1836         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1837         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1838         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1839         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1840         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1841
1842         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1843         (LEADING_BYTE_UCS_SIP): New macro.
1844         (MIN_CHAR_SMP): New macro.
1845         (MAX_CHAR_SMP): New macro.
1846         (MIN_CHAR_SIP): New macro.
1847         (MAX_CHAR_SIP): New macro.
1848
1849 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1850
1851         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1852         utf-2000.
1853
1854 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1855
1856         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1857         value; don't store value into `encoding_table' of `Lisp_Charset'.
1858         (mark_charset): `encoding_table' was deleted.
1859         (charset_description): Likewise.
1860         (make_charset): Likewise.
1861         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1862         `put_char_ccs_code_point'.
1863
1864         * chartab.h (Fput_char_attribute): New EXFUN.
1865
1866         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1867         is unified with normal symbol space.
1868         (Fget_char_attribute): Likewise.
1869         (Fput_char_attribute): Likewise; behavior of
1870         `put_char_ccs_code_point' is changed.
1871
1872         * char-ucs.h: Include "elhash.h".
1873         (Vchar_attribute_hash_table): New external variable.
1874         (struct Lisp_Charset): Delete `encoding_table'.
1875         (CHARSET_ENCODING_TABLE): New implementation; refer
1876         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1877         `Lisp_Charset'.
1878
1879 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1880
1881         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1882         (cs) == 0.
1883
1884 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1885
1886         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1887         `chinese-big5'.
1888
1889 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1890
1891         * chartab.c (uint8_byte_table_description): New constant.
1892         (uint8-byte-table): Use `uint8_byte_table_description'.
1893         (uint16_byte_table_description): New constant.
1894         (uint16-byte-table): Use `uint16_byte_table_description'.
1895
1896 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1897
1898         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1899         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1900
1901 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1902
1903         * mule-charset.c (Vcharset_ucs_ks): New variable.
1904         (Qucs_ks): New variable.
1905         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1906         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1907
1908         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1909
1910 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1911
1912         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1913         (Fdecode_char): Likewise.
1914
1915         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1916         chartab.h.
1917         (Fdefine_char): Modify for Fdecode_char.
1918         (Ffind_char): Likewise.
1919
1920         * mule-charset.c (Fdecode_char): Add new optional argument
1921         `defined-only'.
1922         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1923
1924 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1925
1926         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1927         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1928         (allocate_coding_system): Initialize initial-charsets of
1929         CODESYS_BIG5 in XEmacs UTF-2000.
1930         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1931         CODESYS_BIG5 in XEmacs UTF-2000.
1932         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1933         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1934
1935         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1936         variables.
1937         (Qideograph_hanziku_{1 .. 12}): Likewise.
1938         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1939         .. 12}'.
1940         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1941         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1942         `ideograph-hanziku-{1 .. 12}'.
1943
1944         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1945         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1946         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1947         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1948         (DECODE_DEFINED_CHAR): New inline function.
1949         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1950
1951 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1952
1953         * mule-charset.c (Vcharset_china3_jef): Renamed from
1954         `Vcharset_japanese_jef_china3'.
1955         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1956         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1957         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1958         (syms_of_mule_charset): Rename `china3-jef' from
1959         `japanese-jef-china3'.
1960         (complex_vars_of_mule_charset): Likewise; rename
1961         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1962
1963         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1964         `LEADING_BYTE_JEF_CHINA3'.
1965         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1966         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1967
1968 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1969
1970         * mule-charset.c (encode_builtin_char_1): Comment out special code
1971         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1972
1973         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1974         (MAX_CHAR_MOJIKYO_0): Comment out.
1975         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1976         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1977         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1978         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1979
1980 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1981
1982         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1983         (Qideograph_cbeta): New variable.
1984         (encode_builtin_char_1): Comment out special code for
1985         coded-charset `mojikyo' and `japanese-jef-china3'.
1986         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1987         (complex_vars_of_mule_charset): Add new coded-charset
1988         `ideograph-cbeta'.
1989
1990         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1991         (MIN_CHAR_CBETA): New macro.
1992         (MAX_CHAR_CBETA): New macro.
1993
1994 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1995
1996         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1997         (LEADING_BYTE_JEF_CHINA3): New macro.
1998         (MIN_CHAR_JEF_CHINA3): New macro.
1999         (MAX_CHAR_JEF_CHINA3): Likewise.
2000         (DECODE_CHAR): Fixed.
2001
2002 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2003
2004         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2005         (Qjapanese_jef_china3): New variable.
2006         (encode_builtin_char_1): Support `japanese-jef-china3'.
2007         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2008         (complex_vars_of_mule_charset): Add new coded-charset
2009         `japanese-jef-china3'.
2010
2011 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2012
2013         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2014         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2015         94^4, 96^3, 96^4, 128^n and 256^n set.
2016         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2017         (map_char_table): Likewise.
2018
2019 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2020
2021         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2022         UTF-2000.
2023
2024 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2025
2026         * chartab.h (get_char_id_table): New inline function.
2027
2028         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2029         function.
2030
2031 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2032
2033         * chartab.h (decode_char_table_range): New prototype in XEmacs
2034         UTF-2000.
2035         (put_char_id_table): New inline function in XEmacs UTF-2000.
2036
2037         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2038         function.
2039         (decode_char_table_range): Delete static declaration in XEmacs
2040         UTF-2000.
2041
2042 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2043
2044         * chartab.c (put_char_id_table): Use `put_char_table'.
2045
2046 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2047
2048         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2049         (map_over_uint16_byte_table): Likewise.
2050         (map_over_byte_table): Likewise.
2051         (map_char_table): Modify for `map_over_uint8_byte_table',
2052         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2053         UTF-2000.
2054
2055 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2056
2057         * chartab.c (struct map_char_table_for_charset_arg): New
2058         structure.
2059         (map_char_table_for_charset_fun): New function.
2060         (map_char_table): Use `map_char_table' for encoding_table of
2061         `range->charset'.
2062
2063 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2064
2065         * chartab.c (map_char_table): Check a character is found in
2066         range->charset instead of non default value is defined in
2067         char-table when range is CHARTAB_RANGE_ROW.
2068
2069 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2070
2071         * chartab.c (map_char_id_table): Deleted.
2072         (Fmap_char_attribute): Use `map_char_table' instead of
2073         `map_char_id_table'.
2074
2075 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2076
2077         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2078         UTF-2000.
2079         (update_syntax_table): Deleted in XEmacs UTF-2000.
2080
2081         * syntax.c (find_defun_start): Use `syntax_table' instead of
2082         `mirror_syntax_table' in XEmacs UTF-2000.
2083         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2084         UTF-2000.
2085         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2086         XEmacs UTF-2000.
2087         (Fmatching_paren): Likewise.
2088         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2089         in XEmacs UTF-2000.
2090         (find_start_of_comment): Likewise.
2091         (find_end_of_comment): Likewise.
2092         (Fforward_comment): Likewise.
2093         (scan_lists): Likewise.
2094         (char_quoted): Likewise.
2095         (Fbackward_prefix_chars): Likewise.
2096         (scan_sexps_forward): Likewise.
2097         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2098         (update_syntax_table): Likewise.
2099
2100         * search.c (skip_chars): Use `syntax_table' instead of
2101         `mirror_syntax_table' in XEmacs UTF-2000.
2102         (wordify): Likewise.
2103         (Freplace_match): Likewise.
2104
2105         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2106         `mirror_syntax_table' in XEmacs UTF-2000.
2107         (WORDCHAR_P_UNSAFE): Likewise.
2108         (re_match_2_internal): Likewise.
2109
2110         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2111         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2112
2113         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2114         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2115
2116         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2117         XEmacs UTF-2000.
2118
2119         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2120         UTF-2000.
2121         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2122         (char_table_description): Delete `mirror_table' in XEmacs
2123         UTF-2000.
2124         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2125         UTF-2000.
2126         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2127         (Fcopy_char_table): Likewise.
2128         (put_char_table): Don't call `update_syntax_table' in XEmacs
2129         UTF-2000.
2130
2131         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2132         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2133         (casify_region_internal): Likewise.
2134
2135         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2136
2137         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2138         `mirror_syntax_table' in XEmacs UTF-2000.
2139
2140         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2141         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2142         (Fexpand_abbrev): Likewise.
2143
2144 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2145
2146         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2147
2148 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2149
2150         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2151         (map_over_uint16_byte_table): Likewise.
2152         (map_over_byte_table): Likewise.
2153         (get_char_id_table): Refer `cit->default_value'.
2154         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2155         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2156         of character-id ranges.
2157         (mark_char_table): Mark `ct->default_value'.
2158         (char_table_description): Add `default_value'.
2159         (fill_char_table): Use `default_value'.
2160         (decode_char_table_range): Decode `nil' as
2161         `CHARTAB_RANGE_DEFAULT'.
2162         (get_char_id_table): Refer `cit->default_value'.
2163         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2164         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2165         temporary hack; check value of char-table is bound or not.
2166         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2167
2168         * chartab.h (struct Lisp_Char_Table): Add new member
2169         `default_value' in XEmacs UTF-2000.
2170         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2171         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2172         UTF-2000.
2173
2174 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2175
2176         * chartab.h (Lisp_Char_ID_Table): Deleted.
2177
2178         * chartab.c (char_table_description): Fix typo.
2179         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2180         `Lisp_Char_ID_Table'.
2181
2182 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2183
2184         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2185         `CHAR_ID_TABLE_P'.
2186
2187         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2188         `CHAR_ID_TABLE_P'.
2189
2190         * chartab.h (XCHAR_ID_TABLE): Deleted.
2191         (XSETCHAR_ID_TABLE): Deleted.
2192         (CHAR_ID_TABLE_P): Deleted.
2193
2194         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2195         `CHAR_ID_TABLE_P'.
2196         (Fget_composite_char): Likewise.
2197         (put_char_table): Likewise.
2198         (add_char_attribute_alist_mapper): Fixed.
2199         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2200         `CHAR_ID_TABLE_P'.
2201         (Fget_char_attribute): Likewise.
2202         (Fget_char_attribute): Likewise.
2203         (Fmap_char_attribute): Likewise.
2204
2205         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2206         `CHAR_ID_TABLE_P'.
2207         (encode_char_1): Likewise.
2208
2209 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2210
2211         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2212         `XCHAR_ID_TABLE'.
2213
2214         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2215         instead of `XCHAR_ID_TABLE'.
2216         (remove_char_ccs): Likewise.
2217
2218         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2219         `XCHAR_ID_TABLE'.
2220         (Fget_composite_char): Likewise.
2221         (Fchar_variants): Likewise.
2222         (put_char_table): Likewise.
2223         (add_char_attribute_alist_mapper): Likewise.
2224         (Fchar_attribute_alist): Likewise.
2225         (Fget_char_attribute): Likewise.
2226         (Fput_char_attribute): Likewise.
2227         (Fmap_char_attribute): Likewise.
2228         (Fmap_char_attribute): Likewise.
2229
2230         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2231         `XCHAR_ID_TABLE'.
2232         (encode_char_1): Likewise.
2233
2234 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2235
2236         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2237         `Lisp_Char_ID_Table'.
2238         (mark_char_id_table): Deleted.
2239         (print_char_id_table): Likewise.
2240         (char_id_table_equal): Likewise.
2241         (char_id_table_hash): Likewise.
2242         (char_id_table_description): Likewise.
2243         (char_id_table): Likewise.
2244         (make_char_id_table): Use `Fmake_char_table' and
2245         `fill_char_table'.
2246         (get_char_id_table): Use `Lisp_Char_Table' instead of
2247         `Lisp_Char_ID_Table'.
2248         (put_char_id_table): Likewise.
2249         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2250         `XCHAR_ID_TABLE'.
2251         (Fremove_char_attribute): Likewise.
2252         (syms_of_chartab): Don't define type `char-id-table'.
2253
2254         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2255         (char_id_table): Likewise.
2256         (GC_CHAR_ID_TABLE_P): Likewise.
2257         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2258         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2259         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2260         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2261         (get_char_id_table): Use `Lisp_Char_Table' instead of
2262         `Lisp_Char_ID_Table'.
2263         (put_char_id_table_0): Likewise.
2264         (put_char_id_table): Likewise.
2265
2266 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2267
2268         * chartab.h: Lisp_Byte_Table related codes are moved from
2269         chartab.h.
2270
2271         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2272
2273 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2274
2275         * chartab.h: Don't include "chartab.h".
2276         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2277         (Lisp_Char_ID_Table): Likewise.
2278         (char_id_table): Likewise.
2279         (XCHAR_ID_TABLE): Likewise.
2280         (XSETCHAR_ID_TABLE): Likewise.
2281         (CHAR_ID_TABLE_P): Likewise.
2282         (GC_CHAR_ID_TABLE_P): Likewise.
2283         (get_char_id_table): Likewise.
2284
2285         * char-ucs.h: Include "chartab.h".
2286         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2287         (Lisp_Char_ID_Table): Likewise.
2288         (char_id_table): Likewise.
2289         (XCHAR_ID_TABLE): Likewise.
2290         (XSETCHAR_ID_TABLE): Likewise.
2291         (CHAR_ID_TABLE_P): Likewise.
2292         (GC_CHAR_ID_TABLE_P): Likewise.
2293         (get_char_id_table): Likewise.
2294
2295 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2296
2297         * chartab.c (copy_uint8_byte_table): New function.
2298         (copy_uint16_byte_table): New function.
2299         (copy_byte_table): New function.
2300         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2301         characters to call.
2302         (map_over_uint16_byte_table): Likewise.
2303         (map_over_byte_table): Likewise.
2304         (get_byte_table): Move prototype to chartab.h.
2305         (put_byte_table): Likewise.
2306         (put_char_id_table_0): Moved to chartab.h.
2307         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2308         (char_table_entry_equal): Likewise.
2309         (char_table_entry_hash): Likewise.
2310         (char_table_entry_description): Likewise.
2311         (char_table_entry): Likewise.
2312         (make_char_table_entry): Likewise.
2313         (copy_char_table_entry): Likewise.
2314         (get_non_ascii_char_table_value): Likewise.
2315         (map_over_charset_ascii): Likewise.
2316         (map_over_charset_control_1): Likewise.
2317         (map_over_charset_row): Likewise.
2318         (map_over_other_charset): Likewise.
2319         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2320         (print_char_table): Likewise.
2321         (char_table_equal): Likewise.
2322         (char_table_hash): Likewise.
2323         (char_table_description): Likewise.
2324         (fill_char_table): Likewise.
2325         (Fcopy_char_table): Likewise.
2326         (get_char_table): Likewise.
2327         (Fget_range_char_table): Likewise.
2328         (put_char_table): Likewise.
2329         (map_char_table): Likewise.
2330         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2331         UTF-2000.
2332
2333 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2334
2335         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2336         `Vauto_fill_chars' in XEmacs UTF-2000.
2337
2338         * chartab.h (get_byte_table): New prototype [moved from
2339         chartab.c].
2340         (put_byte_table): Likewise [moved from chartab.c].
2341         (put_char_id_table_0): New inline function [moved from chartab.c].
2342         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2343         (Lisp_Char_Table_Entry): Likewise.
2344         (char_table_entry): Likewise.
2345         (XCHAR_TABLE_ENTRY): Likewise.
2346         (XSETCHAR_TABLE_ENTRY): Likewise.
2347         (CHAR_TABLE_ENTRYP): Likewise.
2348         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2349         (NUM_ASCII_CHARS): Likewise.
2350         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2351         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2352
2353 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2354
2355         * chartab.c (get_char_id_table): Change interface.
2356         (put_char_id_table_0): New function.
2357         (put_char_id_table): Change interface; new implementation.
2358         (Fget_composite_char): Modify for interface change of
2359         `get_char_id_table'.
2360         (Fchar_variants): Likewise.
2361         (add_char_attribute_alist_mapper): Likewise.
2362         (Fchar_attribute_alist): Likewise.
2363         (Fget_char_attribute): Likewise.
2364         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2365         as same as character as the first argument like `put-char-table';
2366         modify for interface change of `put_char_id_table'.
2367         (Fremove_char_attribute): Modify for interface change of
2368         `put_char_id_table'.
2369
2370 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2371
2372         * text-coding.c: Sync up with XEmacs 21.2.41.
2373         (COMPOSE_ADD_CHAR): Modify for interface change of
2374         `get_char_id_table'.
2375
2376         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2377         change of `put_char_id_table'.
2378         (remove_char_ccs): Likewise.
2379
2380         * chartab.h (put_char_id_table): Change interface.
2381
2382         * char-ucs.h (get_char_id_table): Change interface.
2383         (charset_code_point): Modify for interface change of
2384         `get_char_id_table'.
2385         (encode_char_1): Likewise.
2386
2387 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2388
2389         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2390         argument `ccs'.
2391         (map_over_uint16_byte_table): Likewise.
2392         (map_over_byte_table): Likewise.
2393         (map_char_id_table): Add new argument `range' like
2394         `map_char_table'.
2395         (Fmap_char_attribute): Add new argument `range' like
2396         `Fmap_char_table'.
2397
2398 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2399
2400         * chartab.c (map_over_uint8_byte_table): Change interface of
2401         mapping function to use struct chartab_range instead of Emchar.
2402         (map_over_uint16_byte_table): Likewise.
2403         (map_over_byte_table): Likewise.
2404         (map_char_id_table): Likewise.
2405         (struct slow_map_char_id_table_arg): Deleted.
2406         (slow_map_char_id_table_fun): Deleted.
2407         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2408         function `slow_map_char_table_fun' instead of struct
2409         `slow_map_char_id_table_arg' and function
2410         `slow_map_char_id_table_fun'.
2411
2412 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2413
2414         * mule-charset.c: Move char-it-table related codes to chartab.c.
2415         (Vutf_2000_version): Moved to chartab.c.
2416         (Fdefine_char): Likewise.
2417         (Ffind_char): Likewise.
2418         (syms_of_mule_charset): Move types `uint8-byte-table',
2419         `uint16-byte-table', `byte-table' and `char-id-table' to
2420         chartab.c; move functions `char_attribute_list,
2421         `find_char_attribute_table, `char_attribute_alist,
2422         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2423         `map_char_attribute, `define_char, `find_char, `char_variants and
2424         `get_composite_char to chartab.c; move symbols `=>ucs',
2425         `->decomposition', `compat', `isolated', `initial', `medial',
2426         `final', `vertical', `noBreak', `fraction', `super', `sub',
2427         `circle', `square', `wide', `narrow', `small' and `font' to
2428         chartab.c.
2429         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2430         setting codes for `Vcharacter_composition_table' and
2431         `Vcharacter_variant_table' to chartab.c.
2432         (complex_vars_of_mule_charset): Move setting code for
2433         `Vchar_attribute_hash_table' to chartab.c.
2434
2435         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2436         (make_char_id_table): New prototype.
2437         (put_char_id_table): Likewise.
2438         (Fget_char_attribute): Likewise.
2439
2440         * chartab.c: Move char-id-table related code from mule-charset.c.
2441         (Vutf_2000_version): Moved from mule-charset.c.
2442
2443         * char-ucs.h (Qucs): New external variable.
2444         (put_char_ccs_code_point): New prototype.
2445         (remove_char_ccs): Likewise.
2446
2447 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2448
2449         * mule-charset.c (Vcharset_ucs_jis): New variable.
2450         (Qucs_jis): Likewise.
2451         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2452         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2453
2454         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2455
2456 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2457
2458         * mule-charset.c (map_over_uint8_byte_table): New function.
2459         (map_over_uint16_byte_table): Likewise.
2460         (map_over_byte_table): Likewise.
2461         (map_char_id_table): Likewise.
2462         (slow_map_char_id_table_fun): Likewise.
2463         (Fmap_char_attribute): Likewise.
2464         (syms_of_mule_charset): Add new function `map-char-attribute'.
2465
2466 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2467
2468         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2469         (syms_of_mule_charset): Add new function `find-char'.
2470
2471 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2472
2473         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2474         XEmacs UTF-2000.
2475         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2476         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2477         XEmacs UTF-2000.
2478         (complex_vars_of_mule_charset): Add new coded-charset
2479         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2480         `ideograph-gt-pj-*'.
2481
2482         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2483
2484 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2485
2486         * mule-charset.c (encode_builtin_char_1): Purge codes about
2487         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2488         {MIN|MAX}_CHAR_HEBREW.
2489         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2490         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2491
2492         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2493         (MAX_CHAR_GREEK): Purged.
2494         (MIN_CHAR_CYRILLIC): Purged.
2495         (MAX_CHAR_CYRILLIC): Purged.
2496         (MIN_CHAR_HEBREW): Commented out.
2497         (MAX_CHAR_HEBREW): Likewise.
2498
2499 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2500
2501         * mule-charset.c (Qto_ucs): New variable.
2502         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2503         (Fdefine_char): Likewise.
2504         (syms_of_mule_charset): Add new symbol `=>ucs'.
2505
2506 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2507
2508         * mule-charset.c (Fdecode_char): Fixed.
2509
2510 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2511
2512         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2513         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2514         "tcvn5712-1".
2515
2516 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2517
2518         * mule-charset.c (Vcharset_ucs_big5): New variable.
2519         (Qucs_big5): Likewise.
2520         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2521         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2522
2523         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2524
2525 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2526
2527         * mule-charset.c (decode_builtin_char): Check Big5 code range
2528         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2529
2530 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2531
2532         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2533         (Qchinese_gb12345): Likewise.
2534         (Fdecode_builtin_char): Fixed.
2535         (syms_of_mule_charset): Add `chinese-gb12345'.
2536         (complex_vars_of_mule_charset): Add coded-charset
2537         `chinese-gb12345'.
2538
2539         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2540         (LEADING_BYTE_CHINESE_GB12345): New macro.
2541
2542 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2543
2544         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2545         and `latin-viscii-upper' for `latin-viscii'.
2546
2547 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2548
2549         * mule-charset.c (Fdecode_builtin_char): Comment out
2550         regularization code for ISO-IR GR representation.
2551
2552 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2553
2554         * mule-charset.c (decode_builtin_char): New function; renamed from
2555         `make_builtin_char'; return -1 instead of signal.
2556         (Fdecode_builtin_char): Use `decode_builtin_char'.
2557
2558         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2559         `make_builtin_char'.
2560         (DECODE_CHAR): Use `decode_builtin_char' instead of
2561         `make_builtin_char'; use mapping table of `chinese-big5' for
2562         `chinese-big5-{1,2}'.
2563
2564 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2565
2566         * text-coding.c (char_encode_big5): New function.
2567         (char_finish_big5): Likewise.
2568         (reset_encoding_stream): Use `char_encode_big5' and
2569         `char_finish_big5' for CODESYS_BIG5.
2570         (mule_encode): Don't use `encode_coding_big5'.
2571         (encode_coding_big5): Deleted.
2572
2573 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2574
2575         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2576         0x81- in XEmacs UTF-2000.
2577         (detect_coding_big5): Likewise.
2578
2579 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2580
2581         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2582         generate character-id if the CCS property does not have
2583         corresponding predefined character.
2584         (make_builtin_char): Return -1 if corresponding predefined
2585         character is not found.
2586         (Fdecode_char): Return nil if corresponding character is not
2587         found.
2588         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2589         don't map to builtin ucs space.
2590
2591 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2592
2593         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2594         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2595
2596 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2597
2598         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2599         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2600         (Qideograph_gt): Likewise.
2601         (Qideograph_gt_pj_{1..11}): Likewise.
2602         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2603         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2604         `ideograph-gt-pj-11'.
2605         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2606         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2607         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2608
2609         * char-ucs.h (LEADING_BYTE_GT): New macro.
2610         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2611         (MIN_CHAR_GT): Likewise.
2612         (MAX_CHAR_GT): Likewise.
2613
2614 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2615
2616         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2617         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2618
2619         * doprnt.c (unsigned_int_converters): Add `c'.
2620         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2621
2622         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2623         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2624         `MIN_CHAR_MOJIKYO'.
2625         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2626         (MAX_CHAR_MOJIKYO_0): New macro.
2627         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2628
2629 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2630
2631         * mule-charset.c (Fdefine_char): Delete cemented out code.
2632         (encode_builtin_char_1): Modify for new allocation of builtin
2633         Mojikyo characters.
2634
2635         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2636
2637 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2638
2639         * mule-charset.c (Vcharset_ucs_cns): New variable.
2640         (Qucs_cns): New variable.
2641         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2642         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2643
2644 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2645
2646         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2647
2648 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2649
2650         * search.c (search_buffer): Make `charset_base_code' as
2651         character-id >> 6 to eliminate the corresponding last byte in
2652         UTF-8 representation [I'm not sure it is right thing].
2653         (boyer_moore): Likewise.
2654
2655 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2656
2657         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2658         representation in MULE.
2659
2660 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2661
2662         * text-coding.c (Fmake_coding_system): Use
2663         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2664         `EXTERNAL_PROPERTY_LIST_LOOP'.
2665
2666 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2667
2668         * text-coding.c (decode_output_utf8_partial_char): New function.
2669         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2670
2671 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2672
2673         * text-coding.c (decode_coding_utf8): Output original byte
2674         sequence if it is broken; change order of conditions.
2675
2676         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2677         of conditions.
2678
2679         * mb-multibyte.h (BYTE_ASCII_P):
2680         Use bit ops for char-signedness safety.
2681         (BYTE_C0_P): Use bit ops for char-signedness safety.
2682         (BYTE_C1_P): Use bit ops for char-signedness safety.
2683
2684         * character.h: (XCHAR_OR_CHAR_INT):
2685         Always use inline function.
2686         Remove redundant type checking assert() - XINT will abort quite
2687         nicely.
2688
2689 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2690
2691         * text-coding.c: (Fencode_shift_jis_char):
2692         (Fencode_big5_char):
2693         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2694         Replace 0 with '\0' when working with bytes.
2695         Replace initial "(" with "\(" in docstrings.
2696
2697         (Fmake_coding_system):
2698         When type is ccl and value is vector, register it with a proper
2699         symbol.  And checks whether the given ccl program is valid.
2700         (mule_decode): When calling ccl_driver, if src indicates
2701         NULL pointer, set an empty string instead.
2702         (mule_encode): Likewise.
2703
2704         (detect_eol_type):
2705         (detect_coding_sjis):
2706         (decode_coding_sjis):
2707         (detect_coding_big5):
2708         (decode_coding_big5):
2709         (detect_coding_ucs4):
2710         (decode_coding_ucs4):
2711         (detect_coding_utf8):
2712         (decode_coding_utf8):
2713         (detect_coding_iso2022):
2714         (decode_coding_iso2022):
2715         (decode_coding_no_conversion):
2716         (mule_decode):
2717         Make all detecting and decoding functions take an Extbyte * arg.
2718         (text_encode_generic):
2719         (encode_coding_big5):
2720         (encode_coding_no_conversion):
2721         (mule_encode):
2722         Make all encoding functions take a Bufbyte * arg.
2723         Use size_t instead of unsigned int for memory sizes.
2724         Only cast to unsigned char whenever dereferencing Extbyte *.
2725
2726         (struct lrecord_description fcd_description_1): Use countof.
2727         (complex_vars_of_file_coding):
2728         Use countof instead of sizeof.
2729         Use CHECK_NATNUM instead of CHECK_INT.
2730
2731 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2732
2733         * mule-charset.c (Fget_char_attribute): Add new optional argument
2734         `default-value'.
2735         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2736         (remove_char_ccs): Likewise.
2737
2738 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2739
2740         * text-coding.c (char_encode_shift_jis): New implementation in
2741         UTF-2000.
2742         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2743         ...)'.
2744
2745         * mule-charset.c (Vcharset_chinese_big5): New variable in
2746         UTF-2000.
2747         (Qchinese_big5): New variable in UTF-2000.
2748         (BIG5_SAME_ROW): New macro in UTF-2000.
2749         (make_builtin_char): Use builtin characters of
2750         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2751         characters of `Vcharset_chinese_big5'.
2752         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2753         (complex_vars_of_mule_charset): Add new coded-charset
2754         `chinese-big5' in UTF-2000.
2755
2756         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2757         (Vcharset_chinese_big5): New external variable declaration.
2758         (Vcharset_japanese_jisx0208_1990): Likewise.
2759
2760 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2761
2762         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2763         function.
2764         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2765
2766 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2767
2768         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2769         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2770         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2771         `mojikyo-pj-*'.
2772
2773 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2774
2775         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2776
2777 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2778
2779         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2780         to 0.17.
2781
2782 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2783
2784         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2785         for `CHARSET_BY_ATTRIBUTES'.
2786         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2787         `CHARSET_BY_ATTRIBUTES'.
2788
2789         * text-coding.c (struct decoding_stream): Rename member `CH' to
2790         `CPOS'.
2791         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2792         (decode_coding_sjis): Likewise.
2793         (decode_coding_big5): Likewise.
2794         (decode_coding_ucs4): Likewise.
2795         (decode_coding_utf8): Likewise.
2796         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2797         `CHARSET_BY_ATTRIBUTES'.
2798         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2799         `str->counter'; decode 3, 4 bytes sets.
2800         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2801         sets.
2802         (decode_coding_no_conversion): Use `str->cpos' instead of
2803         `str->ch'.
2804
2805         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2806         (Qmojikyo_2022_1): New variable.
2807         (make_charset): Don't use `CHARSET_TYPE_*'.
2808         (range_charset_code_point): Support coded-charset
2809         `mojikyo-2022-1'.
2810         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2811         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2812         `CHARSET_BY_ATTRIBUTES'.
2813         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2814         `CHARSET_BY_ATTRIBUTES'.
2815         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2816         (complex_vars_of_mule_charset): Add new coded-charset
2817         `mojikyo-2022-1'.
2818
2819         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2820         interface; changed to inline function.
2821
2822         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2823         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2824         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2825         (CHARSET_TYPE_94): Deleted.
2826         (CHARSET_TYPE_94X94): Deleted.
2827         (CHARSET_TYPE_96): Deleted.
2828         (CHARSET_TYPE_96X96): Deleted.
2829         (CHARSET_TYPE_128): Deleted.
2830         (CHARSET_TYPE_128X128): Deleted.
2831         (CHARSET_TYPE_256): Deleted.
2832         (CHARSET_TYPE_256X256): Deleted.
2833         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2834         to inline function.
2835         (DECODE_MOJIKYO_2022): New inline function.
2836         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2837         `Vcharset_mojikyo_2022_1'.
2838
2839 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2840
2841         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2842         instead of `EQ'.
2843         (put_byte_table): Likewise.
2844         (char_id_table_equal): Use `get_byte_table' [new implementation].
2845
2846 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2847
2848         * mule-charset.c: Include <limits.h> in UTF-2000.
2849         (BT_UINT8_MIN): New macro in UTF-2000.
2850         (BT_UINT8_MAX): New macro in UTF-2000.
2851         (BT_UINT8_t): New macro in UTF-2000.
2852         (BT_UINT8_nil): New macro in UTF-2000.
2853         (BT_UINT8_unbound): New macro in UTF-2000.
2854         (INT_UINT8_P): New inline function in UTF-2000.
2855         (UINT8_VALUE_P): New inline function in UTF-2000.
2856         (UINT8_ENCODE): New inline function in UTF-2000.
2857         (UINT8_DECODE): New inline function in UTF-2000.
2858         (mark_uint8_byte_table): New function in UTF-2000.
2859         (print_uint8_byte_table): New function in UTF-2000.
2860         (uint8_byte_table_equal): New function in UTF-2000.
2861         (uint8_byte_table_hash): New function in UTF-2000.
2862         (make_uint8_byte_table): New function in UTF-2000.
2863         (uint8_byte_table_same_value_p): New function in UTF-2000.
2864         (BT_UINT16_MIN): New macro in UTF-2000.
2865         (BT_UINT16_MAX): New macro in UTF-2000.
2866         (BT_UINT16_t): New macro in UTF-2000.
2867         (BT_UINT16_nil): New macro in UTF-2000.
2868         (BT_UINT16_unbound): New macro in UTF-2000.
2869         (INT_UINT16_P): New inline function in UTF-2000.
2870         (UINT16_VALUE_P): New inline function in UTF-2000.
2871         (UINT16_ENCODE): New inline function in UTF-2000.
2872         (UINT16_DECODE): New inline function in UTF-2000.
2873         (UINT8_TO_UINT16): New inline function in UTF-2000.
2874         (mark_uint16_byte_table): New function in UTF-2000.
2875         (print_uint16_byte_table): New function in UTF-2000.
2876         (uint16_byte_table_equal): New function in UTF-2000.
2877         (uint16_byte_table_hash): New function in UTF-2000.
2878         (make_uint16_byte_table): New function in UTF-2000.
2879         (uint16_byte_table_same_value_p): New function in UTF-2000.
2880         (print_byte_table): New function in UTF-2000.
2881         (byte-table): Use `print_byte_table' as printer.
2882         (make_byte_table): Delete second argument `older'.
2883         (byte_table_same_value_p): New function in UTF-2000.
2884         (copy_byte_table): Deleted.
2885         (get_byte_table): New function in UTF-2000.
2886         (put_byte_table): New function in UTF-2000.
2887         (print_char_id_table): New function in UTF-2000.
2888         (char-id-table): Use `print_char_id_table' as printer.
2889         (make_char_id_table): Delete second argument `older'.
2890         (get_char_id_table): Use `get_byte_table [new implementation].
2891         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2892         implementation].
2893         (Ffind_char_attribute_table): New function in UTF-2000.
2894         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2895         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2896         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2897         (syms_of_mule_charset): Add new function
2898         `find-char-attribute-table' in UTF-2000.
2899
2900         * lrecord.h (enum lrecord_type): Add
2901         `lrecord_type_uint16_byte_table' and
2902         `lrecord_type_uint8_byte_table'.
2903
2904         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2905         (Lisp_Uint8_Byte_Table): New type.
2906         (XUINT8_BYTE_TABLE): New macro.
2907         (XSETUINT8_BYTE_TABLE): New macro.
2908         (UINT8_BYTE_TABLE_P): New macro.
2909         (GC_UINT8_BYTE_TABLE_P): New macro.
2910         (struct Lisp_Uint16_Byte_Table): New structure.
2911         (Lisp_Uint16_Byte_Table): New type.
2912         (XUINT16_BYTE_TABLE): New macro.
2913         (XSETUINT16_BYTE_TABLE): New macro.
2914         (UINT16_BYTE_TABLE_P): New macro.
2915         (GC_UINT16_BYTE_TABLE_P): New macro.
2916
2917 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2918
2919         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2920         (Vcharacter_ideographic_strokes_table): Deleted.
2921         (Vcharacter_total_strokes_table): Deleted.
2922         (Vcharacter_morohashi_daikanwa_table): Deleted.
2923         (Vcharacter_decomposition_table): Deleted.
2924         (Qname): Deleted because it is duplicated.
2925         (Qideographic_radical): Deleted.
2926         (Qideographic_strokes): Deleted.
2927         (Qtotal_strokes): Deleted.
2928         (Qmorohashi_daikanwa): Deleted.
2929         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2930         `ideographic-radical', `ideographic-strokes', `total-strokes',
2931         `morohashi-daikanwa' and `->decomposition'.
2932         (Fget_char_attribute): Likewise.
2933         (Fput_char_attribute): Likewise; use `make-vector' instead of
2934         `make_older_vector' for `->decomposition' value.
2935         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2936         `ideograph-daikanwa'.
2937         (syms_of_mule_charset): Delete builtin symbols `name',
2938         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2939         `morohashi-daikanwa'.
2940         (vars_of_mule_charset): Don't setup
2941         `Vcharacter_ideographic_radical_table',
2942         `Vcharacter_ideographic_strokes_table',
2943         `Vcharacter_total_strokes_table',
2944         `Vcharacter_morohashi_daikanwa_table' and
2945         `Vcharacter_decomposition_table'.
2946
2947 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2948
2949         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2950         `make_older_vector', `make_vector_newer_1' and
2951         `make_vector_newer'.
2952
2953         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2954         `make_older_vector' and `make_vector_newer'.
2955
2956         * config.h.in (HAVE_GGC): New macro.
2957
2958 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2959
2960         * mule-charset.c (struct char_attribute_list_closure): New
2961         structure in UTF-2000.
2962         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2963         (Fchar_attribute_list): Likewise.
2964         (Fset_charset_mapping_table): Use `make_vector_newer'.
2965         (Fdecode_builtin_char): New function in UTF-2000.
2966         (syms_of_mule_charset): Add new function `char-attribute-list' and
2967         `decode-builtin-char' in UTF-2000.
2968
2969         * lisp.h (make_vector_newer): New prototype.
2970
2971         * alloc.c (make_vector_newer_1): New function.
2972         (make_vector_newer): New function.
2973
2974 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2975
2976         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2977         50100)'.
2978
2979 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2980
2981         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2982         (Vcharacter_attribute_table): Deleted.
2983         (Vcharacter_name_table): Deleted.
2984         (put_char_attribute): Deleted.
2985         (remove_char_attribute): Deleted.
2986         (struct char_attribute_alist_closure): New structure.
2987         (add_char_attribute_alist_mapper): New function.
2988         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2989         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2990         (Fget_char_attribute): Likewise.
2991         (Fput_char_attribute): Likewise.
2992         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2993         of `remove_char_attribute'.
2994         (Fdefine_char): Return character.
2995         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2996         and `Vcharacter_name_table'.
2997         (complex_vars_of_mule_charset): Likewise
2998         `Vchar_attribute_hash_table'.
2999
3000 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3001
3002         * character.h (CHARC_CHARSET): New macro.
3003         (CHARC_CHARSET_ID): New macro.
3004         (CHARC_CODE_POINT): New macro.
3005         (CHARC_COLUMNS): New macro.
3006         (CHARC_TO_CHAR): New inline function.
3007         (CHARC_EQ): New inline function.
3008         (CHARC_ASCII_EQ): New inline function.
3009         (CHARC_IS_SPACE): New inline function.
3010         (ASCII_TO_CHARC): New inline function.
3011
3012         * char-ucs.h (encode_char_2): Deleted.
3013         (ENCODE_CHAR): Use `encode_char_1' again.
3014         (breakup_char_1): Likewise.
3015         (CHAR_TO_CHARC): New inline function.
3016
3017         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3018
3019 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3020
3021         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3022         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3023         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3024         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3025         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3026         `CHARC_IS_SPACE'.
3027         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3028
3029         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3030         `CHARC_CODE_POINT'.
3031         (x_output_display_block): Use `CHARC_CHARSET' and
3032         `CHARC_ASCII_EQ'.
3033
3034         * redisplay-tty.c (tty_output_display_block): Use
3035         `CHARC_ASCII_EQ'.
3036         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3037
3038         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3039
3040         * insdel.c (find_charsets_in_charc_string): Use
3041         `CHARC_CHARSET_ID'.
3042         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3043         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3044         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3045         (convert_charc_string_into_malloced_string): Likewise.
3046
3047 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3048
3049         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3050         instead of <Emchar_dynarr *> for buf; use
3051         `convert_bufbyte_string_into_charc_dynarr' instead of
3052         `convert_bufbyte_string_into_emchar_dynarr'; use
3053         `find_charsets_in_charc_string' instead of
3054         `find_charsets_in_emchar_string'.
3055
3056         * redisplay.h:
3057         - Include "character.h".
3058         (struct rune): New member `cglyph'; delete member `chr'.
3059
3060         * redisplay.c (redisplay_text_width_charc_string): New function;
3061         delete `redisplay_text_width_emchar_string'.
3062         (rtw_charc_dynarr): New variable; renamed from
3063         `rtw_emchar_dynarr'.
3064         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3065         `rtw_emchar_dynarr'; use
3066         `convert_bufbyte_string_into_charc_dynarr' instead of
3067         `convert_bufbyte_string_into_emchar_dynarr'; use
3068         `redisplay_text_width_charc_string' instead of
3069         `redisplay_text_width_emchar_string'.
3070         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3071         instead of `rtw_emchar_dynarr'; use
3072         `convert_bufbyte_string_into_charc_dynarr' instead of
3073         `convert_bufbyte_string_into_emchar_dynarr'.
3074         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3075         `redisplay_text_width_charc_string' instead of
3076         `redisplay_text_width_emchar_string'.
3077         (create_text_block): Modify for <struct rune> change.
3078         (generate_formatted_string_db): Likewise.
3079         (create_string_text_block): Likewise.
3080         (pixel_to_glyph_translation): Likewise.
3081
3082         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3083         instead of <const Emchar *>.
3084         (x_text_width): Likewise.
3085         (x_output_display_block): Use <Charc_dynarr *> instead
3086         <Emchar_dynarr *>; modify for <structure rune> change.
3087         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3088         *>.
3089
3090         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3091         <const Emchar *>; use `charc_string_displayed_columns' instead of
3092         `emchar_string_displayed_columns'.
3093         (tty_output_display_block): Use <Charc_dynarr *> instead of
3094         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3095         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3096         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3097         `tty_output_emchar_dynarr_dynarr'.
3098         (tty_output_charc_dynarr): New function; delete
3099         `tty_output_charc_dynarr'.
3100
3101         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3102         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3103         <Emchar_dynarr *> for buf; use
3104         `convert_bufbyte_string_into_charc_dynarr' instead of
3105         `convert_bufbyte_string_into_emchar_dynarr'.
3106
3107         * frame.c (title_string_charc_dynarr): New variable; renamed from
3108         `title_string_emchar_dynarr'.
3109         (generate_title_string): Use `title_string_charc_dynarr' instead
3110         of `title_string_emchar_dynarr'; use
3111         `convert_charc_string_into_malloced_string' instead of
3112         `convert_emchar_string_into_malloced_string'.
3113         (init_frame): Use `title_string_charc_dynarr' instead of
3114         `title_string_emchar_dynarr'.
3115
3116         * console.h:
3117         - Include "character.h".
3118         (struct console_methods): Use <const Charc *> instead of <const
3119         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3120         <Emchar_dynarr *> in output_string_method.
3121
3122         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3123         <Emchar_dynarr *>.
3124
3125         * console-stream.c (stream_text_width): Use <const Charc *>
3126         instead of <const Emchar *>.
3127
3128         * character.h (Charc_dynarr): New type.
3129
3130         * char-ucs.h (structure Charc): New structure; define new type
3131         `Charc'.
3132
3133         * char-lb.h (DECODE_CHAR): New inline function.
3134         (encode_char_1): New inline function.
3135         (ENCODE_CHAR): New macro.
3136         (structure Charc): New structure; define new type `Charc'.
3137
3138         * char-1byte.h (Vcharset_control_1): New macro.
3139         (Vcharset_latin_iso8859_1): New macro.
3140         (DECODE_CHAR): New inline function.
3141         (encode_char_1): New inline function.
3142         (ENCODE_CHAR): New macro.
3143         (structure Charc): New structure; define new type `Charc'.
3144
3145         * insdel.c (find_charsets_in_charc_string): New function; delete
3146         `find_charsets_in_emchar_string'.
3147         (charc_string_displayed_columns): New function; delete
3148         `emchar_string_displayed_columns'.
3149         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3150         `convert_bufbyte_string_into_emchar_dynarr'.
3151         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3152         `convert_charc_string_into_bufbyte_dynarr'.
3153         (convert_charc_string_into_malloced_string): New function; delete
3154         `convert_charc_string_into_malloced_string'.
3155
3156         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3157         `find_charsets_in_emchar_string'.
3158         (charc_string_displayed_columns): New prototype; delete
3159         `emchar_string_displayed_columns'.
3160         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3161         `convert_charc_string_into_bufbyte_dynarr'.
3162         (convert_charc_string_into_malloced_string): New prototype; delete
3163         `convert_charc_string_into_malloced_string'.
3164
3165 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3166
3167         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3168
3169 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3170
3171         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3172
3173         * char-ucs.h: Use <short> for <Charset_ID>.
3174
3175         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3176         <Charset_ID>.
3177
3178 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3179
3180         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3181         to 0.16.
3182
3183 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3184
3185         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3186         variable.
3187         (Qmorohashi_daikanwa): New variable.
3188         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3189         for `morohashi-daikanwa' attribute.
3190         (Fget_char_attribute): Likewise.
3191         (Fput_char_attribute): Likewise.
3192         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3193         has the same value of `ideograph-daikanwa'.
3194         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3195         (vars_of_mule_charset): Setup
3196         `Vcharacter_morohashi_daikanwa_table'.
3197
3198 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3199
3200         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3201         attributes.
3202         (add_charset_to_list_mapper): Add `key' instead of
3203         `XCHARSET_NAME (value)' to return aliases.
3204
3205 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3206
3207         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3208         variable.
3209         (Vcharacter_ideographic_strokes_table): New variable.
3210         (Qideographic_radical): New variable.
3211         (Qideographic_strokes): New variable.
3212         (Fchar_attribute_alist): Use
3213         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3214         attribute; use `Vcharacter_ideographic_strokes_table' for
3215         `ideographic-strokes' attribute.
3216         (Fget_char_attribute): Likewise.
3217         (Fput_char_attribute): Likewise.
3218         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3219         `ideographic-strokes'.
3220         (vars_of_mule_charset): Setup
3221         `Vcharacter_ideographic_radical_table' and
3222         `Vcharacter_ideographic_strokes_table'.
3223
3224 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3225
3226         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3227         (Qtotal_strokes): New variable.
3228         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3229         `total-strokes' attribute.
3230         (Fget_char_attribute): Likewise.
3231         (Fput_char_attribute): Likewise.
3232         (syms_of_mule_charset): Add new symbol `total-strokes'.
3233         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3234
3235 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3236
3237         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3238         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3239         are found.
3240         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3241         `->decomposition' attribute.
3242         (Fput_char_attribute): Likewise.
3243         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3244
3245 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3246
3247         * mule-charset.c (decoding_table_check_elements): New function.
3248         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3249
3250 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3251
3252         * mule-charset.c (Fset_charset_mapping_table): Use
3253         `put_char_ccs_code_point'.
3254
3255 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3256
3257         * mule-charset.c (decoding_table_put_char): New inline function.
3258         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3259
3260 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3261
3262         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3263         (XCHARSET_BYTE_SIZE): New macro.
3264         (decoding_table_remove_char): New inline function.
3265         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3266         `decoding_table_remove_char'.
3267         (remove_char_ccs): Use `decoding_table_remove_char'.
3268         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3269
3270 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3271
3272         * mule-charset.c (Vcharacter_name_table): New variable.
3273         (Qname): New variable.
3274         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3275         attribute.
3276         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3277         `Vcharacter_name_table' for `name' attribute.
3278         (Fremove_char_attribute): Use function `remove_char_ccs'.
3279         (put_char_ccs_code_point): New function.
3280         (remove_char_ccs): New function.
3281         (syms_of_mule_charset): Add new symbol `name'.
3282         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3283
3284 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3285
3286         * mule-charset.c (make_byte_table): Add new argument `older'.
3287         (make_char_id_table): Likewise.
3288         (copy_char_id_table): Comment out because it is not used.
3289         (put_char_id_table): Modify for `make_byte_table'.
3290         (Fput_char_attribute): Make encoding_table as older object;
3291         inherit older bit of `Vcharacter_composition_table'.
3292         (mark_charset): Don't mark `cs->encoding_table'.
3293         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3294         normal object; make `Vcharacter_composition_table' as an older
3295         object; delete staticpro for `Vcharacter_composition_table'; make
3296         `Vcharacter_variant_table' as a normal object.
3297
3298         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3299         (mark_object): Don't check older object in UTF-2000.
3300
3301         * lrecord.h (struct lrecord_header): Add new member `older' in
3302         UTF-2000.
3303         (set_lheader_implementation): Setup `SLI_header->older' in
3304         UTF-2000.
3305         (set_lheader_older_implementation): New macro in UTF-2000.
3306         (OLDER_RECORD_P): New macro in UTF-2000.
3307         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3308         (alloc_older_lcrecord): New prototype in UTF-2000.
3309         (alloc_older_lcrecord_type): New macro in UTF-2000.
3310
3311 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3312
3313         * mule-charset.c (byte_table_description): Use
3314         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3315         (char_id_table_description): Delete bogus `, 1'.
3316         (Fget_char_attribute): Refer encoding_table of each coded-charset
3317         to get value of coded-charset attribute of a character.
3318         (Fput_char_attribute): Use `make_older_vector' instead of
3319         `make_vector'; use encoding_table of each coded-charset to store
3320         value of coded-charset attribute of a character.
3321         (Fremove_char_attribute): Use encoding_table of each coded-charset
3322         to store value of coded-charset attribute of a character.
3323         (mark_charset): Mark `cs->encoding_table'; don't mark
3324         `cs->decoding_table'.
3325         (charset_description): Add description of new member
3326         `encoding_table'.
3327         (make_charset): Initialize `encoding_table'.
3328
3329         * char-ucs.h (struct Lisp_Charset): Add new member
3330         `encoding_table'.
3331         (CHARSET_ENCODING_TABLE): New macro.
3332         (XCHARSET_ENCODING_TABLE): New macro.
3333         (charset_code_point): New implementation.
3334         (encode_char_1): Likewise.
3335
3336         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3337         (disksave_object_finalization_1): Call finalizers of
3338         `all_older_lcrecords' in UTF-2000.
3339         (make_older_vector): New function in UTF-2000.
3340         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3341         UTF-2000.
3342
3343         * lisp.h (make_older_vector): New prototype in UTF-2000.
3344
3345 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3346
3347         * lrecord.h (enum lrecord_type): Rename
3348         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3349
3350         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3351         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3352         `get_char_code_table'.
3353
3354         * mule-charset.c (mark_char_id_table): Renamed from
3355         `mark_char_code_table'.
3356         (char_id_table_equal): Renamed from `char_code_table_equal'.
3357         (char_id_table_hash): Renamed from `char_code_table_hash'.
3358         (make_char_id_table): Renamed from `make_char_code_table'.
3359         (copy_char_id_table): Renamed from `copy_char_code_table'.
3360         (get_char_id_table): Renamed from `get_char_code_table'.
3361         (put_char_id_table): Renamed from `put_char_code_table'.
3362         (to_char_id): Renamed from `to_char_code'.
3363
3364         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3365         `Lisp_Char_Code_Table'.
3366         (char_id_table): Renamed from `char_code_table'.
3367         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3368         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3369         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3370         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3371         (get_char_id_table): Renamed from `get_char_code_table'.
3372
3373 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3374
3375         * lrecord.h (enum lrecord_type): Rename
3376         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3377
3378         * mule-charset.c (mark_byte_table): Renamed from
3379         `mark_char_byte_table'.
3380         (byte_table_equal): Renamed from `char_byte_table_equal'.
3381         (byte_table_hash): Renamed from `byte_table_hash'.
3382         (make_byte_table): Renamed from `make_byte_table'.
3383         (copy_byte_table): Renamed from `copy_char_byte_table'.
3384
3385         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3386         `Lisp_Char_Byte_Table'.
3387         (byte_table): Renamed from `char_byte_table'.
3388         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3389         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3390         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3391         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3392
3393 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3394
3395         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3396         (dfc_convert_to_internal_format): Likewise.
3397         
3398         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3399         * text-coding.c (Fcoding_system_alias_p): New function.
3400         * text-coding.c (Fcoding_system_aliasee): New function.
3401         * text-coding.c (append_suffix_to_symbol): New function.
3402         * text-coding.c (dangling_coding_system_alias_p): New function.
3403         * text-coding.c (Ffind_coding_system):
3404         * text-coding.c (Fcopy_coding_system):
3405         * text-coding.c (encode_coding_no_conversion):
3406         * text-coding.c (syms_of_file_coding):
3407         * text-coding.c (vars_of_file_coding):
3408         Rewrite coding system alias code.
3409         Allow nested aliases, like symbolic links.
3410         Allow redefinition of coding system aliases.
3411         Prevent existence of dangling coding system aliases.
3412         Eliminate convert_to_external_format.
3413         Eliminate convert_to_internal_format.
3414         
3415         * text-coding.c: Change enum eol_type to eol_type_t.
3416
3417 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3418
3419         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3420         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3421
3422         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3423         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3424
3425 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3426
3427         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3428         `ideograph-daikanwa'.
3429
3430         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3431         (Vcharset_ucs_bmp): Likewise.
3432         (Vcharset_mojikyo): Add new extern variable definition.
3433         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3434         (Vcharset_latin_iso8859_3): Likewise.
3435         (Vcharset_latin_iso8859_4): Likewise.
3436         (Vcharset_latin_iso8859_9): Likewise.
3437         (Vcharset_latin_viscii_lower): Likewise.
3438         (Vcharset_latin_viscii_upper): Likewise.
3439         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3440         `mojikyo' code-point is used to decode.
3441         (encode_char_2): New function [to convert `mojikyo' code-point to
3442         Mojikyo font encoding].
3443         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3444         (breakup_char_1): Likewise.
3445         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3446
3447 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3448
3449         * text-coding.c (Fmake_coding_system): Add document about
3450         `disable-composition' property.
3451
3452 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3453
3454         * text-coding.c (Qdisable_composition): New variable; delete
3455         `Qcomposite'.
3456         (Fmake_coding_system): Add new property `disable-composite';
3457         delete property `composite'.
3458         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3459         instead of `!CODING_SYSTEM_COMPOSITE'.
3460         (syms_of_file_coding): Add new symbol `disable-composition';
3461         delete symbol `composite'.
3462
3463         * file-coding.h (struct Lisp_Coding_System): Add
3464         `disable_composition'; delete `enable_composition'.
3465         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3466         `CODING_SYSTEM_COMPOSITE'.
3467         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3468         `XCODING_SYSTEM_COMPOSITE'.
3469
3470 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3471
3472         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3473         to 0.15.
3474
3475 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3476
3477         * text-coding.c (Qcomposite): New variable.
3478         (Fmake_coding_system): Add new property `composite'.
3479         (struct decoding_stream): Add `combined_char_count',
3480         `combined_chars' and `combining_table' in UTF-2000.
3481         (COMPOSE_FLUSH_CHARS): New macro.
3482         (COMPOSE_ADD_CHAR): New macro.
3483         (reset_decoding_stream): Reset `str->combined_char_count' and
3484         `str->combining_table' in UTF-2000.
3485         (decode_coding_iso2022): Modify for character-decomposition.
3486         (syms_of_file_coding): Add new symbol `composite'.
3487
3488 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3489
3490         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3491         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3492         of `Vcharacter_composition_table' if `->decomposition' property
3493         has only 1 element.
3494         (Qlatin_tcvn5712): New variable.
3495         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3496         (complex_vars_of_mule_charset): Add new coded-charset
3497         `latin-tcvn5712'.
3498
3499         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3500
3501 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3502
3503         * file-coding.h (struct Lisp_Coding_System): Add
3504         `enable_composition'.
3505         (CODING_SYSTEM_COMPOSITE): New macro.
3506         (XCODING_SYSTEM_COMPOSITE): New macro.
3507
3508 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3509
3510         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3511
3512 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3513
3514         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3515         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3516
3517 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3518
3519         * mule-charset.c (Vcharset_mojikyo): New variable.
3520         (Fdefine_char): Don't use coded-charset which does not have
3521         non-builtin character range to allocate character-id.
3522         (Qmojikyo): New variable.
3523         (syms_of_mule_charset): Add new symbol `mojikyo'.
3524         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3525
3526         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3527         (LEADING_BYTE_MOJIKYO): New macro.
3528         (MIN_CHAR_MOJIKYO): New macro.
3529         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3530         (MAX_CHAR_MOJIKYO): New macro.
3531
3532 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3533
3534         * mule-charset.c (remove_char_attribute): Fixed.
3535
3536 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3537
3538         * mule-charset.c (remove_char_attribute): New function.
3539         (Fremove_char_attribute): New function.
3540         (encode_builtin_char_1): Comment out builtin-support for
3541         greek-iso8859-7 and cyrillic-iso8859-5.
3542         (Fdecode_char): Check `code' is an integer.
3543         (syms_of_mule_charset): Add `remove-char-attribute'.
3544         (MIN_CHAR_GREEK): Deleted.
3545         (MAX_CHAR_GREEK): Likewise.
3546         (MIN_CHAR_CYRILLIC): Likewise.
3547         (MAX_CHAR_CYRILLIC): Likewise.
3548         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3549         MAX_CHAR_GREEK for `greek-iso8859-7'.
3550
3551         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3552         (MAX_CHAR_GREEK): Likewise.
3553         (MIN_CHAR_CYRILLIC): Likewise.
3554         (MAX_CHAR_CYRILLIC): Likewise.
3555
3556 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3557
3558         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3559         format is used without `ucs' property.
3560         (Fdecode_char): Fix problem with GR representation.
3561         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3562         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3563
3564 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3565
3566         * mule-charset.c (make_builtin_char): New function.
3567         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3568         (Fset_charset_mapping_table): Modify for new representation of
3569         code-point.
3570         (Fdecode_char): New function.
3571         (syms_of_mule_charset): Add new builtin function `decode-char' in
3572         UTF-2000.
3573
3574         * char-ucs.h (make_builtin_char): New prototype.
3575         (DECODE_CHAR): New inline function.
3576         (MAKE_CHAR): Use `DECODE_CHAR'.
3577
3578 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3579
3580         * text-coding.c (parse_charset_conversion_specs): Use
3581         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3582         `XCHARSET_TYPE'.
3583         (iso2022_designate): Likewise.
3584
3585         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3586         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3587
3588         * mule-charset.c (Vcharset_ucs): New variable.
3589         (print_charset): Change design; use `CHARSET_CHARS' and
3590         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3591         (make_charset): Change signature to specify `chars' and
3592         `dimension' instead of `type'.
3593         (range_charset_code_point): Modify for 256^n-set.
3594         (encode_builtin_char_1): Encode as `ucs' in default.
3595         (Fmake_charset): Modify for `make_charset'.
3596         (Fmake_reverse_direction_charset): Likewise.
3597         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3598         UTF-2000.
3599         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3600         for `make_charset'.
3601
3602         * char-ucs.h (Vcharset_ucs): New variable.
3603         (LEADING_BYTE_UCS): New macro.
3604         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3605         and `chars' to `unsigned short' from `unsigned int'.
3606         (CHARSET_TYPE): Deleted.
3607         (XCHARSET_TYPE): Deleted.
3608
3609 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3610
3611         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3612
3613         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3614         (ENCODE_CHAR): New macro.
3615
3616 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3617
3618         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3619         to 0.14 (Kawachi-Katakami).
3620
3621 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3622
3623         * text-coding.c (char_encode_shift_jis): Modify for
3624         `charset_code_point'.
3625         (char_encode_iso2022): Likewise.
3626
3627         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3628         (integer) instead of list of <Lisp_Object>s (integers) as the
3629         format of code-point of a coded-charset.
3630         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3631         (encode_builtin_char_1): New function; delete
3632         `split_builtin_char'.
3633         (charset_code_point): Return <int> instead of <Lisp_Object>.
3634         (Fsplit_char): Don't use `SPLIT_CHAR'.
3635
3636         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3637         prototype for `split_builtin_char'.
3638         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3639         (charset_code_point): Likewise.
3640         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3641         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3642
3643 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3644
3645         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3646         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3647
3648 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3649
3650         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3651
3652         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3653         (MAX_CHAR_OBS_94x94): Deleted.
3654
3655 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3656
3657         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3658
3659         * char-ucs.h (MAX_CHAR_BMP): New macro.
3660
3661 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3662
3663         * text-coding.c: Sync with r21-2-24.
3664
3665 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3666
3667         * file-coding.c: Modify for UTF-2000.
3668
3669 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3670
3671         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3672         to 0.13 (Takaida).
3673
3674 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3675
3676         * mule-charset.c (split_builtin_char): Delete builtin support for
3677         `katakana-jisx0201'.
3678         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3679         BMP area in builtin representation.
3680
3681         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3682         `Vcharset_katakana_jisx0201'.
3683
3684 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3685
3686         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3687         (Qisolated): New variable.
3688         (Qinitial): New variable.
3689         (Qmedial): New variable.
3690         (Qfinal): New variable.
3691         (Qvertical): New variable.
3692         (Qsmall): New variable.
3693         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3694         `Qvertical' and `Qsmall'.
3695         (Qmojikyo_pj_[1 .. 21]): New variable.
3696         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3697         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3698         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3699         .. 21]'.
3700
3701 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3702
3703         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3704         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3705         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3706
3707 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3708
3709         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3710         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3711         BMP.
3712         (Qjapanese_jisx0208_1990): New variable.
3713         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3714         (complex_vars_of_mule_charset): Add new coded-charset
3715         `japanese-jisx0208-1990'.
3716
3717         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3718         (MIN_CHAR_JIS_X0208_1990): New macro.
3719         (MAX_CHAR_JIS_X0208_1990): New macro.
3720
3721 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3722
3723         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3724         coded-charset is not found.
3725
3726 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3727
3728         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3729         (Fdefine_char): Use `Fmake_char'.
3730
3731 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3732
3733         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3734         (Vcharset_hiragana_jisx0208): Deleted.
3735         (Vcharset_katakana_jisx0208): Deleted.
3736         (Qideograph_daikanwa): New variable.
3737         (Qhiragana_jisx0208): Deleted.
3738         (Qkatakana_jisx0208): Deleted.
3739         (split_builtin_char): Split `ideograph-daikanwa'.
3740         (Fsplit_char): New implementation for UTF-2000.
3741         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3742         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3743         (complex_vars_of_mule_charset): Add new coded-charset
3744         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3745         `katakana-jisx0208'.
3746
3747         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3748         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3749         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3750         (MIN_CHAR_DAIKANWA): New macro.
3751         (MAX_CHAR_DAIKANWA): New macro.
3752
3753 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3754
3755         * data.c (Fstring_to_number): Don't recognize floating point if
3756         base is not 10.
3757
3758 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3759
3760         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3761
3762 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3763
3764         * mule-charset.c (Qsquare): New variable.
3765         (to_char_code): Add `Qsquare'.
3766         (syms_of_mule_charset): Add new symbol `square'.
3767
3768 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3769
3770         * mule-charset.c (Qcircle): New variable.
3771         (to_char_code): Add `Qcircle'.
3772         (syms_of_mule_charset): Add new symbol `circle'.
3773
3774 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3775
3776         * mule-charset.c (Qfont): New variable.
3777         (to_char_code): Add `Qfont'.
3778         (syms_of_mule_charset): Add new symbol `font'.
3779
3780 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3781
3782         * mule-charset.c (Qsub): New variable.
3783         (to_char_code): Add `Qsub'.
3784         (syms_of_mule_charset): Add new symbol `sub'.
3785
3786 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3787
3788         * mule-charset.c (Fput_char_attribute): Convert each element of
3789         VALUE to GL position if ATTRIBUTE is a GR-set,
3790
3791 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3792
3793         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3794         coded-charset is a GR-set.
3795
3796 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3797
3798         * mule-charset.c (Fput_char_attribute): Check each element of
3799         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3800
3801 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3802
3803         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3804         UTF-2000.
3805         (Qethiopic_ucs): New variable in UTF-2000.
3806         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3807         (complex_vars_of_mule_charset): Add new coded-charset
3808         `ethiopic-ucs' in UTF-2000.
3809
3810         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3811         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3812         9)'.
3813         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3814         10)'.
3815         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3816
3817 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3818
3819         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3820         `ascii'.
3821
3822 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3823
3824         * mule-charset.c (Vcharacter_variant_table): New variable.
3825         (Q_ucs): New variable.
3826         (Fchar_variants): New function.
3827         (Fput_char_attribute): Register `->ucs' value to
3828         `Vcharacter_variant_table'.
3829         (syms_of_mule_charset): Add new function `char-variants' and new
3830         symbol `->ucs'.
3831         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3832
3833 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3834
3835         * mule-charset.c (get_char_code_table): Allow negative character
3836         code.
3837         (put_char_code_table): Likewise.
3838         (Vcharacter_composition_table): New variable.
3839         (Q_decomposition): New variable.
3840         (Qwide): New variable.
3841         (Qnarrow): New variable.
3842         (Qcompat): New variable.
3843         (QnoBreak): New variable.
3844         (Qsuper): New variable.
3845         (Qfraction): New variable.
3846         (to_char_code): New function.
3847         (Fget_composite_char): New function.
3848         (Fput_char_attribute): Register `->decomposition' value to
3849         `Vcharacter_composition_table'.
3850         (syms_of_mule_charset): Add new function `get-composite-char', new
3851         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3852         `super' and `fraction'.
3853         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3854
3855 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3856
3857         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3858         character; copy the return value.
3859
3860 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3861
3862         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3863
3864         * mule-charset.c (range_charset_code_point): Must use make_int.
3865         (split_builtin_char): New function.
3866
3867 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3868
3869         * mule-charset.c (char_byte_table): Change name from
3870         "char-code-table" to "char-byte-table".
3871         (mark_char_code_table): New function.
3872         (char_code_table_equal): New function.
3873         (char_code_table_hash): New function.
3874         (char_code_table_description): New constant.
3875         (char_code_table): New type.
3876         (make_char_code_table): New function.
3877         (copy_char_code_table): New function.
3878         (get_char_code_table): Modify for `char_code_table' type.
3879         (put_char_code_table): Likewise.
3880         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3881         (Kashiwara).
3882
3883         * char-ucs.h (char_code_table): New type.
3884         (XCHAR_CODE_TABLE): New macro.
3885         (XSETCHAR_CODE_TABLE): New macro.
3886         (CHAR_CODE_TABLE_P): New macro.
3887         (GC_CHAR_CODE_TABLE_P): New macro.
3888         (struct Lisp_Char_Code_Table): New structure.
3889
3890 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3891
3892         * mule-charset.c (Fmake_charset): Setup byte_offset for
3893         {94|96}^n-set.
3894
3895 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3896
3897         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3898         character.
3899
3900 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3901
3902         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3903         is found.
3904
3905 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3906
3907         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3908         charset, it is regarded as a charset.
3909         (put_char_attribute): New function in UTF-2000.
3910         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3911         charset, mapping-table of the charset is modified.
3912         (Fdefine_char): New function in UTF-2000.
3913         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3914         `Fput_char_attribute'.
3915         (syms_of_mule_charset): Add new function `define-char' and new
3916         symbol `ucs' in UTF-2000.
3917         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3918
3919 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3920
3921         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3922         non-UTF-2000 configuration.
3923
3924 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3925
3926         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3927         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3928
3929         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3930         deleted.
3931         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3932         (Fset_charset_mapping_table): Likewise.
3933
3934         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3935         (CHARSET_ENCODING_TABLE): Delete.
3936         (XCHARSET_ENCODING_TABLE): Delete.
3937         (charset_code_point): New interface.
3938
3939 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3940
3941         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3942         instead of `charset_get_byte1' and `charset_get_byte2'.
3943
3944         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3945         (charset_get_byte2): Deleted.
3946
3947 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3948
3949         * char-ucs.h (SPLIT_CHAR): New inline function.
3950         (breakup_char_1): Use `SPLIT_CHAR'.
3951
3952         * mule-charset.c (range_charset_code_point): New function.
3953         (charset_code_point): New function.
3954
3955         * char-ucs.h (range_charset_code_point): New interface.
3956         (breakup_char_1): Use `range_charset_code_point'.
3957
3958 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3959
3960         * mule-charset.c (Fmake_charset): Delete unused local variable
3961         `code_offset'.
3962
3963         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3964         (breakup_char_1): Find a charset and code-point in
3965         `Vcharacter_attribute_table'.
3966
3967 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3968
3969         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3970         to 0.10 (Yao).
3971
3972 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3973
3974         * mule-charset.c (Vcharacter_attribute_table): New variable.
3975         (Fchar_attribute_alist): New function.
3976         (Fget_char_attribute): New function.
3977         (Fput_char_attribute): New function.
3978         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3979         too.
3980         (syms_of_mule_charset): Add new function `char-attribute-alist',
3981         `get-char-attribute' and `put-char-attribute'.
3982         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3983
3984 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3985
3986         * mule-charset.c (Fmake_charset): Just use
3987         `get_unallocated_leading_byte'.
3988
3989         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3990         sets; don't use final-byte based number for private sets.
3991
3992 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3993
3994         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3995         integer.
3996
3997 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3998
3999         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4000         to 0.9.
4001
4002 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4003
4004         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4005         of `CHAR_LEADING_BYTE' in UTF-2000.
4006
4007         * insdel.c (find_charsets_in_bufbyte_string): Use
4008         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4009         (find_charsets_in_emchar_string): Likewise.
4010
4011         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4012         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4013
4014         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4015         (CHAR_CHARSET_ID): New macro.
4016
4017 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4018
4019         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4020         charset-id - MIN_LEADING_BYTE.
4021         (put_char_table): Likewise.
4022
4023 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4024
4025         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4026         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4027         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4028         (CHARSET_ID_OFFSET): New macro.
4029         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4030         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4031         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4032         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4033         4).
4034         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4035         5).
4036         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4037         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4038         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4039         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4040         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4041
4042 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4043
4044         * mule-charset.c (next_allocated_leading_byte): New variable in
4045         UTF-2000.
4046         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4047         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4048         (get_unallocated_leading_byte): Simply use
4049         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4050         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4051         UTF-2000.
4052
4053         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4054         (MAX_LEADING_BYTE_PRIVATE): New macro.
4055         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4056         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4057
4058 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4059
4060         * mule-charset.c (Fmake_charset): Allocate final-byte based
4061         charset-id for 94-set, 96-set and 94x94-set.
4062
4063 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4064
4065         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4066         ambiguous `else'.
4067         (Fmake_charset): Likewise.
4068         (complex_vars_of_mule_charset): Modify the font registry of
4069         `ucs-bmp' not to match `Ethiopic-Unicode'.
4070
4071 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4072
4073         * mule-charset.c (complex_vars_of_mule_charset): Add font
4074         registory of `ucs-bmp'.
4075
4076 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4077
4078         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4079         coded-charsets in `default-coded-charset-priority-list' when
4080         breaking up a character.
4081
4082         * mule-charset.c (Vcharset_latin_viscii): New variable.
4083         (Qlatin_viscii): New variable.
4084         (make_charset): Don't use `decoding_table'.
4085         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4086         byte_offset.
4087         (Fset_charset_mapping_table): New implementation.
4088         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4089         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4090         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4091         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4092         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4093         charset `latin_viscii'.
4094
4095         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4096         (CHARSET_TYPE_94X94): Change to 1 from 2.
4097         (CHARSET_TYPE_96): Change to 2 from 1.
4098         (CHARSET_TYPE_128): New macro.
4099         (CHARSET_TYPE_128X128): Change to 5 from 4.
4100         (CHARSET_TYPE_256): New macro.
4101         (CHARSET_TYPE_256X256): Change to 7 from 5.
4102         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4103
4104 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4105
4106         * text-coding.c (char_encode_shift_jis): Refer
4107         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4108         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4109
4110         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4111         (char_byte_table_equal): New function in UTF-2000.
4112         (char_byte_table_hash): New function in UTF-2000.
4113         (char_byte_table_description): New constant in UTF-2000.
4114         (char_byte_table): New type in UTF-2000.
4115         (make_char_byte_table): New function in UTF-2000.
4116         (copy_char_byte_table): New function in UTF-2000.
4117         (make_char_code_table): New macro in UTF-2000.
4118         (get_char_code_table): New function in UTF-2000.
4119         (put_char_code_table): New function in UTF-2000.
4120         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4121         (charset_description): Add setting in UTF-2000.
4122         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4123         `CHARSET_TO_BYTE1_TABLE(cs)'.
4124         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4125         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4126         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4127         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4128         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4129         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4130         `CHARSET_TO_BYTE2_TABLE(cs)'.
4131
4132         * char-ucs.h (char_byte_table): New type.
4133         (XCHAR_BYTE_TABLE): New macro.
4134         (XSETCHAR_BYTE_TABLE): New macro.
4135         (CHAR_BYTE_TABLE_P): New macro.
4136         (GC_CHAR_BYTE_TABLE_P): New macro.
4137         (struct Lisp_Char_Byte_Table): New structure.
4138         (get_char_code_table): New interface.
4139         (Emchar_to_byte_table): Deleted.
4140         (get_byte_from_character_table): Deleted.
4141         (struct Lisp_Charset): Add `encoding_table'; delete
4142         `to_byte1_table' and `to_byte2_table'.
4143         (CHARSET_ENCODING_TABLE): New macro.
4144         (CHARSET_TO_BYTE1_TABLE): Deleted.
4145         (CHARSET_TO_BYTE2_TABLE): Deleted.
4146         (XCHARSET_ENCODING_TABLE): New macro.
4147         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4148         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4149
4150 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4151
4152         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4153         `vietnamese-viscii-*'.
4154
4155 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4156
4157         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4158         (Qvietnamese_viscii_upper): New variable.
4159         (Fdefine_charset_alias): New function.
4160         (syms_of_mule_charset): Add new function `define-charset-alias'.
4161         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4162         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4163         `latin-viscii-*'.
4164
4165 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4166
4167         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4168         (MAX_CHAR_OBS_94x94): New macro.
4169         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4170         for 94x94 sets.
4171
4172         * mule-charset.c (put_byte_from_character_table): Change unit size
4173         from 128 to 256.
4174         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4175         not defined.
4176         (Fmake_reverse_direction_charset): Modify dummy argument of
4177         `make_charset' for non-UTF-2000 environment.
4178
4179 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4180
4181         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4182
4183         * mule-charset.c (destroy_byte_from_character_table): New macro.
4184         (latin_jisx0201_to_ucs): Deleted.
4185         (latin_iso8859_2_to_ucs): Deleted.
4186         (latin_iso8859_3_to_ucs): Deleted.
4187         (latin_iso8859_4_to_ucs): Deleted.
4188         (latin_iso8859_9_to_ucs): Deleted.
4189         (latin_viscii_lower_to_ucs): Deleted.
4190         (latin_viscii_upper_to_ucs): Deleted.
4191         (mark_charset): Mark `cs->decoding_table'.
4192         (Fcharset_mapping_table): Fix DOC-string.
4193         (Fset_charset_mapping_table): New function.
4194         (syms_of_mule_charset): Add nwe function
4195         `set-charset-mapping-table'.
4196         (complex_vars_of_mule_charset): Don't setup and use
4197         `latin_*_to_ucs'.
4198
4199 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4200
4201         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4202         charset.
4203
4204 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4205
4206         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4207         (Vcharset_katakana_jisx0208): New variable.
4208         (Qhiragana_jisx0208): New variable.
4209         (Qkatakana_jisx0208): New variable.
4210         (make_charset): Add new argument `byte_offset'.
4211         (charset_get_byte1): Modify for new coded-charset definition; use
4212         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4213         `XCHARSET_BYTE_OFFSET'.
4214         (Fmake_charset): Modify for `make_charset'.
4215         (Fmake_reverse_direction_charset): Likewise.
4216         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4217         `katakana-jisx0208'.
4218         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4219         `.'  in font registry of charset `katakana-jisx0201',
4220         `latin-jisx0201', `vietnamese-viscii-lower' and
4221         `vietnamese-viscii-upper'; modify DOC-string of charset
4222         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4223         registry of charset `japanese-jisx0208' not to use font for JIS
4224         X0208:1990; add new charset `hiragana-jisx0208' and
4225         `katakana-jisx0208'.
4226
4227         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4228         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4229         (struct Lisp_Charset): Add `byte_offset'.
4230         (CHARSET_BYTE_OFFSET): New macro.
4231         (XCHARSET_UCS_MIN): New macro.
4232         (XCHARSET_UCS_MAX): New macro.
4233         (XCHARSET_CODE_OFFSET): New macro.
4234         (XCHARSET_BYTE_OFFSET): New macro.
4235         (MIN_CHAR_HIRAGANA): New macro.
4236         (MAX_CHAR_HIRAGANA): New macro.
4237         (MIN_CHAR_KATAKANA): New macro.
4238         (MAX_CHAR_KATAKANA): New macro.
4239         (MAKE_CHAR): Modify for new coded-charset definition; use
4240         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4241         `XCHARSET_BYTE_OFFSET'.
4242
4243 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4244
4245         * mule-charset.c (CHAR96): Deleted.
4246         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4247         <Lisp_Object>.
4248         (latin_iso8859_2_to_ucs): Likewise.
4249         (latin_iso8859_3_to_ucs): Likewise.
4250         (latin_iso8859_4_to_ucs): Likewise.
4251         (latin_iso8859_9_to_ucs): Likewise.
4252         (latin_viscii_lower_to_ucs): Likewise.
4253         (latin_viscii_upper_to_ucs): Likewise.
4254         (latin_tcvn5712_to_ucs): Commented out.
4255         (make_charset): Change type of argument `decoding_table' from
4256         <Emchar*> to <Lisp_Object> [vector of characters].
4257         (Fmake_charset): Modify for `make_charset'.
4258         (Fmake_reverse_direction_charset): Likewise.
4259         (Fcharset_mapping_table): New function in UTF-2000.
4260         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4261         UTF-2000.
4262         (complex_vars_of_mule_charset): Modify for type change of
4263         `*_to_ucs'; modify for `make_charset'.
4264
4265         * char-ucs.h (struct Lisp_Charset): Change type of
4266         `decoding_table' from <Emchar*> to <Lisp_Object>.
4267         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4268
4269 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4270
4271         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4272         error with non-UTF-2000-Mule.
4273
4274 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4275
4276         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4277         in lisp again].
4278         (Vcharset_chinese_cns11643_4): Likewise.
4279         (Vcharset_chinese_cns11643_5): Likewise.
4280         (Vcharset_chinese_cns11643_6): Likewise.
4281         (Vcharset_chinese_cns11643_7): Likewise.
4282         (Qchinese_cns11643_3): Likewise.
4283         (Qchinese_cns11643_4): Likewise.
4284         (Qchinese_cns11643_5): Likewise.
4285         (Qchinese_cns11643_6): Likewise.
4286         (Qchinese_cns11643_7): Likewise.
4287         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4288         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4289         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4290         (complex_vars_of_mule_charset): Likewise.
4291
4292 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4293
4294         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4295         96-set.
4296         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4297         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4298
4299 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4300
4301         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4302         0xFF60.
4303         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4304         (breakup_char_1): Likewise.
4305
4306         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4307         one of them includes the specified character.
4308
4309 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4310
4311         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4312
4313 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4314
4315         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4316
4317 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4318
4319         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4320         definition for non-UTF-2000 Mule.
4321         (latin_iso8859_3_to_ucs): Likewise.
4322         (latin_iso8859_4_to_ucs): Likewise.
4323         (latin_iso8859_9_to_ucs): Likewise.
4324         (latin_jisx0201_to_ucs): Likewise.
4325         (MIN_CHAR_THAI): Likewise.
4326         (MAX_CHAR_THAI): Likewise.
4327         (MIN_CHAR_GREEK): Likewise.
4328         (MAX_CHAR_GREEK): Likewise.
4329         (MIN_CHAR_HEBREW): Likewise.
4330         (MAX_CHAR_HEBREW): Likewise.
4331         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4332         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4333         (MIN_CHAR_CYRILLIC): Likewise.
4334         (MAX_CHAR_CYRILLIC): Likewise.
4335
4336 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4337
4338         * char-ucs.h (breakup_char_1): Use
4339         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4340         thai-tis620 and katakana-jisx0201 area.
4341
4342 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4343
4344         * char-ucs.h (breakup_char_1): Use
4345         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4346         area.
4347
4348         * text-coding.c (reset_encoding_stream): Fixed.
4349         (char_encode_ucs4): Delete `& 255'.
4350
4351         * char-ucs.h (breakup_char_1): Use
4352         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4353
4354 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4355
4356         * file-coding.c (Fmake_coding_system): Don't set up
4357         `codesys->fixed.size'.
4358         (encode_coding_no_conversion): Don't refer
4359         `str->codesys->fixed.size'.
4360
4361 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4362
4363         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4364         (latin_a_char_to_byte1): Deleted.
4365         (latin_a_char_to_byte2): Deleted.
4366
4367 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4368
4369         * mule-charset.c (make_charset): Add new argument `ucs_min',
4370         `ucs_max' and `code_offset'.
4371         (charset_get_byte1): New implementation [delete specific charset
4372         depended implementations].
4373         (Fmake_charset): Modify for `make_charset'.
4374         (Fmake_reverse_direction_charset): Likewise.
4375         (complex_vars_of_mule_charset): Likewise.
4376
4377         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4378         `code_offset'.
4379         (CHARSET_UCS_MIN): New macro.
4380         (CHARSET_UCS_MAX): New macro.
4381         (CHARSET_CODE_OFFSET): New macro.
4382         (MAKE_CHAR): Delete charset depended definitions [except
4383         katakana-jisx0201].
4384
4385 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4386
4387         * char-ucs.h (breakup_char_1): Use
4388         `Vdefault_coded_charset_priority_list' for C0-Controls,
4389         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4390
4391 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4392
4393         * char-ucs.h (charset_get_byte1): New function.
4394         (XCHARSET_GET_BYTE1): Deleted.
4395         (charset_get_byte2): New function.
4396         (XCHARSET_GET_BYTE2): Deleted.
4397         (Vdefault_coded_charset_priority_list): New external variable.
4398         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4399         `Vdefault_preferred_coded_charset_list'.
4400
4401         * mule-charset.c (charset_get_byte1): New function.
4402         (charset_get_byte2): New function.
4403         (Vdefault_coded_charset_priority_list): New variable.
4404         (vars_of_mule_charset): Add new variable
4405         `default-coded-charset-priority-list'.
4406
4407 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4408
4409         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4410         (XCHARSET_GET_BYTE2): New inline function.
4411         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4412         `XCHARSET_GET_BYTE2'.
4413
4414 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4415
4416         * mule-charset.c (make_charset): Initialize
4417         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4418         NULL if table is not defined.
4419
4420 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4421
4422         * text-coding.c (char_encode_shift_jis): Use
4423         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4424         `ucs_to_latin_jisx0201'.
4425
4426         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4427         (ucs_to_latin_iso8859_2): Deleted.
4428         (ucs_to_latin_iso8859_3): Deleted.
4429         (ucs_to_latin_iso8859_4): Deleted.
4430         (ucs_to_latin_iso8859_9): Deleted.
4431         (ucs_to_latin_viscii_lower): Deleted.
4432         (ucs_to_latin_viscii_upper): Deleted.
4433         (ucs_to_latin_tcvn5712): Deleted.
4434         (make_charset): Add new argument `decoding_table'; set up
4435         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4436         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4437         `decoding_table' is defined in UTF-2000.
4438         (Fmake_charset): Modify for `make_charset'.
4439         (Fmake_reverse_direction_charset): Likewise.
4440         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4441         and `GENERATE_96_SET'.
4442
4443         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4444         (ucs_to_latin_jisx0201): Deleted.
4445         (latin_iso8859_2_to_ucs): Deleted.
4446         (ucs_to_latin_iso8859_2): Deleted.
4447         (latin_iso8859_3_to_ucs): Deleted.
4448         (ucs_to_latin_iso8859_3): Deleted.
4449         (latin_iso8859_4_to_ucs): Deleted.
4450         (ucs_to_latin_iso8859_4): Deleted.
4451         (latin_iso8859_9_to_ucs): Deleted.
4452         (ucs_to_latin_iso8859_9): Deleted.
4453         (latin_viscii_lower_to_ucs): Deleted.
4454         (ucs_to_latin_viscii_lower): Deleted.
4455         (latin_viscii_upper_to_ucs): Deleted.
4456         (ucs_to_latin_viscii_upper): Deleted.
4457         (struct Lisp_Charset): Renamed `encoding_table' to
4458         `to_byte1_table'; add `to_byte2_table'.
4459         (CHARSET_DECODING_TABLE): New macro.
4460         (CHARSET_TO_BYTE1_TABLE): New macro.
4461         (CHARSET_TO_BYTE2_TABLE): New macro.
4462         (XCHARSET_DECODING_TABLE): New macro.
4463         (XCHARSET_TO_BYTE1_TABLE): New macro.
4464         (XCHARSET_TO_BYTE2_TABLE): New macro.
4465         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4466         tables.
4467         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4468         don't use `ucs_to_*' tables.
4469
4470 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4471
4472         * text-coding.c (Fmake_coding_system): Don't set up
4473         `codesys->fixed.size'.
4474         (encode_coding_no_conversion): Use `if' instead of `switch'.
4475
4476         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4477
4478 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4479
4480         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4481         (Fmake_charset): Modify for `make_charset'.
4482         (Fmake_reverse_direction_charset): Likewise.
4483         (complex_vars_of_mule_charset): Likewise.
4484
4485 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4486
4487         * text-coding.c (char_encode_shift_jis): Use table
4488         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4489
4490 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4491
4492         * text-coding.c (text_encode_generic): Use `if' instead of
4493         `switch'.
4494         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4495         decode JIS-Latin.
4496
4497 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4498
4499         * text-coding.c (encode_coding_sjis): Deleted.
4500         (char_encode_shift_jis): New function.
4501         (char_finish_shift_jis): New function.
4502         (reset_encoding_stream): Set up `encode_char' and `finish' for
4503         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4504         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4505         (char_encode_utf8): Treat `eol_type'.
4506
4507 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4508
4509         * file-coding.c (decode_coding_iso2022): Use
4510         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4511
4512 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4513
4514         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4515         to 0.7 (Hirano).
4516
4517 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4518
4519         * char-lb.h (CHAR_COLUMNS): New macro.
4520
4521 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4522
4523         * text-coding.c (char_encode_ucs4): New function.
4524         (char_finish_ucs4): New function.
4525         (encode_coding_ucs4): Deleted.
4526         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4527         (text_encode_generic): Delete local variable `charset' and `half'.
4528         (ucs_to_mule_table): Deleted.
4529         (mule_to_ucs_table): Deleted.
4530         (Fset_ucs_char): Deleted.
4531         (ucs_to_char): Deleted.
4532         (Fucs_char): Deleted.
4533         (Fset_char_ucs): Deleted.
4534         (Fchar_ucs): Deleted.
4535         (decode_ucs4): Deleted.
4536         (mule_char_to_ucs4): Deleted.
4537         (encode_ucs4): Deleted.
4538         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4539         (decode_coding_utf8): Likewise.
4540         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4541         (char_encode_iso2022): Fixed.
4542         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4543         `Fset_char_ucs' and `Fchar_ucs'.
4544         (complex_vars_of_file_coding): Don't initialize
4545         `ucs_to_mule_table'.
4546
4547         * objects-tty.c (tty_initialize_font_instance): Don't use
4548         `XCHARSET_COLUMNS'.
4549
4550         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4551         UTF-2000.
4552
4553         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4554         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4555
4556         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4557         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4558         (emchar_string_displayed_columns): Likewise.
4559
4560         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4561         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4562         (string_column_at_point): Likewise.
4563         (Fmove_to_column): Likewise.
4564
4565         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4566         `encoding_table' and `decoding_table'.
4567         (CHARSET_REP_BYTES): Deleted.
4568         (XCHARSET_REP_BYTES): Deleted.
4569         (XCHARSET_COLUMNS): Deleted.
4570         (CHAR_COLUMNS): New macro.
4571         (lookup_composite_char): Deleted unconditionally.
4572         (composite_char_string): Likewise.
4573
4574 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4575
4576         * char-ucs.h (Emchar_to_byte_table): New type.
4577         (get_byte_from_character_table): New function interface.
4578         (Vcharset_latin_jisx0201): New variable.
4579         (latin_jisx0201_to_ucs): New variable.
4580         (ucs_to_latin_jisx0201): New variable.
4581         (Vcharset_latin_iso8859_2): New variable.
4582         (latin_iso8859_2_to_ucs): New variable.
4583         (ucs_to_latin_iso8859_2): New variable.
4584         (Vcharset_latin_iso8859_3): New variable.
4585         (latin_iso8859_3_to_ucs): New variable.
4586         (ucs_to_latin_iso8859_3): New variable.
4587         (Vcharset_latin_iso8859_4): New variable.
4588         (latin_iso8859_4_to_ucs): New variable.
4589         (ucs_to_latin_iso8859_4): New variable.
4590         (Vcharset_latin_iso8859_9): New variable.
4591         (latin_iso8859_9_to_ucs): New variable.
4592         (ucs_to_latin_iso8859_9): New variable.
4593         (Vcharset_latin_viscii_lower): New variable.
4594         (latin_viscii_lower_to_ucs): New variable.
4595         (ucs_to_latin_viscii_lower): New variable.
4596         (Vcharset_latin_viscii_upper): New variable.
4597         (latin_viscii_upper_to_ucs): New variable.
4598         (ucs_to_latin_viscii_upper): New variable.
4599         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4600         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4601         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4602         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4603         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4604         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4605         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4606         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4607         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4608         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4609
4610         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4611         (Vcharset_latin_viscii_upper): New variable.
4612         (make_byte_from_character_table): New function.
4613         (put_byte_from_character_table): New function.
4614         (get_byte_from_character_table): New function.
4615         (CHAR96): New macro.
4616         (ucs_to_latin_jisx0201): New variable.
4617         (latin_jisx0201_to_ucs): New variable.
4618         (ucs_to_latin_iso8859_2): New variable.
4619         (latin_iso8859_2_to_ucs): New variable.
4620         (ucs_to_latin_iso8859_3): New variable.
4621         (latin_iso8859_3_to_ucs): New variable.
4622         (ucs_to_latin_iso8859_4): New variable.
4623         (latin_iso8859_4_to_ucs): New variable.
4624         (ucs_to_latin_iso8859_9): New variable.
4625         (latin_iso8859_9_to_ucs): New variable.
4626         (ucs_to_latin_viscii_lower): New variable.
4627         (latin_viscii_lower_to_ucs): New variable.
4628         (ucs_to_latin_viscii_upper): New variable.
4629         (latin_viscii_upper_to_ucs): New variable.
4630         (ucs_to_latin_tcvn5712): New variable.
4631         (latin_tcvn5712_to_ucs): New variable.
4632         (Qlatin_viscii_lower): New variable.
4633         (Qlatin_viscii_upper): New variable.
4634         (syms_of_mule_charset): Set up new symbol
4635         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4636         (complex_vars_of_mule_charset): Set up new charset
4637         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4638         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4639         `ucs_to_<CHARSET>' tables.
4640
4641 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4642
4643         * text-coding.c: New file.
4644
4645 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4646
4647         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4648
4649         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4650         (MAKE_CHAR): Modify for `ucs-bmp'.
4651         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4652         non-MULE characters of BMP.
4653
4654 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4655
4656         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4657         to 0.6.
4658
4659 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4660
4661         * lstream.h:
4662         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4663         - Include character.h for `CHAR_ASCII_P'.
4664
4665         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4666
4667         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4668         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4669
4670         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4671         (BYTE_C0_P): Likewise.
4672         (BYTE_C1_P): Likewise.
4673         (Lstream_get_emchar_1): Likewise.
4674         (Lstream_fput_emchar): Likewise.
4675         (Lstream_funget_emchar): Likewise.
4676         (copy_internal_to_external): Likewise.
4677         (copy_external_to_internal): Likewise.
4678
4679         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4680         (BYTE_C0_P): Likewise.
4681         (BYTE_C1_P): Likewise.
4682         (Lstream_get_emchar_1): Likewise.
4683         (Lstream_fput_emchar): Likewise.
4684         (Lstream_funget_emchar): Likewise.
4685         (copy_internal_to_external): Likewise.
4686         (copy_external_to_internal): Likewise.
4687
4688         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4689         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4690
4691         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4692         (BYTE_ASCII_P): Moved to mb-1byte.h.
4693
4694 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4695
4696         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4697
4698         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4699         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4700         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4701         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4702         (VALIDATE_CHARPTR_FORWARD): Likewise.
4703         (simple_charptr_emchar): Moved to mb-multibyte.h.
4704         (simple_set_charptr_emchar): Likewise.
4705         (simple_charptr_copy_char): Likewise.
4706         (non_ascii_charptr_emchar): Likewise.
4707         (non_ascii_set_charptr_emchar): Likewise.
4708         (non_ascii_charptr_copy_char): Likewise.
4709         (charptr_emchar): Moved to mb-*byte.h.
4710         (set_charptr_emchar): Likewise.
4711         (charptr_copy_char): Likewise.
4712
4713         * mb-1byte.h, mb-multibyte.h: New files.
4714
4715 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4716
4717         * mb-utf-8.h (MULTIBYTE): New macro.
4718         (MAX_EMCHAR_LEN): Moved from buffer.h.
4719         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4720
4721         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4722
4723         * mb-lb.h, multibyte.h: New files.
4724
4725         * char-1byte.h (Charset_ID): Moved from buffer.h.
4726         (MIN_LEADING_BYTE): Likewise.
4727         (LEADING_BYTE_ASCII): Likewise.
4728         (NUM_LEADING_BYTES): Likewise.
4729         (CHARSETP): Likewise.
4730         (CHARSET_BY_LEADING_BYTE): Likewise.
4731         (XCHARSET_LEADING_BYTE): Likewise.
4732         (XCHARSET_GRAPHIC): Likewise.
4733         (XCHARSET_COLUMNS): Likewise.
4734         (XCHARSET_DIMENSION): Likewise.
4735         (CHAR_CHARSET): Likewise.
4736         (CHAR_LEADING_BYTE): Likewise.
4737         (BREAKUP_CHAR): Likewise.
4738         (Vcharset_ascii): Likewise.
4739
4740         * buffer.h: Include multibyte.h unconditionally.
4741         (VALID_CHARPTR_P): Moved to multibyte.h.
4742         (ASSERT_VALID_CHARPTR): Likewise.
4743         (REAL_INC_CHARPTR): Likewise.
4744         (REAL_INC_CHARBYTIND): Likewise.
4745         (REAL_DEC_CHARPTR): Likewise.
4746         (INC_CHARPTR): Likewise.
4747         (INC_CHARBYTIND): Likewise.
4748         (DEC_CHARPTR): Likewise.
4749         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4750         (VALIDATE_CHARPTR_FORWARD): Likewise.
4751         (charptr_n_addr): Likewise.
4752         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4753         (simple_charptr_emchar): Moved to multibyte.h.
4754         (simple_set_charptr_emchar): Likewise.
4755         (simple_charptr_copy_char): Likewise.
4756         (non_ascii_charptr_emchar): Likewise.
4757         (non_ascii_set_charptr_emchar): Likewise.
4758         (non_ascii_charptr_copy_char): Likewise.
4759         (charptr_emchar): Likewise.
4760         (set_charptr_emchar): Likewise.
4761         (charptr_copy_char): Likewise.
4762         (charptr_emchar_n): Likewise.
4763         (Charset_ID): Moved to char-1byte.h.
4764         (Vcharset_ascii): Likewise.
4765         (CHAR_CHARSET): Likewise.
4766         (CHAR_LEADING_BYTE): Likewise.
4767         (LEADING_BYTE_ASCII): Likewise.
4768         (NUM_LEADING_BYTES): Likewise.
4769         (MIN_LEADING_BYTE): Likewise.
4770         (CHARSETP): Likewise.
4771         (CHARSET_BY_LEADING_BYTE): Likewise.
4772         (XCHARSET_LEADING_BYTE): Likewise.
4773         (XCHARSET_GRAPHIC): Likewise.
4774         (XCHARSET_COLUMNS): Likewise.
4775         (XCHARSET_DIMENSION): Likewise.
4776         (BREAKUP_CHAR): Likewise.
4777
4778 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4779
4780         * character.h: Add document about interface for characters.
4781
4782         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4783         (MAKE_CHAR): Delete comment about
4784         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4785         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4786         (BREAKUP_CHAR): Modify name of arguments.
4787         (CHAR_CHARSET): Modify name of argument.
4788
4789         * buffer.h: Delete document about Emchar accessors.
4790
4791 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4792
4793         * character.h (CHAR_INTP): Moved from buffer.h
4794         (CHAR_OR_CHAR_INTP): Likewise.
4795         (XCHAR_OR_CHAR_INT): Likewise.
4796         (CHECK_CHAR_COERCE_INT): Likewise.
4797
4798         * buffer.h (CHAR_INTP): Moved to character.h
4799         (CHAR_OR_CHAR_INTP): Likewise.
4800         (XCHAR_OR_CHAR_INT): Likewise.
4801         (CHECK_CHAR_COERCE_INT): Likewise.
4802
4803 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4804
4805         * character.h:
4806         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4807         - Include char-1byte.h, char-lb.h or char-ucs.h.
4808
4809         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4810
4811         * buffer.h: Include character unconditionally.
4812         (valid_char_p): Moved to char-*.h.
4813         (non_ascii_valid_char_p): Moved to char-lb.h.
4814
4815         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4816
4817 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4818
4819         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4820         in UTF-2000 because it is not ported yet and not to use
4821         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4822         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4823         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4824
4825         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4826         (CHAR_ASCII_P): Moved from character.h.
4827
4828         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4829         (CHAR_ASCII_P): Likewise.
4830         (CHAR_FIELD1_MASK): Deleted.
4831         (CHAR_FIELD2_MASK): Deleted.
4832         (CHAR_FIELD3_MASK): Deleted.
4833         (MAX_CHAR_BASIC_LATIN): New macro.
4834         (CHAR_FIELD1): Deleted.
4835         (CHAR_FIELD2_INTERNAL): Deleted.
4836         (CHAR_FIELD3_INTERNAL): Deleted.
4837         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4838         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4839         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4840         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4841         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4842         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4843         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4844         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4845         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4846         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4847         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4848         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4849         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4850         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4851         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4852         (MIN_CHAR_COMPOSITION): Deleted.
4853         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4854         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4855
4856 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4857
4858         * buffer.h: Include mb-utf-8.h in UTF-2000.
4859
4860         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4861
4862         * mb-utf-8.h: New file.
4863
4864 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4865
4866         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4867         instead of `int'.
4868
4869         * mule-charset.h, buffer.h (Charset_ID): New type.
4870
4871 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4872
4873         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4874         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4875         instead of `MULE_CHAR_PRIVATE_OFFSET',
4876         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4877         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4878         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4879
4880         * character.h (Vcharset_japanese_jisx0212): New variable
4881         definition.
4882
4883 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4884
4885         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4886         (charset_by_attributes): Delete array about direction.
4887         (latin_a_char_to_charset): New variable in UTF-2000.
4888         (latin_a_char_to_byte1): New variable in UTF-2000.
4889         (latin_a_char_to_byte2): New variable in UTF-2000.
4890         (Qucs_bmp): New variable.
4891         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4892         `Bufbyte'.
4893         (next_allocated_2_byte_leading_byte): Likewise.
4894         (non_ascii_set_charptr_emchar): Likewise.
4895         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4896         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4897         `charset_by_attributes'.
4898         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4899         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4900         and `CHARSET_BY_LEADING_BYTE'.
4901         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4902         `utf-2000-version' to `vars_of_mule_charset'.
4903         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4904         define `leading-code-private-11' in UTF-2000; move setting of
4905         `utf-2000-version' from `syms_of_mule_charset'.
4906         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4907         UTF-2000.
4908
4909         * character.h (Charset_ID): New type.
4910         (LEADING_BYTE_UCS_BMP): New macro.
4911         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4912         (CHARSET_ID_OFFSET_94): New macro.
4913         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4914         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4915         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4916         final-byte.
4917         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4918         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4919         (CHARSET_ID_OFFSET_96): New macro.
4920         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4921         CHARSET_ID_OFFSET_96 and final-byte.
4922         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4923         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4924         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4925         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4926         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4927         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4928         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4929         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4930         (LEADING_BYTE_THAI_TIS620): Likewise.
4931         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4932         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4933         (CHARSET_ID_OFFSET_94x94): New macro.
4934         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4935         CHARSET_ID_OFFSET_94x94 and final-byte.
4936         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4937         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4938         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4939         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4940         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4941         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4942         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4943         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4944         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4945         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4946         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4947         (CHARSET_TYPE_128X128): New macro.
4948         (CHARSET_TYPE_256X256): New macro.
4949         (XCHARSET_PRIVATE_P): Delete unconditionally.
4950         (charset_by_attributes): Delete array about direction.
4951         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4952         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4953         (MIN_CHAR_94): New macro.
4954         (MAX_CHAR_94): New macro.
4955         (MIN_CHAR_96): New macro.
4956         (MAX_CHAR_96): New macro.
4957         (MIN_CHAR_94x94): New macro.
4958         (MAX_CHAR_94x94): New macro.
4959         (MIN_CHAR_96x96): New macro.
4960         (MAX_CHAR_96x96): New macro.
4961         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4962         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4963         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4964         - 32)'.
4965         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4966         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4967         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4968         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4969         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4970         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4971         `XCHARSET_LEADING_BYTE' to make code-point.
4972         (latin_a_char_to_charset): New variable.
4973         (latin_a_char_to_byte1): New variable.
4974         (latin_a_char_to_byte2): New variable.
4975         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4976         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4977         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4978
4979         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4980         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4981         (find_charsets_in_emchar_string): Likewise.
4982         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4983
4984         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4985         `int'.
4986         (decode_coding_iso2022): Likewise.
4987
4988         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4989         of `unsigned char'.
4990
4991         * redisplay.c (redisplay_text_width_emchar_string): Use
4992         `Charset_ID' instead of `unsigned char'.
4993         (redisplay_frame_text_width_string): Likewise.
4994
4995         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4996         `unsigned char'.
4997
4998         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4999         instead of `unsigned char'.
5000         (face_cachel_charset_font_metric_info): Likewise.
5001
5002         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5003         (get_non_ascii_char_table_value): Likewise.
5004         (get_char_table): Likewise.
5005         (put_char_table): Likewise.
5006         (map_over_other_charset): Likewise.
5007         (map_char_table): Likewise.
5008
5009         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5010         instead of `unsigned char'.
5011
5012 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5013
5014         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5015         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5016
5017         * mule-charset.c (leading_code_private_11): Don't define in
5018         UTF-2000.
5019
5020         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5021         in UTF-2000 because it is not ported yet and not to use
5022         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5023
5024 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5025
5026         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5027
5028 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5029
5030         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5031         in UTF-2000.
5032
5033         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5034         of unsigned char to store leading-byte.
5035
5036         * chartab.c (get_non_ascii_char_table_value): Don't use
5037         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5038
5039         * file-coding.c (encode_coding_big5): Delete bogus implementation
5040         in UTF2000.
5041
5042         * character.h (LEADING_BYTE_*): Delete definition for
5043         non-UTF-2000.
5044         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5045         (LEADING_BYTE_PREFIX_P): Deleted.
5046         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5047         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5048         (BUFBYTE_LEADING_BYTE_P): Deleted.
5049         (CHARSET_PRIVATE_P): Deleted unconditionally.
5050         (rep_bytes_by_first_byte): Deleted unconditionally.
5051         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5052         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5053         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5054         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5055         (CHAR_FIELD2): Deleted.
5056         (CHAR_FIELD3): Deleted.
5057         (MAKE_CHAR): Delete definition for non-UTF-2000.
5058         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5059         (breakup_char_1): New implementation.
5060         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5061         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5062
5063 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5064
5065         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5066         condition.
5067
5068 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5069
5070         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5071         (CHARSET_PRIVATE_P): Likewise.
5072         (XCHARSET_PRIVATE_P): Likewise.
5073         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5074
5075         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5076         UTF2000.
5077         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5078
5079 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5080
5081         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5082         (NUM_LEADING_BYTES): Changed from 128 to 256.
5083         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5084         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5085         UTF2000.
5086         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5087
5088         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5089         UTF2000.
5090         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5091         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5092         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5093         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5094         (Qchinese_cns11643_3): New variable in UTF2000.
5095         (Qchinese_cns11643_4): New variable in UTF2000.
5096         (Qchinese_cns11643_5): New variable in UTF2000.
5097         (Qchinese_cns11643_6): New variable in UTF2000.
5098         (Qchinese_cns11643_7): New variable in UTF2000.
5099         (syms_of_mule_charset): Define `chinese-cns11643-3',
5100         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5101         and `chinese-cns11643-7' in UTF2000.
5102         (vars_of_mule_charset): Initialize
5103         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5104         + 1 in UTF2000.
5105         (complex_vars_of_mule_charset): Setup charset
5106         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5107         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5108
5109 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5110
5111         * mule-charset.c: Move setting for `leading-code-private-11' from
5112         `syms_of_mule_charset' to `vars_of_mule_charset'.
5113
5114 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5115
5116         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5117         and `NUM_LEADING_BYTES' in assert.
5118
5119 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5120
5121         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5122         instead of 128.
5123         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5124         `NUM_LEADING_BYTES' instead of 128.
5125
5126 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5127
5128         * mule-charset.h (charset_by_leading_byte): Use
5129         `NUM_LEADING_BYTES' instead of 128.
5130         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5131
5132         * mule-charset.c (charset_by_leading_byte): Use
5133         `NUM_LEADING_BYTES' instead of 128.
5134         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5135
5136         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5137         128.
5138
5139 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5140
5141         * mule-charset.c (syms_of_mule_charset): Update to
5142         0.4 (Shin-Imamiya).
5143
5144 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5145
5146         * file-coding.c (encode_coding_sjis): New implementation for
5147         UTF2000.  (decode_coding_sjis): Ditto.
5148
5149 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5150
5151         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5152         Don't define in UTF2000.
5153
5154         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5155         defined.
5156
5157         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5158         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5159         MULE.
5160
5161 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5162
5163         * config.h.in (CHAR_IS_UCS4): New macro.
5164
5165         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5166         conventional MULE representation.
5167         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5168
5169         * mule-charset.h: Reverted to original.
5170
5171         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5172         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5173         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5174
5175         * character.h: New file.
5176
5177         * file-coding.c (Fmake_coding_system): Set 1 to
5178         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5179         defined.
5180         (encode_coding_no_conversion): New implementation for UTF2000.
5181
5182         * file-coding.h (struct Lisp_Coding_System): Add new member
5183         `fixed.size'.
5184
5185 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5186
5187         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5188         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5189         (encode_coding_iso2022): New implementation for UTF2000.
5190
5191 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5192
5193         * mule-canna.c (c2mu): New implementation for UTF2000.
5194         (m2c): Likewise.
5195
5196 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5197
5198         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5199
5200 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5201
5202         * file-coding.c (reset_encoding_stream): Set 0 to
5203         `str->iso2022.current_char_boundary' in UTF2000.
5204         (encode_utf8): Don't define in UTF2000.
5205         (encode_coding_utf8): New implementation for UTF-8 representation
5206         of UTF2000.
5207         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5208
5209 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5210
5211         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5212
5213         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5214         UTF2000.
5215         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5216
5217         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5218
5219         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5220         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5221         as UTF-8 in UTF2000.
5222         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5223         (non_ascii_valid_char_p): Don't define in UTF2000.
5224         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5225         (Lstream_get_emchar_1): Likewise.
5226         (utf-2000-version): New variable in UTF2000.
5227
5228         * lread.c (read_escape): Add new reader `u'.
5229
5230         * insdel.c (three_to_one_table): Don't define in UTF2000.
5231         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5232         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5233         UTF2000.
5234         (bytind_to_bufpos_func): Likewise.
5235         (buffer_mule_signal_inserted_region): Likewise.
5236         (vars_of_insdel): Don't initialize `three_to_one_table'.
5237         (init_buffer_text): Use `buf->text->mule_size' instead of
5238         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5239         UTF2000.
5240
5241         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5242         UTF-8 representation in UTF2000.
5243         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5244         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5245         (decode_coding_iso2022): Don't define local variable `lb' in
5246         UTF2000; don't use LEADING_BYTE in UTF2000; use
5247         `DECODE_ADD_UCS_CHAR' in UTF2000.
5248         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5249
5250         * config.h.in (UTF2000): New macro.
5251
5252         * buffer.h (struct buffer_text): Add new member `mule_size' and
5253         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5254         (valid_char_p): Return always 1 in UTF2000.
5255         (MAX_EMCHAR_LEN): 6 in UTF2000.
5256         (three_to_one_table): Don't define in UTF2000.
5257         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5258         UTF2000.
5259         (real_bytind_to_bufpos): Likewise.
5260
5261         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5262
5263 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5264
5265         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5266         representation change.
5267         (Vutf_2000_version): New variable.
5268         (leading_code_private_11): New variable.
5269         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5270         `leading-code-private-11'.
5271
5272         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5273         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5274         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5275         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5276         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5277         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5278         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5279         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5280         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5281         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5282         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5283         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5284         (MIN_CHAR_GREEK): New macro.
5285         (MAX_CHAR_GREEK): New macro.
5286         (MIN_CHAR_CYRILLIC): New macro.
5287         (MAX_CHAR_CYRILLIC): New macro.
5288         (MIN_CHAR_HEBREW): New macro.
5289         (MAX_CHAR_HEBREW): New macro.
5290         (MIN_CHAR_THAI): New macro.
5291         (MAX_CHAR_THAI): New macro.
5292         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5293         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5294         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5295         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5296         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5297         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5298         (CHAR_FIELD2): New inline function.
5299         (CHAR_FIELD3): New inline function.
5300         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5301         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5302         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5303         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5304         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5305         (MIN_CHAR_COMPOSITION): Likewise.
5306         (CHAR_LEADING_BYTE): Modified for character representation change.
5307         (MAKE_CHAR): Likewise.
5308
5309         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5310         (Vcharset_greek_iso8859_7): Likewise.
5311         (Vcharset_cyrillic_iso8859_5): Likewise.
5312         (Vcharset_hebrew_iso8859_8): Likewise.
5313         (Vcharset_thai_tis620): Likewise.
5314         (Vcharset_katakana_jisx0201): Likewise.
5315
5316 2003-09-03  Vin Shelton <acs@xemacs.org>
5317
5318         * XEmacs 21.4.14 is released
5319
5320 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5321
5322         * config.h.in (REGEX_MALLOC): Make it configure'able.
5323
5324 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5325
5326         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5327         linking.
5328         * sysdll.c (dll_init):
5329         * sysdll.c (dll_open):
5330         * sysdll.c (dll_close):
5331         * sysdll.c (dll_function):
5332         * sysdll.c (dll_variable):
5333         * sysdll.c (dll_error):
5334         Add support for loading bundles using Darwin/MacOSX
5335         native API.
5336
5337 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5338
5339         * process.c (start-process-internal): Document coding systems.
5340
5341 2003-07-30  Jerry James  <james@xemacs.org>
5342
5343         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5344
5345 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5346
5347         * event-msw.c (mswindows_enqueue_mouse_button_event):
5348         * event-msw.c (mswindows_wnd_proc):
5349           enqueue button event when scrollwheel event isn't handled by 
5350           mswindows_handle_mousewheel_event, such as when the scrollbars
5351           are not showing.
5352
5353 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5354
5355         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5356
5357 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5358
5359         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5360
5361 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5362
5363         * regex.c (re_match_2_internal): Fix matching degenerate word
5364         boundaries.
5365
5366 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5367
5368         * XEmacs 21.4.13 is released
5369
5370 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5371
5372         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5373         * lisp.h (<inttypes.h>):
5374         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5375         the definition.
5376
5377 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5378
5379         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5380         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5381         Result: "temacs can only be run in -batch mode."
5382         Fix: Check xemacs executable candidate for directory-ness.
5383
5384 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5385
5386         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5387           they conflict with <sys/types.h>.
5388
5389 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5390
5391         * database.c: Berkeley DB wants __STDC__ to be defined.
5392
5393 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5394
5395         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5396
5397 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5398
5399         * process-unix.c (unix_send_process): Fix C++ compile error.
5400
5401 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5402
5403         * Added .dylib as an acceptable shared library file extension
5404         * to support MacOSX.
5405
5406 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5407
5408         * EmacsFrameP.h (EmacsFramePart):
5409         Kludge to allow compiling with Motif1, but linking with Motif2.
5410
5411 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5412
5413         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5414
5415
5416 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5417
5418         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5419
5420 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5421
5422         * sysdll.c: Included lisp.h to define needed alloca_array.
5423
5424 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5425
5426         Make XEmacs redisplay 10 times faster.
5427         If, that is, you're using a slow X connection and MoveOpaque.
5428         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5429         Use compress_motion = TRUE.
5430         * EmacsFrame.c (emacsFrameClassRec): 
5431         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5432         * EmacsManager.c (emacsManagerClassRec):
5433         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5434
5435 2003-01-30  Vin Shelton  <acs@xemacs.org>
5436
5437         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5438
5439 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5440
5441         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5442         Patch by Martin Buchholz.
5443
5444 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5445
5446         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5447         Thanks to icc for warning and Martin Buchholz for reporting.
5448
5449 2003-01-29  Vin Shelton <acs@xemacs.org>
5450
5451         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5452
5453         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5454         remember to multiply by the element size.
5455
5456 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5457
5458         * XEmacs 21.4.12 "Portable Code" is released.
5459
5460 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5461
5462         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5463         * s/cygwin.sc: new linker file.
5464
5465 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5466
5467         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5468
5469         * redisplay-x.c (x_output_string): Use X11-specified types.
5470         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5471         * emacs.c (__free_hook): Use typeof with Intel compiler.
5472         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5473
5474 2003-01-08  Andy Piper  <andy@xemacs.org>
5475
5476         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5477         reserve size during unexec().
5478
5479 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5480
5481         * process-unix.c (unix_create_process): Don't let outchannel block.
5482
5483 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5484
5485         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5486         Needed for IsBadReadPtr().
5487
5488 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5489
5490         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5491
5492 2002-12-14  Ben Wing  <ben@xemacs.org>
5493
5494         * callint.c: Declaration error.
5495         * dumper.c (pdump):
5496         * dumper.c (pdump_load): Warning fix.
5497         * process.c: GCPRO error.
5498         * glyphs.c (unmap_subwindow):
5499         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5500         * event-stream.c (maybe_kbd_translate): Wrong argument to
5501         character_to_event().
5502
5503         * alloc.c (garbage_collect_1):
5504         * emacs.c:
5505         * emacs.c (debug_can_access_memory):
5506         * emacs.c (fatal_error_signal):
5507         * emacs.c (mswindows_handle_hardware_exceptions):
5508         * emacs.c (main_1):
5509         * emacs.c (main):
5510         * emacs.c (assert_failed):
5511         * emacs.c (syms_of_emacs):
5512         * lisp.h:
5513         * print.c:
5514         * print.c (std_handle_out_va):
5515         * print.c (write_string_to_stdio_stream):
5516         * print.c (write_fmt_string):
5517         * print.c (printing_badness):
5518         * print.c (printing_major_badness):
5519         * print.c (print_internal):
5520         * print.c (debug_print_no_newline):
5521         * print.c (debug_backtrace):
5522         Be more defensive in handling bad values when printing.  Add code
5523         from trunk involving inhibit_non_essential_printing_operations.
5524         When going down or in debug_print(), don't do external conversion
5525         and such and try really, really hard when printing to avoid core
5526         dumping.  Add force-debugging-signal, debug_break().
5527
5528 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5529
5530         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5531         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5532
5533 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5534
5535         * database.c: Fix open_database. Berkeley DB API has changed in
5536         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5537
5538 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5539
5540         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5541
5542 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5543
5544         * event-Xt.c (Xt_timeout):
5545         (Xt_timeout_callback):
5546         (emacs_Xt_add_timeout):
5547         (emacs_Xt_remove_timeout):
5548         (Xt_timeout_to_emacs_event):
5549         Turn completed_timeouts from a stack into a queue.  Fixes
5550         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5551
5552 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5553
5554         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5555         * emacs.c (main): Assert that mmap'd allocation is disabled.
5556
5557 2002-10-14  Andy Piper  <andy@xemacs.org>
5558
5559         * glyphs-widget.c (layout_query_geometry): add in fiddle
5560         factor. Include border text in width layout calculation.
5561         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5562
5563 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5564
5565         * XEmacs 21.4.10 "Military Intelligence" is released.
5566
5567 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5568
5569         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5570         using the NAS private array SoundFileInfo that no longer exists in
5571         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5572         and earlier.  This is broken for some versions between 1.5a and
5573         1.5f.
5574
5575 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5576
5577         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5578
5579         * emacs.c (shut_down_emacs): Improve crash message.
5580
5581 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5582
5583         * file-coding.c (determine_real_coding_system): Check for coding
5584         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5585         shebangs and Python PEP 263.
5586
5587 2002-10-08  Andy Piper  <andy@xemacs.org>
5588
5589         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5590         if static sizes haven't been set.
5591
5592 2002-08-30  Mike Alexander  <mta@arbortext.com>
5593
5594         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5595         to close a socket.
5596
5597 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5598
5599         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5600
5601 2002-09-20  Mike Sperber <mike@xemacs.org>
5602
5603         (This partially gets back my patch from 2002-07-20 without the
5604         bug.)
5605         * callproc.c (child_setup): Remove Ben's comment noting confusion
5606         over the file descriptors >= 3: close_process_descs() doesn't
5607         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5608         * process-unix.c (unix_create_process): Call
5609         begin_dont_check_for_quit to inhibit unwanted interaction (and
5610         thus breaking of X event synchronicity) in the child.
5611
5612 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5613
5614         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5615         widget.
5616
5617 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5618
5619         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5620         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5621         the xemacs process did not exit, but looped infinitely here.  This
5622         fixes that problem.
5623
5624 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5625
5626         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5627         (find_context): Improve comments.
5628
5629         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5630         (re_match_2): An XCHAR_TABLE operation was missing.
5631
5632         Many of the following changes were inspired by Andy Piper's (now
5633         obsolete) patch to make syntax-table text property lookup optional.
5634
5635         [Documentation]
5636
5637         * syntax.h (top level): Document semantics of syntax flags.
5638         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5639         * syntax.c, syntax.h (top level): Document syntax cache better in
5640         comments.
5641
5642         [Instrument syntax caching (temporary change)]
5643
5644         * syntax.h (enum syntax_cache_statistics_functions, struct
5645         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5646         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5647         * syntax.c (scan_words, Fforward_comment, scan_lists,
5648         Fbackward_prefix_characters):
5649         * font-lock.c (find_context):
5650         Use them to instrument syntax caching. 
5651         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5652         syntax_cache_statistics_function_names): New type and variables.
5653         * syntax.c (update_syntax_cache): Update and report statistics.
5654
5655         [Major syntax cache optimizations]
5656
5657         syntax.c (lookup_syntax_properties): Default off.
5658
5659         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5660         * syntax.c (update_syntax_cache):
5661         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5662
5663         [Minor syntax cache optimizations and code clarifications]
5664
5665         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5666         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5667         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5668         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5669         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5670         (Code clarification.)
5671
5672         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5673         scan_lists): Compute code from syncode, use Boolean macros instead
5674         of redundant masking operations.  (Code clarification; any decent
5675         compiler can do this optimization.)
5676
5677         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5678         for clarity.
5679
5680         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5681         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5682         use F*_single_property_change instead of F*_extent_change.
5683         Currently F*_single_property_change is _much_ less efficient.
5684
5685         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5686         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5687         syntax_cache.object properly, don't leave Qt or Qnil.
5688         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5689         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5690         tests for Qt or Qnil.
5691
5692 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5693
5694         * redisplay.c (point_in_line_start_cache): 
5695         * extents.c (print_extent_1):
5696         Fix warnings.
5697
5698         * extents.c (Fset_extent_property): Document `syntax-table' property.
5699
5700         * extents.h (Fnext_single_property_change): EXFUN it.
5701
5702 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5703
5704         * search.c (clear_unused_search_regs): New static function.
5705         (search_buffer): 
5706         (simple_search): 
5707         (boyer_moore):
5708         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5709         Minor clarifications in comments.
5710
5711         * regex.c (re_match_2_internal): Ensure no stale submatches.
5712
5713 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5714
5715         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5716
5717 2002-08-29  Jerry James  <james@xemacs.org>
5718
5719         * lisp.h: structrures -> structures.
5720
5721 2002-06-03  Andy Piper  <andy@xemacs.org>
5722
5723         * frame.c (frame_conversion_internal): add conversion appropriate
5724         for setting frame dimensions in pixels.
5725
5726         * console.h (struct console_methods): add device-specific widget
5727         layout functions.
5728
5729         * emacs.c (main_1): initialize glyph vars.
5730
5731         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5732         (handle_focus_event_2): new function. Allow focus to
5733         be set to a particular window and widget.
5734         (enqueue_focus_event): new function. Create a
5735         synthetic focus event.
5736         (emacs_Xt_handle_magic_event): call
5737         handle_focus_event_2.
5738
5739         * frame.c (Fset_frame_pixel_height): new function. Allow
5740         pixel-based sizing. Does the right thing on character-oriented
5741         displays.
5742         (Fset_frame_pixel_width): ditto.
5743         (Fset_frame_pixel_size): ditto.
5744         (syms_of_frame): declare.
5745
5746         * general-slots.h: add :vertically-justify and
5747         :horizontally-justify.
5748
5749         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5750         (mswindows_widget_border_width): new function.
5751         (mswindows_combo_box_instantiate): set border widths.
5752         (console_type_create_glyphs_mswindows): declare.
5753
5754         * glyphs-widget.c:
5755         (check_valid_justification): allow vertical and horizontal
5756         justification.
5757         (widget_border_width): new function. Call device methods.
5758         (widget_instance_border_width): ditto.
5759         (logical_unit_height): new function. Determine the height of a
5760         logical-unit. Logical units are intended to provide grid-like
5761         layout for subcontrols in a layout. If the layout is
5762         :vertically-justify top then subcontrols will be positioned on
5763         logical-unit boundaries, thus allowing adjacent subcontrols to
5764         line up.
5765         (widget_logical_unit_height): ditto for widgets.
5766         (redisplay_widget): misc cleanup.
5767         (widget_spacing): new function. Call device specific
5768         methods. Intended to be the default gap between adjacent widgets.
5769         (widget_query_geometry): use new spacing functions to determine
5770         appropriate geometry.
5771         (initialize_widget_image_instance): initialize horizontal and
5772         vertical justification.
5773         (widget_instantiate): use logica-units where appropriate for
5774         sizing large widgets.
5775         (button_query_geometry): use widget_instance_border_width.
5776         (tree_view_query_geometry): ditto.
5777         (tab_control_query_geometry): ditto.
5778         (edit_field_query_geometry): new function.
5779         (layout_update): pick up :justify, :horizontally-justify and
5780         :vertically-justify none of which worked previously. :justify is
5781         used as a fallback for both horizontal and vertical justification.
5782         (layout_query_geometry): use logical units to size appropriately.
5783         (layout_layout): ditto.
5784         (Fwidget_logical_to_character_width): new function. Allow users to
5785         convert from logical units to characters so that frame sizes can
5786         be set appropriately.
5787         (Fwidget_logical_to_character_height): ditto.
5788         (syms_of_glyphs_widget): declare.
5789         (image_instantiator_edit_fields): add edit_field_query_geometry.
5790         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5791         :horizontally-justify.
5792         (specifier_vars_of_glyphs_widget): new function. Declare
5793         Vwidget_border_width which is not yet used.
5794
5795         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5796         (x_widget_border_width): new function.
5797         (x_widget_instantiate): create a sensible name for widgets.
5798         (console_type_create_glyphs_x): declare x_widget_border_width.
5799
5800         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5801         (struct Lisp_Image_Instance): add :vertically-justify and
5802         :horizontally-justify.
5803         (LAYOUT_JUSTIFY_TOP): new.
5804         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5805         (ROUND_UP): new macro. Round argument up to next integral
5806         interval.
5807
5808         * redisplay-output.c (redisplay_output_layout): misc formatting.
5809
5810         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5811
5812 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5813
5814         * XEmacs 21.4.9 "Informed Management" is released.
5815
5816 2002-08-19  Andy Piper  <andy@xemacs.org>
5817
5818         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5819         win32 format.
5820
5821         * realpath.c (xrealpath): normalize drive spec also so that dir
5822         sep chars are not mixed on cygwin.
5823
5824 2002-08-06  Jerry James  <james@xemacs.org>
5825
5826         * window.c (Fsplit_window): Count only half of the divider width
5827         against the left window when splitting horizontally. 
5828
5829 2002-06-24  Andy Piper  <andy@xemacs.org>
5830
5831         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5832         toolbar was cleared.
5833
5834         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5835         function. Split out from mswindows_output_frame_toolbars.
5836         (mswindows_output_frame_toolbars): move clear pieces to
5837         mswindows_output_frame_toolbars.
5838
5839         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5840         out from gtk_output_frame_toolbars.
5841         (gtk_output_frame_toolbars): move clear pieces to
5842         gtk_clear_frame_toolbars.
5843
5844         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5845         the frame is cleared. How this ever worked before is a mystery.
5846         (x_output_frame_toolbars): Only output toolbars.
5847         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5848
5849         * gutter.c (update_gutter_geometry):
5850         Mark frame layout changed.
5851         (update_frame_gutter_geometry, update_frame_gutters):
5852         Respect frame_layout_changed.
5853
5854         * console.h (struct console_methods): add
5855         clear_frame_toolbars_method.
5856
5857         * redisplay.c (redisplay_frame): call
5858         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5859
5860         * toolbar.h: declare update_frame_toolbars_geometry.
5861
5862         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5863         out from update_frame_toolbars.  Call clear_frame_toolbars.
5864         (update_frame_toolbars): only output, do not change geometry.
5865
5866         * redisplay.c: add frame_layout_changed.
5867
5868         * redisplay.h: add frame_layout_changed.
5869         (CLASS_RESET_CHANGED_FLAGS): set it.
5870         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5871         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5872         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5873
5874         * device.h (struct device): add frame_layout_changed.
5875         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5876
5877         * frame.h (struct frame): add frame_layout_changed.
5878         (MARK_FRAME_LAYOUT_CHANGED): new.
5879
5880 2002-06-30  Mike Alexander  <mta@arbortext.com>
5881
5882         * event-msw.c (mswindows_need_event): Don't wait for a new message
5883         if the queue is not empty.  Suggested by Paul Moore.
5884
5885 2002-06-12  Andy Piper  <andy@xemacs.org>
5886
5887         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5888         for printing on accurately.
5889
5890 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5891
5892         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5893         WM_ACTIVATE message. Make sure that the frame is visible if the
5894         window is visible. This seemss to fix the problem where XEmacs
5895         appears to freeze after switching desktops with certain virtual
5896         window managers.
5897         (debug_output_mswin_message): Added code to output message
5898         parameters for WM_WINDOWPOSCHANGED, 
5899         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5900
5901 2002-05-25  Andy Piper  <andy@xemacs.org>
5902
5903         * select-x.c (vars_of_select_x): Fix docstring of
5904         x-selection-strict-motif-ownership
5905
5906 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5907
5908         * keymap.c (get_keymap):
5909         Add comment about do_autoload GCPROs own args.
5910
5911 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5912
5913         * bytecode.c (execute_optimized_program): check_opcode ifdef
5914         ERROR_CHECK_BYTE_CODE.
5915
5916 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5917
5918         Thanks to Ben Wing and Michael Sperber.
5919
5920         * eval.c (Fcommand_execute):
5921         (Feval):
5922         (Ffuncall):
5923         (Fmacroexpand_internal):
5924         (function_argcount):
5925         callint.c (Fcall_interactively):
5926         Add comment about do_autoload GCPROs own args.
5927
5928         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5929
5930         * eval.c (Ffuncall): Extra braces to placate GCC.
5931
5932 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5933
5934         * backtrace.h (grow_specpdl):
5935         (SPECPDL_RESERVE):
5936         * EmacsFrame.c (EmacsFrameSetValues):
5937         * eval.c (grow_specpdl):
5938         * ExternalShell.c (hack_event_masks_1):
5939         * glyphs-x.c (convert_EImage_to_XImage): 
5940         (x_finalize_image_instance):
5941         * ralloc.c (page_size):
5942         (r_alloc_sbrk):
5943         * xgccache.c (gc_cache_hash):
5944         Fix unsigned comparison warnings.
5945
5946 2002-07-29  Jerry James  <james@xemacs.org>
5947
5948         * lread.c (locate_file): Any nonnegative return value indicates
5949         success if MODE is nonnegative.
5950
5951 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5952
5953         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5954         argument. 
5955
5956 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5957
5958         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5959
5960         * dumper.c (pdump_get_indirect_count):
5961         (pdump_scan_by_alignment):
5962         (pdump_dump_root_struct_ptrs):
5963         (pdump_dump_rtables):
5964         (pdump_dump_root_objects):
5965         (pdump):
5966         * nas.c (WaveOpenDataForReading):
5967         * fns.c (print_bit_vector):
5968         * font-lock.c (SINGLE_SYNTAX_STYLE):
5969         * glyphs.c (check_for_ignored_expose):
5970         (find_matching_subwindow):
5971         * glyphs-eimage.c:
5972         * imgproc.c (get_histogram):
5973         * redisplay.c (point_in_line_start_cache):
5974         * redisplay-output.c (redisplay_unmap_subwindows):
5975         * symbols.c (defsymbol_massage_name_1):
5976         (defkeyword_massage_name):
5977         (deferror_massage_name_and_message):
5978         * redisplay-x.c (x_output_string): 
5979         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5980         * frame.h (struct frame):
5981         * filelock.c (current_lock_owner):
5982         * doprnt.c (emacs_doprnt_1):
5983         * lisp.h (struct Lisp_Bit_Vector):
5984         (DO_REALLOC):
5985         Fix warnings.
5986
5987 2002-02-13  Ben Wing  <ben@xemacs.org>
5988
5989         * event-stream.c (reset_key_echo):
5990         * event-stream.c (reset_this_command_keys):
5991         * event-stream.c (execute_command_event):
5992         If console is dead as a result of C-x 5 0, then post-command stuff
5993         needs to be careful and do only non-console-specific stuff.
5994
5995 2002-07-01  Mike Sperber <mike@xemacs.org>
5996
5997         * process-unix.c (unix_send_process): Mark coding_outstream as
5998         non-open upon SIGPIPE.
5999
6000         * event-stream.c (Fnext_event): Reorder switch cases to something
6001         that makes sense.
6002
6003 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
6004
6005         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
6006         Don't bogusly reinitialize ascii_character property.
6007
6008 2002-07-08  Mike Sperber <mike@xemacs.org>
6009
6010         * process.c (Fstart_process_internal): Do error checking before we
6011         fork off the child, so the child can't muck with the state of the
6012         parent.
6013
6014 2002-07-08  Mike Sperber <mike@xemacs.org>
6015
6016         * ralloc.c (init_ralloc): Allocate properly for pdump.
6017
6018 2002-06-12  Andy Piper  <andy@xemacs.org>
6019
6020         * glyphs.c (query_string_geometry): check the string.
6021
6022         * glyphs-widget.c (widget_logical_unit_height): cope with nil
6023         widget names.
6024
6025 2002-06-17  Jerry James  <james@xemacs.org>
6026
6027         * sysdll.c: Remove RTLD_GLOBAL initialization.
6028         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
6029
6030 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
6031
6032         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
6033
6034 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
6035
6036         * sysdep.c (sys_rename): Make sys_rename work for the case where
6037         Windows rename sets errno to EACCES if target file exists.
6038
6039 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
6040
6041         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6042         Fix detection of metric units to work on Win95
6043
6044 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
6045
6046         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
6047
6048 2002-04-25  Andy Piper  <andy@xemacs.org>
6049
6050         * redisplay.c (create_text_block): Remove extra comment trailer.
6051
6052 2002-04-24  Andy Piper  <andy@xemacs.org>
6053
6054         * redisplay.c (create_text_block): Don't actually add propagation
6055         data if the line ends after we have added a glyph.
6056
6057 2002-04-22  Andy Piper  <andy@xemacs.org>
6058
6059         * extents.c (extent_fragment_update): check for glyphs we have
6060         previously displayed.
6061         * extents.c (print_extent_1): warning removal.
6062         * extents.h: change prototype.
6063         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
6064         widths correctly for wide glyphs.
6065         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6066         * redisplay.c (prop_type): add PROP_GLYPH.
6067         * redisplay.c (struct prop_block): add glyph type
6068         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6069         to the propagation data.
6070         * redisplay.c (create_text_block): if there is a glyph in the
6071         propagation data use it to salt extent_fragment_update.
6072         * redisplay.c (create_string_text_block): ditto.
6073
6074 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6075
6076         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6077         * redisplay-output.c (compare_runes): Compare them.
6078         * redisplay.c: Update copyright date.
6079         * redisplay.c (pos_data): Add need_baseline_computation field.
6080         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6081         need_baseline_computation; zero yoffset. Set max_pixmap_height
6082         for all pixmaps, not just automatically positioned ones.
6083         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6084         * redisplay.c (calculate_baseline): New, compute textual baseline.
6085         * redisplay.c (add_glyph_rune): Call them.
6086         * redisplay.c (create_text_block): Likewise.
6087         * redisplay.c (create_overlay_glyph_block): Likewise.
6088         * redisplay.c (add_margin_runes): Likewise.
6089         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6090
6091         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6092         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6093         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6094         * redisplay-msw.c (mswindows_output_string): Likewise.
6095         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6096         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6097         * redisplay-x.c (x_output_display_block): Likewise.
6098
6099 2002-03-28  Ben Wing  <ben@xemacs.org>
6100
6101         * redisplay.c: Fixed bug in redisplay
6102         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6103         and down of the lines, since they're bigger than the line
6104         size. (It was seen most obviously when there's a horizontal scroll
6105         bar, e.g. do C-h a glyph or something like that.) The problem was
6106         that the glyph-contrib-p setting on glyphs was ignored even if it
6107         was set properly, which it wasn't until now.
6108
6109 2002-04-24  Andy Piper  <andy@xemacs.org>
6110
6111         * lisp.h (Dynarr_end): Fix definition.
6112
6113 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6114
6115         * redisplay.c (mark_redisplay): Remove call to
6116         update_frame_window_mirror.
6117
6118 2001-11-15  Andy Piper  <andy@xemacs.org>
6119
6120         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6121         cygwin (again).
6122
6123 2002-02-13  Andy Piper  <andy@xemacs.org>
6124
6125         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6126         we did in fact enqueue the XM_MAPFRAME event.
6127
6128 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6129
6130         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6131         to fix problem switching between virtual desktops under virtuawin
6132         virtual window manager.
6133
6134 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6135
6136         * event-msw.c: Typo fix.
6137         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6138         magic XM_MAPFRAME event has been sent.
6139
6140 2001-11-23  Andy Piper  <andy@xemacs.org>
6141
6142         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6143
6144 2001-11-21  Andy Piper  <andy@xemacs.org>
6145
6146         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6147         mouse events outside the frame.
6148
6149 2002-03-20  Andy Piper  <andy@xemacs.org>
6150
6151         * menubar-msw.c (mswindows_popup_menu): warning removal.
6152         * dialog-msw.c (dialog_popped_down): ditto.
6153
6154 2001-12-11  Andy Piper  <andy@xemacs.org>
6155
6156         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6157         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6158         popup_up_p.
6159         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6160         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6161         * menubar-msw.c (mswindows_popup_menu): ditto.
6162
6163 2001-10-29  Andy Piper  <andy@xemacs.org>
6164
6165         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6166         cancels.
6167
6168 2002-01-03  Andy Piper  <andy@xemacs.org>
6169
6170         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6171         letters.
6172         (xrealpath): ditto.
6173
6174 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6175
6176         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6177         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6178         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6179         Detect and handle case where machine is set up for metric units
6180
6181 2002-04-02  Andy Piper  <andy@xemacs.org>
6182
6183         * dired-msw.c (mswindows_get_files): 
6184         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6185         completely handled by XEmacs. Suggested by Thomas Vogler
6186         <mail@thomas-vogler.de>.
6187
6188 2001-11-14  Andy Piper  <andy@xemacs.org>
6189
6190         * nt.c (REG_ROOT): change registry key to XEmacs.
6191
6192 2002-04-27  Andy Piper  <andy@xemacs.org>
6193
6194         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6195
6196 2002-04-26  Andy Piper  <andy@xemacs.org>
6197
6198         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6199         behavior.
6200
6201 2002-03-14  Mike Alexander  <mta@arbortext.com>
6202
6203         * event-msw.c (mswindows_unwait_process): New, remove process from
6204         wait list
6205         * process-nt.c (nt_finalize_process_data): Call
6206         mswindows_unwait_process
6207         * console-msw.h: Declare mswindows_unwait_process
6208
6209 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6210
6211         * editfns.c (Fdecode_time):
6212         (Fformat_time_string):
6213         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6214         (make_time): Warning elimination (change arg name).
6215
6216 2001-11-24  Andy Piper  <andy@xemacs.org>
6217
6218         * window.c (Fsplit_window): Doc return type.
6219
6220 2002-04-01  Andy Piper  <andy@xemacs.org>
6221
6222         * emacs.c (Fkill_emacs): Only output message box in interactive
6223         mode.
6224
6225 2002-04-26  Andy Piper  <andy@xemacs.org>
6226  
6227         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6228         cygwin.
6229
6230 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6231
6232         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6233         bit platform.
6234
6235 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6236
6237         * XEmacs 21.4.8 "Honest Recruiter" is released.
6238
6239 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6240
6241         Supersedes 2002-04-17 patch.
6242
6243         * process.h (PROCESS_LIVE_P): Use the process status as
6244         evidence of health, not the state of the input stream.
6245         (PROCESS_READABLE_P): Say if the process is readable
6246         from. (It may be dead nonetheless.)
6247         (CHECK_READABLE_PROCESS): Test for that condition.
6248
6249         * process.c (create_process): Use PROCESS_READABLE_P.
6250         (read_process_output, set_process_filter): Likewise.
6251
6252         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6253         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6254
6255         This code is #if 0'd, this is not the time to add new functions:
6256
6257         * process.c (Fprocess_readable_p): Report readability status.
6258         * process.c (Qprocess_readable_p): New, associated symbol...
6259         * process.c (syms_of_process): ... initialize it.
6260
6261 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6262
6263         * XEmacs 21.4.7 "Economic Science" is released.
6264
6265 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6266
6267         * process.h (PROCESS_LIVE_P): Use the process status as
6268         evidence of health, not the state of the input stream.
6269
6270 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6271
6272         * sysdep.c (sys_siglist): change "signum" to "signal"
6273
6274 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6275
6276         * s/darwin.h: New file.
6277         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6278         
6279 2002-04-23  Andreas Jaeger  <aj@suse.de>
6280
6281         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6282         which use lib64 for 64-bit libs.
6283         (START_FILES): Likewise.
6284
6285 2002-02-11  Mike Sperber  <mike@xemacs.org>
6286
6287         * device-x.c: 
6288         (x_IO_error_handler):
6289         (x_init_device): Temporarily keep device in static variable
6290         `device_being_initialized' so we can recover gracefully from
6291         internal XOpenDevice failure.  (XOpenDevice is documented to
6292         return NULL on failure, but sometimes calls the IO error handler
6293         instead.)
6294
6295 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6296
6297         * dired.c (Ffile_name_all_completions): Change documentation --
6298         remove reference to completion-ignored-extensions.
6299         * dired.c (vars_of_dired): Change documentation for
6300         completion-ignored-extensions -- remove reference to
6301         file-name-all-completions.
6302
6303 2002-03-06  Jerry James  <james@xemacs.org>
6304
6305         * emodules.c (emodules_load): Fix multiple loading of same module.
6306
6307 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6308         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6309         RTLD_LAZY to avoid incorrect symbol binding when using nested
6310         shared libraries on Solaris.
6311
6312 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6313
6314         * fileio.c (Ffind_file_name_handler): Improve docstring.
6315
6316 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6317
6318         * fns.c (Fmapconcat): Improve docstring.
6319
6320 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6321
6322         * device-gtk.c: Add prototype for
6323         emacs_gtk_selection_clear_event_handle.
6324         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6325         selection.  Setup signal handler for "selection_clear_event"
6326         (emacs_gtk_selection_clear_event_handle).
6327
6328         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6329         other applications owning the clipboard (based on
6330         x_handle_selection_clear).
6331
6332 2001-12-23  William M. Perry  <wmperry@gnu.org>
6333
6334         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6335         
6336 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6337
6338         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6339
6340 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6341
6342         * XEmacs 21.4.6 "Common Lisp" is released.
6343
6344 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6345
6346         * search.c (Freplace_match): Add missing sub-expression functionality.
6347
6348         * buffer.c (decode_buffer): Add a check for pointer type to
6349         decode_buffer, before gcc's CSE optimization reorders a
6350         dereference in front of the allow_string test.
6351
6352 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6353
6354         * window.c (window_loop): Fix bug that sometimes prevented
6355         window_loop() from iterating across multiple devices.  Also, at
6356         Ben's request, changed infloop-detecting code to abort() instead
6357         of silently terminating window_loop().
6358
6359 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6360
6361         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6362         * editfns.c (make_time): New function.
6363         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6364         * lisp.h (make_time): Prototype and comment it.
6365         * dired.c (wasteful_word_to_lisp): Deprecate.
6366         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6367
6368 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6369
6370         * fileio.c (auto_save_1): Use current coding system, not
6371         escape-quoted.
6372
6373 2001-11-13  Ben Wing  <ben@xemacs.org>
6374
6375         * window.c:
6376         * window.c (window_truncation_on):
6377         * window.c (syms_of_window):
6378         truncate-partial-width-windows should respect the buffer being
6379         displayed, like other redisplay vars.
6380
6381 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6382
6383         * event-stream.c (Fread_key_sequence): save current buffer.
6384
6385 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6386
6387         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6388
6389 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6390
6391         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6392
6393 2001-10-26  Mike Alexander  <mta@arbortext.com>
6394
6395         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6396
6397 2001-10-25  Andy Piper  <andy@xemacs.org>
6398
6399         * ChangeLog:
6400         * dialog-msw.c (handle_directory_proc): new function.
6401          (handle_directory_dialog_box): new fucntion.
6402          (handle_file_dialog_box): use new directory dialog support.
6403          (mswindows_make_dialog_box_internal): ditto.
6404         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6405         handling.
6406         (mswindows_find_frame): make global.
6407         * fileio.c (Fexpand_file_name): build fix.
6408         * general-slots.h: add Qdirectory.
6409         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6410         handling.
6411         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6412         cygwin not leaving win32 paths unchanged.
6413         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6414         cygwin runtime to do path conversion.
6415         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6416         (syms_of_win32): add new function.
6417         * window.c (window_loop): build fix.
6418
6419 2001-10-15  Andy Piper  <andy@xemacs.org>
6420
6421         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6422
6423 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6424
6425         * XEmacs 21.4.5 "Civil Service" is released.
6426
6427 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6428
6429         * glyphs-x.c: Force buffer-tab highlight update when moving the
6430         buffer, avoiding an ugly black border, used for keyboard focus
6431         indication, on a widget that can never have keyboard focus, the
6432         buffer tab.
6433
6434 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6435
6436         * process-unix.c (unix_open_multicast_group): Remove too much
6437         conversion between host and network byte order.
6438
6439 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6440
6441         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6442         before replacing them.
6443
6444         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6445         operation.
6446
6447         * src/window.c (undedicate_windows): Use it.
6448         * src/window.h: Add prototype.
6449
6450 2001-09-17  Ben Wing  <ben@xemacs.org>
6451
6452         * fileio.c (normalize_filename):
6453         * fileio.c (Fexpand_file_name):
6454         Fix various C++ compile errors in Andy's recent code.
6455         
6456         * callint.c (Fcall_interactively):
6457         * editfns.c (Ftemp_directory):
6458         * editfns.c (Fuser_full_name):
6459         * emacs.c (argmatch):
6460         * lread.c (locate_file_map_suffixes):
6461         * redisplay-x.c (x_ring_bell):
6462         Fix sign-compare warnings.
6463         
6464 2001-09-08  Andy Piper  <andy@xemacs.org>
6465
6466         * fileio.c (normalize_filename): copied from nt.c
6467         * (Ffile_name_directory): enable win32 paths under cygwin.
6468         * (Ffile_name_nondirectory): ditto.
6469         * (directory_file_name): ditto.
6470         * (Fexpand_file_name): ditto.
6471         * (Ffile_truename): ditto.
6472         * (Fsubstitute_in_file_name): ditto.
6473         * (Ffile_name_absolute_p): ditto.
6474         * (Ffile_readable_p): ditto.
6475
6476 2001-09-08  Andy Piper  <andy@xemacs.org>
6477
6478         * device-msw.c (mswindows_finish_init_device): remove dde
6479         initialization.
6480         * device-msw.c (mswindows_init_dde): factor out from
6481         mswindows_finish_init_device()
6482         * device-msw.c (init_mswindows_very_early): new function
6483         initialize but don't enable dde.
6484         * emacs.c (main_1): call init_mswindows_very_early.
6485         * event-msw.c:
6486         * event-msw.c (mswindows_dde_callback): only execute when we are
6487         ready.
6488         * symsinit.h: declare init_mswindows_very_early.
6489
6490 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6491
6492         [sjt: This has been in 21.5 for months with no complaints.]
6493
6494         * console.h (struct console_methods): Added flags member.
6495         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6496         (CONMETH_IMPL_FLAG):
6497         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6498         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6499
6500         * device.c (window_system_pixelated_geometry): Use the above macros.
6501
6502         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6503         implememntation flag.
6504         * device.h (DEVICE_DISPLAY_P): Use it.
6505
6506         * frame.c (delete_frame_internal): Use the above macro.
6507
6508         * redisplay.c (redisplay_device): Use it.
6509         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6510         (redisplay_frame): Ditto.
6511
6512         * device-msw.c (mswindows_device_implementation_flags): Removed.
6513         (msprinter_device_implementation_flags): Removed.
6514         (console_type_create_device_mswindows): Removed references to
6515         implementation_flags methods, set implementation flags here.
6516         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6517
6518         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6519         (console_type_create_device_gtk): Removed method declaration.
6520         Added commented out statement which semantically matches the
6521         commented out statement in the above removed method.
6522
6523 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6524
6525         The attached patch fixes a few warnings. 
6526
6527         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6528         * src/frame-gtk.c: guard against GNOME calls in GTK only
6529         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6530         * src/select-gtk.c: prototype lisp_to_time
6531
6532 2001-06-08  Ben Wing  <ben@xemacs.org>
6533
6534         ------ gc-in-window-procedure fixes ------
6535         
6536         * alloc.c:
6537         * alloc.c (struct post_gc_action):
6538         * alloc.c (register_post_gc_action):
6539         * alloc.c (run_post_gc_actions):
6540         * alloc.c (garbage_collect_1):
6541         Create "post-gc actions", to avoid those dreaded "GC during window
6542         procedure" problems.
6543
6544         * event-msw.c:
6545         Abort, clean and simple, when GC in window procedure.  We want
6546         to flush these puppies out.
6547
6548         * glyphs-msw.c:
6549         * glyphs-msw.c (finalize_destroy_window):
6550         * glyphs-msw.c (mswindows_finalize_image_instance):
6551         Use a post-gc action when destroying subwindows.
6552
6553         * lisp.h:
6554         Declare register_post_gc_action().
6555
6556         * scrollbar-msw.c:
6557         * scrollbar-msw.c (unshow_that_mofo):
6558         Use a post-gc action when unshowing scrollbar windows, if in gc.
6559
6560         * redisplay.c (mark_redisplay):
6561         Add comment about the utter evilness of what's going down here.
6562
6563         ------ cygwin setitimer fixes ------
6564         
6565         * Makefile.in.in (sheap_objs):
6566         * Makefile.in.in (profile_objs):
6567         * Makefile.in.in (objs):
6568         Compile profile.c only when HAVE_SETITIMER.
6569         
6570         * nt.c (mswindows_sigset):
6571         * nt.c (mswindows_sighold):
6572         * nt.c (mswindows_sigrelse):
6573         * nt.c (mswindows_sigpause):
6574         * nt.c (mswindows_raise):
6575         * nt.c (close_file_data):
6576         Style fixes.
6577         
6578         * nt.c:
6579         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6580         
6581         * profile.c:
6582         * profile.c (Fstart_profiling):
6583         * profile.c (Fstop_profiling):
6584         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6585         instead of just plain setitimer().
6586         
6587         * signal.c:
6588         * signal.c (set_one_shot_timer):
6589         * signal.c (alarm):
6590         Define qxe_setitimer() as an encapsulation around setitimer() --
6591         call setitimer() directly unless Cygwin or MS Win, in which case
6592         we use our simulated version in win32.c.
6593         
6594         * systime.h:
6595         * systime.h (struct itimerval):
6596         * systime.h (ITIMER_REAL):
6597         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6598         comment about "qxe" and the policy regarding encapsulation.
6599
6600         * win32.c:
6601         * win32.c (setitimer_helper_proc):
6602         * win32.c (setitimer_helper_period):
6603         * win32.c (setitimer_helper):
6604         * win32.c (mswindows_setitimer):
6605         Move setitimer() emulation here, so Cygwin can use it.
6606         Rename a couple of functions and variables to be longer and more
6607         descriptive.  In setitimer_helper_proc(), send the signal
6608         using either mswindows_raise() or (on Cygwin) kill().  If for
6609         some reason we are still getting lockups, we'll change the kill()
6610         to directly invoke the signal handlers.
6611
6612         ------ windows shell fixes ------
6613         
6614         * callproc.c:
6615         * ntproc.c:
6616         Comments about how these two files must die.
6617
6618         * callproc.c (init_callproc):
6619         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6620         not just COMSPEC. (more correct and closer to FSF.) Don't
6621         force a value for SHELL into the environment. (Comments added
6622         to explain why not.)
6623         
6624         * nt.c (init_user_info):
6625         Don't shove a fabricated SHELL into the environment.  See above.
6626
6627 2001-06-01  Ben Wing  <ben@xemacs.org>
6628
6629         * Makefile.in.in (ldflags):
6630         eliminate that pesky "defaulting to 00401000" warning.
6631         * nt.h:
6632         eliminate warnings.
6633
6634 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6635
6636         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6637         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6638
6639 2001-04-24  Jerry James <james@xemacs.org>
6640
6641         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6642         correct order.
6643
6644 2001-06-01  Ben Wing  <ben@xemacs.org>
6645
6646         * event-msw.c (debug_mswin_messages):
6647         conditionalize the messages that were causing compile errors.
6648         (if only macros could generate #ifdef statements ...)
6649
6650 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6651
6652         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6653
6654 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6655
6656         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6657
6658 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6659
6660         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6661         * process-unix.c (unix_canonicalize_host_name):
6662         sysdep.c (init_system_name):
6663         Use it to conditionally support IPv6 canonicalization.
6664
6665 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6666
6667         * event-msw.c:
6668         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6669
6670 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6671
6672         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6673         attempt is made to scroll when no scroll bar is available.
6674
6675 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6676
6677         * input-method-motif.c (XIM_delete_frame): New callback.
6678         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6679         got deleted from 21.4.3.)
6680
6681 2001-06-01  Ben Wing  <ben@xemacs.org>
6682
6683         * nt.c (mswindows_utime):
6684         * nt.c (close_file_data):
6685         fix off-by-one-indirection error.
6686
6687 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6688
6689         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6690         because set_file_times() now takes Lisp_Object path, instead of
6691         char*.
6692         * nt.c: Include buffer.h.
6693         * nt.c (convert_from_time_t): New.
6694         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6695         not set mtime correctly.
6696         * nt.h: Declare mswindows_utime().
6697         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6698         path, instead of char*.
6699         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6700
6701 2001-05-30  Ben Wing  <ben@xemacs.org>
6702
6703         For 21.4:
6704
6705         (Stephen, just take all event-msw.c patches.  This includes
6706         the "iconify" fix below.)
6707
6708         * event-msw.c:
6709         * event-msw.c (mswindows_dequeue_dispatch_event):
6710         * event-msw.c (assert):
6711         * event-msw.c (emacs_mswindows_quit_p):
6712         * event-msw.c (debug_mswin_messages):
6713         * event-msw.c (debug_output_mswin_message):
6714         * event-msw.c (vars_of_event_mswindows):
6715         Fix yet more problems with C-g handling.
6716         Implement debug-mswindows-events.
6717         
6718 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6719
6720         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6721         
6722 2001-05-23  Ben Wing  <ben@xemacs.org>
6723
6724         * event-msw.c (winsock_writer):
6725         * event-msw.c (winsock_closer):
6726         prior kludgy code was clobbering the buffer, thinking it was
6727         "unused" space to store an unneeded return value; instead, use
6728         the variable we've already got staring us in the face.
6729
6730 2001-05-17  Andy Piper  <andy@xemacs.org>
6731
6732         * sysfile.h: don't assume that file attributes are boolean
6733
6734 2001-05-23  Ben Wing  <ben@xemacs.org>
6735
6736         * device-msw.c (msprinter_init_device):
6737         signal an error rather than crash with an unavailable network
6738         printer (from Mike Alexander).
6739         
6740         * event-msw.c:
6741         * event-msw.c (struct winsock_stream):
6742         * event-msw.c (winsock_writer):
6743         * event-msw.c (winsock_closer):
6744         * event-msw.c (make_winsock_stream_1):
6745         cleanup headers.  fix (hopefully) an error with data corruption
6746         when sending to a network connection.
6747
6748         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6749         to handle the ~user prefix by (a) always assuming we're referencing
6750         ourselves and not even verifying the user -- hence any file with
6751         a tilde as its first char is invalid! (b) if there wasn't a slash
6752         following the filename, the pointer was set *past* the end of
6753         file and we started reading from uninitialized memory.  Now we
6754         simply treat these as files, always.
6755
6756         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6757         
6758 2001-05-19  Ben Wing  <ben@xemacs.org>
6759
6760         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6761
6762         * process-nt.c:
6763         * process-nt.c (vars_of_process_nt):
6764         remove unused mswindows-quote-process-args.  rec for 21.4.
6765         
6766 2001-05-12  Ben Wing  <ben@xemacs.org>
6767
6768         * event-msw.c (mswindows_dde_callback):
6769         * event-msw.c (mswindows_wnd_proc):
6770         eliminate cygwin warnings.
6771
6772 2001-05-06  Ben Wing  <ben@xemacs.org>
6773
6774         * console-msw.h:
6775         * device-msw.c:
6776         * device-msw.c (print_dialog_worker):
6777         * device-msw.c (mswindows_handle_print_dialog_box):
6778         * device-msw.c (syms_of_device_mswindows):
6779         * dialog-msw.c (mswindows_make_dialog_box_internal):
6780         * general-slots.h:
6781         implement printing the selection when it's selected.
6782
6783 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6784
6785         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6786
6787 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6788
6789         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6790         EMACS_INT is signed.
6791
6792 2001-04-15  Michael Lausch  <mla@1012surf.net>
6793
6794         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6795         gtk_widget_request_size() to give scrollbar >0 width for
6796         GTK >1.2.8.
6797
6798 2001-05-30  William M. Perry  <wmperry@gnu.org>
6799
6800         * event-gtk.c: Check for buttons as modifier keys.
6801
6802 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6803
6804         * s\mingw32.h:
6805         Properly find MinGW's <process.h> inside Cygwin's restructured
6806         include directories.  Don't try to include <cygwin/version.h>
6807         since we are dropping support for MinGW in versions of Cygwin
6808         earlier than b21.
6809         * nt.c:
6810         Drop support for MinGW in versions of Cygwin before b21.
6811         * sysdep.c:
6812         Properly find MinGW's <process.h> inside Cygwin's restructured
6813         include directories.
6814         * syswindows.h:
6815         Drop support for MinGW in versions of Cygwin before b21.
6816         * unexcw.c:
6817         Even though a.out.h is no longer detected by configure, allow
6818         MinGW to use it until we figure out how to do the job with Win32.
6819
6820 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6821
6822         * syntax.c (find_start_of_comment):
6823         Fix `unbalanced parentheses' bug when dealing with mixed comment
6824         styles in c++/java/etc. mode
6825
6826 2001-05-29  Mike Alexander  <mta@arbortext.com>
6827
6828         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6829         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6830
6831 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6832
6833         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6834
6835 2001-03-31  Mike Sperber <mike@xemacs.org>
6836
6837         * search.c (Freplace_match): Support FSF-style specification of
6838         match subexpression when applied to a buffer.
6839
6840 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6841
6842         * event-stream.c (is_scrollbar_event): add missing semicolon
6843
6844 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6845
6846         * Makefile.in.in: Use TAR macro instead of hardcoding
6847           tar.  Allows use of GNU tar instead of system tar
6848
6849 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6850
6851         * event-stream.c (is_scrollbar_event): add missing semicolon
6852
6853 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6854
6855         * XEmacs 21.4.3 "Academic Rigor" is released.
6856
6857 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6858
6859         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6860
6861 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6862
6863         * buffer.c (Vcase_fold_search): Remove obsolete
6864           comment about non ASCII case-fold-search.  This
6865           bug has been fixed by case-table changes.
6866
6867 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6868
6869         * event-msw.c: Restore include of events-mod.h.
6870
6871 2001-04-22   zhaoway  <zw@debian.org>
6872
6873         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6874         !HAVE_SCROLLBARS.
6875
6876 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6877
6878         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6879
6880 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6881
6882         * mule-charset.c (Fmake_charset): Add missing else.
6883
6884 2001-04-23  Ben Wing  <ben@xemacs.org>
6885
6886         * event-msw.c (FAKE_MOD_QUIT):
6887         * event-msw.c (mswindows_dequeue_dispatch_event):
6888         * event-msw.c (mswindows_wnd_proc):
6889         * event-msw.c (emacs_mswindows_quit_p):
6890         Get critical quit working.
6891
6892 2001-05-05  Ben Wing  <ben@xemacs.org>
6893
6894         * console-msw.h:
6895         * device-msw.c:
6896         * device-msw.c (mswindows_get_default_margin):
6897         * frame-msw.c (mswindows_size_frame_internal):
6898         * frame-msw.c (msprinter_init_frame_1):
6899         * frame-msw.c (vars_of_frame_mswindows):
6900         Change top/bottom margin defaults to 0.5 inches.
6901
6902 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6903
6904         Fix link error with gcc 3.0 on Linux.
6905         * terminfo.c (UP): Remove.
6906         * terminfo.c (BC): Remove.
6907         * terminfo.c (PC): Remove.
6908         They weren't used, and in any case, these symbols should be
6909         defined in the *library*.
6910
6911 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6912
6913         * s/aix4.h: Fix crash with xlc -O3.
6914         Improve comment explaining how -O3 works.
6915
6916 2001-04-15  Ben Wing  <ben@xemacs.org>
6917
6918         * event-stream.c:
6919         * event-stream.c (Fnext_event):
6920         * event-stream.c (is_scrollbar_event):
6921         * event-stream.c (execute_command_event):
6922         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6923         crash' problem.  His fix introduces other problems.  We filter
6924         out scrollbar events specifically, making them somewhat invisible
6925         to command-building, and not appearing in `this-command-keys'.
6926         More work is still needed (see comments in event-stream.c), but
6927         this fixes all the major problems.
6928
6929 2001-04-20  Ben Wing  <ben@xemacs.org>
6930
6931         * .cvsignore: Added stuff for Windows.
6932
6933 2001-04-28  Ben Wing  <ben@xemacs.org>
6934
6935         * buffer.c (Ferase_buffer):
6936         * editfns.c (buffer_insert1):
6937         * editfns.c (Finsert_before_markers):
6938         * editfns.c (Finsert_string):
6939         * editfns.c (Finsert_char):
6940         * editfns.c (Fdelete_region):
6941         * editfns.c (Fwiden):
6942         * editfns.c (Fnarrow_to_region):
6943         remove bogus lines setting zmacs_region_stays to 0.
6944         
6945 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6946
6947         * process-unix.c (unix_open_network_stream): If connect() fails
6948         invalidate file descriptor after closing it.
6949
6950 2001-03-08  Mike Alexander  <mta@arbortext.com>
6951
6952         * event-msw.c (mswindows_need_event_in_modal_loop):
6953         Don't dispatch a message if we didn't get one.
6954         (mswindows_need_event):
6955         Terminate the correct process when one exits instead of the first
6956         one on Vprocess_list and look for process termination when in
6957         mswindows_protect_modal_loop.
6958
6959 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6960
6961         * XEmacs 21.4.1 "Copyleft" is released.
6962
6963 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6964
6965         * input-method-motif.c (XIM_delete_frame): New callback.
6966         (XIM_init_frame): Register it.
6967
6968 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6969
6970         * XEmacs 21.4.0 "Solid Vapor" is released.
6971
6972 2001-04-15  Ben Wing  <ben@xemacs.org>
6973
6974         * cmdloop.c (call_command_loop):
6975         Fix braino in bit-rotting code.
6976         
6977 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6978
6979         * extents.c (Fset_extent_endpoints): Force creation of extent info
6980         in buffer_or_string.
6981
6982         * extents.c (process_extents_for_insertion_mapper): Correctly
6983         check for open-open zero-length extents.
6984
6985 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6986
6987         * lisp.h: New typedefs Memory_count, Element_count.
6988         * regex.c:
6989         * regex.h:
6990         Sign-compare warning elimination: several unsigned -> signed.
6991         Based on work by Ben Wing <ben@xemacs.org>.
6992
6993 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6994
6995         * XEmacs 21.2.47 "Zephir" is released.
6996
6997 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6998
6999         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
7000
7001 2001-04-03  Mike Sperber <mike@xemacs.org>
7002
7003         * search.c: Revert previous patch due because of release.
7004
7005 2001-03-30  Ben Wing  <ben@xemacs.org>
7006
7007         * s\cygwin32.h:
7008         Add missing killpg prototype.
7009
7010         * elhash.c:
7011         Add a comment about fixing problems when a new entry is added
7012         while mapping.
7013
7014         * frame-msw.c (mswindows_init_frame_1):
7015         Fix compile warnings.
7016
7017         * menubar.c (vars_of_menubar):
7018         Provide `menu-accelerator-support' to indicate that we properly
7019         support %_ in menu specifications, so that package code can
7020         conditionalize on this (and remove %_ from menu specifications
7021         on older versions).
7022
7023         * event-msw.c:
7024         * scrollbar-msw.c:
7025         * scrollbar-msw.c (can_scroll):
7026         * scrollbar-msw.h:
7027         Fix handling of mouse wheel under Windows to follow standards --
7028         now scrolls window under pointer, not selected window.
7029
7030 2001-03-31  Mike Sperber <mike@xemacs.org>
7031
7032         * search.c (Freplace_match): Support FSF-style specification of
7033         match subexpression when applied to a buffer.
7034
7035 2001-03-15  Martin Buchholz  <martin@xemacs.org>
7036
7037         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
7038         function to modify KEYMAP, so map over a copy of the hash table.
7039
7040 2001-03-21  Martin Buchholz <martin@xemacs.org>
7041
7042         * XEmacs 21.2.46 "Urania" is released.
7043
7044 2001-03-20  Dan Holmsand  <dan@eyebee.com>
7045
7046         * realpath.c (xrealpath): Make file-truename work with symlinks to
7047         /cygdrive paths on cygwin. Always lowercase drive-letters on
7048         native windows.
7049         (cygwin_readlink): Don't try to find canonical filename unless
7050         file exists.
7051
7052 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
7053
7054         * ChangeLog: Log GTK merge.
7055
7056         * dumper.c:
7057         * select-x.c:
7058         * specifier.c:
7059         * symeval.h:
7060         Revert gratuitous whitespace changes from GTK merge.
7061
7062         * emacs.c: Document end of complex #ifdef @ l. 1495.
7063
7064
7065 2001-03-12  Andy Piper  <andy@xemacs.org>
7066
7067         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7068         have to do likewise.
7069
7070 2001-03-12  Andy Piper  <andy@xemacs.org>
7071
7072         * sysdep.c: we only support mingw now.
7073
7074 2001-03-09  Andy Piper  <andy@xemacs.org>
7075
7076         * unexcw.c (copy_executable_and_dump_data_section): making approx
7077         overrun a warning only.
7078
7079 2001-03-10  William M. Perry  <wmperry@aventail.com>
7080
7081         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7082         satisfy Stephen's identical-after-cpp plea.
7083
7084 2001-03-02  Ben Wing  <ben@xemacs.org>
7085
7086         * cmds.c:
7087         * cmds.c (Fforward_char):
7088         * syntax.c:
7089         * window.c:
7090
7091         Augment documentation of the most common motion commands to make
7092         note of the shifted-motion support.
7093         
7094 2001-03-02  Ben Wing  <ben@xemacs.org>
7095
7096         * nt.c (mswindows_fstat):
7097         * nt.c (mswindows_stat):
7098         * search.c (boyer_moore):
7099         Fix compile warnings under Windows.
7100         
7101         * sysdep.c (sys_readdir):
7102         Fix buggy filename-conversion code under Mule.
7103
7104 2001-03-09  William M. Perry  <wmperry@aventail.com>
7105
7106         * Makefile.in.in:
7107         * config.h.in:
7108         * console.c:
7109         * console.h:
7110         * device.c:
7111         * device.h:
7112         * dragdrop.c:
7113         * emacs.c:
7114         * event-stream.c:
7115         * events.c:
7116         * events.h:
7117         * faces.c:
7118         * frame.h:
7119         * general-slots.h:
7120         * glyphs.c:
7121         * gutter.c:
7122         * inline.c:
7123         * lisp.h:
7124         * lrecord.h:
7125         * make-src-depend:
7126         * redisplay-output.c:
7127         * redisplay.c:
7128         * symsinit.h:
7129         * sysfile.h:
7130         * toolbar.c:
7131         * window.c:
7132         The Great GTK Merge.
7133
7134         * ChangeLog.GTK:
7135         * console-gtk.c:
7136         * console-gtk.h:
7137         * device-gtk.c:
7138         * emacs-marshals.c:
7139         * emacs-widget-accessors.c:
7140         * event-gtk.c:
7141         * frame-gtk.c:
7142         * gccache-gtk.c:
7143         * gccache-gtk.h:
7144         * glade.c:
7145         * glyphs-gtk.c:
7146         * glyphs-gtk.h:
7147         * gtk-glue.c:
7148         * gtk-xemacs.c:
7149         * gtk-xemacs.h:
7150         * gui-gtk.c:
7151         * gui-gtk.h:
7152         * menubar-gtk.c:
7153         * native-gtk-toolbar.c:
7154         * objects-gtk.c:
7155         * objects-gtk.h:
7156         * redisplay-gtk.c:
7157         * scrollbar-gtk.c:
7158         * scrollbar-gtk.h:
7159         * select-gtk.c:
7160         * toolbar-gtk.c:
7161         * ui-byhand.c:
7162         * ui-gtk.c:
7163         * ui-gtk.h:
7164         The Great GTK Merge: new files.
7165
7166 2001-02-26  Ben Wing  <ben@xemacs.org>
7167
7168         Reapplied Lstream change.
7169
7170 2001-02-26  Ben Wing  <ben@xemacs.org>
7171
7172         Undid the last change, since it is more controversial than I
7173         thought.  It should be back in at some point soon.
7174         
7175 2001-02-25  Ben Wing  <ben@xemacs.org>
7176
7177         * buffer.c:
7178         * callproc.c (Fold_call_process_internal):
7179         * event-msw.c (ntpipe_slurp_reader):
7180         * event-msw.c (ntpipe_shove_writer):
7181         * event-msw.c (winsock_reader):
7182         * event-msw.c (winsock_writer):
7183         * file-coding.c:
7184         * file-coding.c (detect_eol_type):
7185         * file-coding.c (detect_coding_type):
7186         * file-coding.c (determine_real_coding_system):
7187         * file-coding.c (Fdetect_coding_region):
7188         * file-coding.c (decoding_reader):
7189         * file-coding.c (decoding_writer):
7190         * file-coding.c (mule_decode):
7191         * file-coding.c (Fdecode_coding_region):
7192         * file-coding.c (encoding_reader):
7193         * file-coding.c (encoding_writer):
7194         * file-coding.c (mule_encode):
7195         * file-coding.c (Fencode_coding_region):
7196         * file-coding.c (detect_coding_sjis):
7197         * file-coding.c (decode_coding_sjis):
7198         * file-coding.c (encode_coding_sjis):
7199         * file-coding.c (detect_coding_big5):
7200         * file-coding.c (decode_coding_big5):
7201         * file-coding.c (encode_coding_big5):
7202         * file-coding.c (detect_coding_ucs4):
7203         * file-coding.c (decode_coding_ucs4):
7204         * file-coding.c (encode_coding_ucs4):
7205         * file-coding.c (detect_coding_utf8):
7206         * file-coding.c (decode_coding_utf8):
7207         * file-coding.c (encode_coding_utf8):
7208         * file-coding.c (detect_coding_iso2022):
7209         * file-coding.c (decode_coding_iso2022):
7210         * file-coding.c (encode_coding_iso2022):
7211         * file-coding.c (decode_coding_no_conversion):
7212         * file-coding.c (encode_coding_no_conversion):
7213         * glyphs-x.c (write_lisp_string_to_temp_file):
7214         * gpmevent.c (tty_get_foreign_selection):
7215         * lisp.h:
7216         * lstream.c:
7217         * lstream.c (Lstream_flush_out):
7218         * lstream.c (Lstream_adding):
7219         * lstream.c (Lstream_write_1):
7220         * lstream.c (Lstream_write):
7221         * lstream.c (Lstream_raw_read):
7222         * lstream.c (Lstream_read_more):
7223         * lstream.c (Lstream_read):
7224         * lstream.c (Lstream_unread):
7225         * lstream.c (Lstream_fputc):
7226         * lstream.c (stdio_reader):
7227         * lstream.c (stdio_writer):
7228         * lstream.c (filedesc_reader):
7229         * lstream.c (filedesc_writer):
7230         * lstream.c (lisp_string_reader):
7231         * lstream.c (struct fixed_buffer_stream):
7232         * lstream.c (make_fixed_buffer_input_stream):
7233         * lstream.c (make_fixed_buffer_output_stream):
7234         * lstream.c (fixed_buffer_reader):
7235         * lstream.c (fixed_buffer_writer):
7236         * lstream.c (struct resizing_buffer_stream):
7237         * lstream.c (resizing_buffer_writer):
7238         * lstream.c (dynarr_writer):
7239         * lstream.c (lisp_buffer_reader):
7240         * lstream.c (lisp_buffer_writer):
7241         * lstream.h:
7242         * lstream.h (lstream_implementation):
7243         * lstream.h (struct lstream):
7244         * md5.c (Fmd5):
7245         * process-nt.c (nt_send_process):
7246         * process-unix.c (unix_send_process):
7247         
7248         Correct Lstream lossage due to mixing of signed and unsigned
7249         quantities.  All Lstream uses of size_t and ssize_t are now a
7250         single signed data type Lstream_data_count.  This fixes problems
7251         under Windows with sending large quantities of data to a process,
7252         and may well fix other subtle bugs.
7253
7254 2001-02-23  Martin Buchholz <martin@xemacs.org>
7255
7256         * XEmacs 21.2.45 "Thelxepeia" is released.
7257
7258 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7259
7260         * lisp-union.h (XSETINT): 
7261         (XSETCHAR):
7262         (XSETOBJ): 
7263         Reverse previous change of 2001-02-06.
7264
7265 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7266
7267         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7268         buffers.
7269         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7270         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7271         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7272         * regex.c (POS_AS_IN_BUFFER): removed
7273         * regex.c (re_search_2):
7274         * regex.c (re_match_2):
7275         Don't use an offset of 1 when calculating buffer positions, since
7276         `BI_BUF_BEGV' does it already.
7277
7278 2001-02-18  Wim Dumon  <wim@easics.be>
7279
7280         * insdel.c (prepare_to_modify_buffer): Also check for
7281         supersession when clash-detection is enabled. 
7282
7283 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7284
7285         * regex.c (re_match_2_internal):
7286         Convert temp characters from 'const unsigned char' to 're_char'.
7287         Fix crashing bug with extended characters under mule.
7288         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7289         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7290         font-lock, pdump, and new syntax-table code.
7291         * syntax.c (find_start_of_comment):
7292         (find_end_of_comment):
7293         (forward-comment):
7294         Fix crashing bugs involving moving beyond end of buffer.
7295         * syntax.c (find_start_of_comment):
7296         Fixed logic to allow proper detection of cases where the same
7297         character is used to end both a two-char comment start and a
7298         two-char comment end sequence. Fixes `(forward-comment -1)'.
7299         * syntax.c (find_start_of_comment):
7300         Return position just past last comment-end character for all cases
7301         (previously was only done for two-char comment-end sequences).
7302         * syntax.c (forward-comment):
7303         Take value returned from `find_end_of_comment', rather than
7304         incrementing it.
7305         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7306         Properly deal with BUFFERP (syntax_cache.object)
7307
7308 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7309
7310         * alloc.c (Fgarbage_collect): 
7311         * alloc.c (make_bit_vector_from_byte_vector):
7312         -Wsign-compare-correctness.
7313
7314 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7315
7316         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7317         (XSETCHAR): Likewise.
7318         (XSETOBJ): Likewise.
7319
7320 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7321
7322         * mule-canna.c (canna-func-delete_previous): 
7323         Rename to canna-func-delete-previous.
7324
7325 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7326
7327         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7328
7329 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7330
7331         * font-lock.c (find_context): Fix C++ compile errors introduced by
7332         recent patch
7333
7334 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7335
7336         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7337         pragma, but earlier ones barf on the same pragma.
7338
7339 2001-02-06  Mike Sperber <mike@xemacs.org>
7340
7341         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7342         `configure-mule-lisp-directory'.
7343
7344 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7345
7346         Make sure dump-id.c is compiled in the same way as other .c's.
7347         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7348         * dump-id.h: Remove.
7349         * emacs.c: Move dump-id.h into dumper.h.
7350         * dumper.h: Move dump-id.h into dumper.h.
7351         * Makefile.in.in:
7352         Use standard .c.o rule for building dump-id.o.
7353         Remove preprocessor flags from link command.
7354         Add dump-id.o to ${otherobjs} if PDUMP.
7355
7356 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7357
7358         Port FSF 20.7 syntax table improvements.
7359         * syntax.c.
7360         * syntax.h.
7361
7362         Fixups for new syntax table stuff.
7363         * dired.c: Include syntax.c.
7364         (Fdirectory_files): Initialize regex_match_object and
7365         regex_emacs_buffer.
7366         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7367         and Fget_char_property.
7368
7369         Use ported FSF 20.7 syntax table improvements.
7370         * font-lock.c.
7371         * regex.c.
7372         * search.c.
7373         
7374 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7375
7376         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7377         Unixware's enum boolean from sys/types.h.
7378
7379 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7380
7381         Fix support for building with latest Purify.
7382         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7383         (PURIFY_FLAGS): Likewise.
7384
7385 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7386
7387         * fileio.c (lisp_string_set_file_times): New.
7388         * fileio.c (Fcopy_file): Use it.
7389         Fixes bug:
7390         (copy-file filename non-ascii-filename t t)
7391         ==> No such file or directory, non-ascii-filename
7392
7393 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7394
7395         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7396         USHRT_MAX seems clearer than ~0 anyways.
7397
7398 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7399
7400         dumper improvements.  Inspired by Olivier.
7401         * dumper.c (pdump_max_align): New.
7402         * dumper.c (pdump_add_entry): Use pdump_max_align.
7403         * dumper.c (pdump_get_entry_list): Likewise.
7404         * dumper.c (pdump_scan_by_alignment): Likewise.
7405         Don't iterate through unnecessary alignments.
7406         * dumper.c (pdump_file_get): No need to align result of malloc().
7407         * dumper.c (pdump_mallocadr): Remove.  
7408         The result of malloc() is guaranteed to be maximally aligned.
7409         * dumper.c: s/elmt/elt/g;
7410         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7411         * dumper.c (pdump_alert_undump_object): Likewise.
7412         * dumper.c (pdump_align_table): 
7413         Don't support alignments > 64.
7414         Store ALIGNOF's, not shift counts, in table.
7415
7416 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7417
7418         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7419         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7420         * systime.h: Use HAVE_UTIME.
7421         * sysdep.c (struct utimbuf): Remove.
7422         * sysdep.c (set_file_times): Prefer utime() to utimes().
7423         * config.h.in (HAVE_UTIME): New.
7424         * config.h.in (HAVE_UTIME_H): Remove.
7425         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7426
7427 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7428
7429         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7430
7431 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7432
7433         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7434
7435 2001-02-08  Martin Buchholz <martin@xemacs.org>
7436
7437         * XEmacs 21.2.44 "Thalia" is released.
7438
7439 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7440
7441         Fixes crashes in kill-emacs on some systems.
7442         * process-unix.c (unix_kill_child_process):
7443         It's OK for kill() to fail with ESRCH.
7444
7445 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7446
7447         Contortions to make .gdbinit tricks work on most systems.
7448         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7449         * alloc.c (dbg_valmask): Make non-const.
7450         * alloc.c (dbg_typemask): Make non-const.
7451         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7452         * alloc.c (dbg_valbits): Make non-const.
7453         * alloc.c (dbg_gctypebits): Make non-const.
7454         * .gdbinit (decode_object): Make it work with AIX cc.
7455
7456 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7457
7458         * elhash.c (make_general_lisp_hash_table):
7459         Use simpler and more efficient calloc to clear entries.
7460
7461 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7462
7463         * window.c (window_scroll): Work around an AIX C compiler bug.
7464         Fixes 'scroll-up' does nothing problem with xlC.
7465
7466 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7467
7468         * .gdbinit: Remove obsolete comment.
7469
7470 2001-01-31  Mike Alexander  <mta@arbortext.com>
7471
7472         * select.c (Fown_selection_internal): Set owned_p for device
7473         method correctly.
7474
7475 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7476
7477         Port to g++ 2.97.
7478         "not" cannot be used as a macro name as it is an operator in C++
7479         * config.h.in: Stop #defining `not'.
7480         * chartab.c (check_category_char): not ==> not_p
7481         * chartab.h: Likewise.
7482         * regex.c (re_match_2_internal): Likewise.
7483
7484 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7485
7486         * lisp-disunion.h: Fix up comments.
7487
7488 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7489
7490         * keymap.c (define_key_check_and_coerce_keysym):
7491         (syms_of_keymap):
7492         Support mouse-6 and mouse-7 bindings in the obvious way.
7493
7494 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7495
7496         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7497
7498 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7499
7500         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7501         Previous patch missed DEFVAR_INT_MAGIC.
7502         Make sure future DEFVAR_foo use correct types.
7503         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7504         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7505         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7506         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7507         * (DEFVAR_INT): Likewise.
7508         * redisplay.c (vertical_clip): Should be of type Fixnum.
7509         * redisplay.c (horizontal_clip): Likewise.
7510         * lisp.h (dump_add_opaque_int): New.
7511         (dump_add_opaque_fixnum): New.
7512
7513 2001-01-29  Andy Piper  <andy@xemacs.org>
7514
7515         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7516         since they can be eval'ed
7517
7518 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7519
7520         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7521         Oops, XEmacs redefines `class'.  Use `typename' instead.
7522
7523 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7524
7525         * dumper.c: Fix C++ compile errors.
7526
7527 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7528
7529         * tparam.c: Use correct prototypes.
7530
7531 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7532
7533         * sysproc.h: #include util.h for NetBSD's openpty.
7534
7535 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7536
7537         More 64-bit correctness.
7538         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7539         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7540         Fix up comments.
7541         This finally finishes the 64-bit SGI port.
7542         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7543         * symbols.c: Fix up comments and type casts.
7544         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7545         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7546         * symeval.h (Fixnum): New type.
7547         * symeval.h (symbol_value_type): Fix up comment.
7548
7549         * commands.h:
7550         * nt.c:
7551         * emacs.c:
7552         * data.c:
7553         * redisplay.c:
7554         * abbrev.c:
7555         * dired-msw.c:
7556         * event-Xt.c:
7557         * eldap.c:
7558         * window.c:
7559         * sound.c:
7560         * event-stream.c:
7561         * eval.c:
7562         * buffer.c:
7563         * mule-canna.c: A million DEFVAR_INTs here...
7564         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7565         * extents.c:
7566         * cmdloop.c:
7567         * lisp.h:
7568         * select-x.c:
7569         * console-x.h:
7570         * event-msw.c:
7571         * mule-wnnfns.c:
7572         * hpplay.c:
7573         * ralloc.c:
7574         * alloc.c:
7575         * keymap.c:
7576         * profile.c:
7577         s/int/Fixnum/g in DEFVAR_INT declarations.
7578
7579 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7580
7581         Port pdump to SGI alignment-sensitive environment.
7582         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7583         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7584         properly aligned.
7585         Define and use aligned reading and writing macros.
7586         Use buffered stdio instead of posix i/o for faster dumping.
7587         Eliminate kludgy 256 byte space for header.
7588         Read and write from dump file using structs for alignment safety.
7589         * dumper.c (pdump_align_stream): New.
7590         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7591         * dumper.c (PDUMP_READ_ALIGNED): New.
7592         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7593         * dumper.c (pdump_static_Lisp_Object): New struct.
7594         * dumper.c (pdump_static_pointer): New struct.
7595         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7596         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7597         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7598         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7599
7600         * dumper.c (pdump_backtrace):
7601         * dumper.c (pdump_get_indirect_count):
7602         * dumper.c (pdump_register_object):
7603         * dumper.c (pdump_register_struct):
7604         * dumper.c (pdump_reloc_one):
7605         * dumper.c (pdump_scan_by_alignment):
7606         * dumper.c (pdump_dump_from_root_struct_ptrs):
7607         * dumper.c (pdump_dump_opaques):
7608         * dumper.c (pdump_dump_rtables):
7609         * dumper.c (pdump_dump_from_root_objects):
7610         * dumper.c (pdump):
7611         * dumper.c (pdump_load_finish):
7612         Use aligned reading and writing.
7613
7614         * dumper.c (pdump_free): Make static.
7615         * dumper.c (pdump_hFile): Likewise.
7616         * dumper.c (pdump_hMap): Likewise.
7617
7618 2001-01-26  Martin Buchholz <martin@xemacs.org>
7619
7620         * XEmacs 21.2.43 "Terspichore" is released.
7621
7622 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7623
7624         Type fiddling for window_config.saved_windows_count
7625         * window.c (struct window_config): 
7626         Make saved_windows_count member unsigned.
7627         * window.c (sizeof_window_config_for_n_windows): 
7628         Make parameter unsigned.
7629         * window.c (mark_window_config):
7630         * window.c (window_config_equal):
7631         * window.c (free_window_configuration):
7632         * window.c (Fset_window_configuration):
7633         * window.c (count_windows):
7634         * window.c (Fcurrent_window_configuration):
7635         * window.c (reinit_vars_of_window):
7636         Update all callers and users.
7637
7638 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7639
7640         Alignment correctness for flexible arrays.
7641         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7642         Make alignment-correct. Add interesting comments.
7643         * alloc.c (size_vector):
7644         * alloc.c (make_vector_internal):
7645         * alloc.c (make_bit_vector_internal):
7646         * alloc.c (sweep_bit_vectors_1):
7647         * fns.c (size_bit_vector):
7648         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7649         * window.c (sizeof_window_config_for_n_windows): 
7650         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7651
7652 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7653
7654         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7655
7656 2001-01-23  Andy Piper  <andy@xemacs.org>
7657
7658         * select.c (Fown_selection_internal): pass owned_p
7659
7660         * select-msw.c (mswindows_own_selection): New Signature.
7661
7662         * console.h (struct console_methods): add owned_p to
7663         _own_selection.
7664
7665         * select-x.c (x_own_selection): pass owned_p
7666         (hack_motif_clipboard_selection): use owned_p
7667         (vars_of_select_x): new variable -
7668         x_selection_strict_motif_ownership.
7669
7670 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7671
7672         * specifier.h (specifier_data_offset): Remove pointless parens.
7673         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7674
7675 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7676
7677         Make Lisp_Object sizeof methods be alignment-correct.
7678         pdump must restore objects to the same alignment as the C compiler
7679         assumes.  It really matters on SGIs.
7680         * lstream.c (aligned_sizeof_lstream): New.
7681         (sizeof_lstream): Use aligned_sizeof_lstream.
7682         (Lstream_new): Likewise.
7683         * opaque.c (aligned_sizeof_opaque): New.
7684         (sizeof_opaque): Use aligned_sizeof_opaque.
7685         (make_opaque): Likewise.
7686         * specifier.c (aligned_sizeof_specifier): New.
7687         (sizeof_specifier): Use aligned_sizeof_specifier.
7688         (make_specifier_internal): Likewise.
7689
7690 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7691
7692         * lstream.h (struct lstream): Use max_align_t for trailing data.
7693         * specifier.h (struct Lisp_Specifier): Likewise.
7694
7695 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7696
7697         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7698         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7699         (CCL_SUSPEND): Likewise.
7700         (CCL_INVALID_CMD): Likewise.
7701         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7702         (ccl_driver): Likewise.
7703         (CCL_WRITE_CHAR): Macro hygiene.
7704         (CCL_WRITE_STRING): Macro hygiene.
7705
7706 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7707
7708         Port "portable" dumper to SunOS 4 and HP-UX.
7709         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7710         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7711         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7712
7713 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7714
7715         * lisp.h (ALIGNOF): A better definition for C++.
7716
7717 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7718
7719         Macro hygiene.
7720         Fix printf warnings: int format, long int arg.
7721         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7722         (PUSH_FAILURE_POINT): Use correct printf formats.
7723         (POP_FAILURE_POINT): Use correct printf formats.  
7724         Use do {...} while (0)
7725
7726 2001-01-20  Martin Buchholz <martin@xemacs.org>
7727
7728         * XEmacs 21.2.42 "Poseidon" is released.
7729
7730 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7731
7732         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7733
7734 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7735
7736         De-kludgify FIXED_TYPE free list frobbing.
7737         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7738         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7739         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7740         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7741         * alloc.c (LRECORD_FREE_P): New.
7742         * alloc.c (MARK_LRECORD_AS_FREE): New.
7743         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7744         * alloc.c (STRUCT_FREE_P): Deleted.
7745         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7746         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7747         * alloc.c (STRING_CHARS_FREE_P): New.
7748         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7749         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7750         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7751         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7752         * alloc.c (resize_string): Use new definitions.
7753         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7754         * alloc.c (verify_string_chars_integrity): Use new definitions.
7755         * alloc.c (compact_string_chars): Use new definitions.
7756         * alloc.c: Update monster comments.
7757         * lrecord.h (lrecord_type): Add some new lrecord types for
7758         alloc.c's use.
7759
7760 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7761
7762         Improve alignment hackery.
7763         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7764         (max_align_t): Moved from opaque.h - general purpose.
7765         (ALIGN_PTR): Use size_t, not long.
7766         * opaque.h (max_align_t): Move to lisp.h.
7767
7768 2001-01-18  Norbert Koch  <nk@LF.net>
7769
7770         * gui.h: Fix and add prototypes to fix build problems.
7771
7772 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7773
7774         temacs is going away, so `dump-temacs' is now a bad name.
7775         * .dbxrc (dump-temacs): Rename to `dmp'.
7776         * .gdbinit (dump-temacs): Rename to `dmp'.
7777
7778 2001-01-17  Andy Piper  <andy@xemacs.org>
7779
7780         * glyphs.c (print_image_instance): comment to make martin happy.
7781
7782         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7783         change.
7784
7785         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7786         activation.
7787         (mswindows_tab_control_redisplay): warning suppression.
7788
7789         * glyphs-widget.c (widget_update): re-write to cope with updated
7790         items.
7791         (widget_instantiate): use new gui_item functions.
7792         (tab_control_update): deleted.
7793         (progress_gauge_update): deleted.
7794         (image_instantiator_progress_guage): take out update reference.
7795         (image_instantiator_tree_view): ditto.
7796         (image_instantiator_tab_control): ditto.
7797
7798         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7799         Right the new way.
7800         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7801         return whether anything was changed.
7802         (update_gui_item_keywords): as it sounds.
7803
7804         * gui.h: declare widget_gui_parse_item_keywords.
7805
7806         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7807         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7808
7809 2001-01-17  Martin Buchholz <martin@xemacs.org>
7810
7811         * XEmacs 21.2.41 "Polyhymnia" is released.
7812
7813 2001-01-16  Didier Verna  <didier@xemacs.org>
7814
7815         * glyphs.c (image_instantiate): don't use fallbacks when
7816         instantiating a face's background pixmap by inheritance.
7817
7818 2001-01-14  Mike Sperber <mike@xemacs.org>
7819
7820         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7821         Conditionalize accordingly.
7822
7823 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7824
7825         * dumper.c (pdump_file_get): Fix a compiler warning.
7826
7827 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7828
7829         Make Purify happy when pdumping.
7830         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7831         iniitalizing all bits of new lisp object memory.
7832         * symbols.c (Fmake_local_variable): Likewise.
7833         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7834         * symbols.c (Fdefvaralias): Likewise.
7835         * mule-charset.c (vars_of_mule_charset): Likewise.
7836
7837 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7838         Add the `-nd' flag when running pre-dump operations under the debugger.
7839         * .dbxrc (run-temacs): Add `-nd'.
7840         * .dbxrc (update-elc): Likewise.
7841         * .dbxrc (dump-temacs): Likewise.
7842         * .gdbinit (run-temacs): Likewise.
7843         * .gdbinit (check-temacs): Likewise.
7844         * .gdbinit (update-elc): Likewise.
7845         * .gdbinit (dump-temacs): Likewise.
7846
7847 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7848
7849         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7850         export OBJECT_MODE=64
7851         configure --pdump --use-union-type=no
7852         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7853         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7854
7855         * miscplay.c (sndcnv8U_2mono):
7856         Avoid two uses of `++' in the same expression.
7857         Suppresses a GCC warning.
7858
7859 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7860
7861         Make sure future compilers don't miscompile alloc.c.
7862         * alloc.c:
7863         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7864         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7865
7866 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7867
7868         * dumper.c: A little post-pdump-rename comment fixup.
7869
7870 2001-01-09  Jerry James  <james@eecs.ku.edu>
7871
7872         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7873
7874 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7875
7876         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7877         script:
7878         #!/bin/sh
7879         replace_symbol () {
7880           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7881         }
7882
7883         replace_symbol pdump_wire_lists pdump_weak_object_chains
7884         replace_symbol pdump_wire_list dump_add_weak_object_chain
7885
7886         replace_symbol pdump_wires pdump_root_objects
7887         replace_symbol pdump_wire dump_add_root_object
7888
7889         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7890         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7891
7892         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7893         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7894         replace_symbol dumpstructinfo pdump_root_struct_ptr
7895         replace_symbol dumpstruct dump_add_root_struct_ptr
7896
7897         replace_symbol dumpopaque dump_add_opaque
7898         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7899         replace_symbol dumpopaqueinfos pdump_opaques
7900         replace_symbol dumpopaqueinfo pdump_opaque
7901
7902         replace_symbol nb_structdump nb_root_struct_ptrs
7903         replace_symbol nb_opaquedump nb_opaques
7904
7905         replace_symbol align_table pdump_align_table
7906         replace_symbol dump_header pdump_header
7907
7908         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7909         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7910
7911
7912 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7913
7914         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7915         optimizing bytecount_to_charcount().
7916
7917 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7918
7919         * config.h.in:
7920         (HAVE_DLFCN_H): Removed.
7921         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7922
7923 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7924
7925         Portable dumper maintainability improvements.
7926         * alloc.c (staticpro):
7927         * alloc.c (staticpro_nodump):
7928         * alloc.c (garbage_collect_1):
7929         * alloc.c (reinit_alloc_once_early):
7930         * alloc.c (init_alloc_once_early):
7931         * alloc.c: Move dumper functions to alloc.c.
7932         * dumper.c (pdump_backtrace):
7933         * dumper.c (pdump_dump_structs):
7934         * dumper.c (pdump_dump_opaques):
7935         * dumper.c (pdump_dump_rtables):
7936         * dumper.c (pdump_dump_wired):
7937         * dumper.c (pdump):
7938         * dumper.c (pdump_load_check):
7939         * dumper.c (pdump_load_finish):
7940         * dumper.c (pdump_file_unmap):
7941         * dumper.c (pdump_file_get):
7942         * dumper.c (pdump_resource_free):
7943         * dumper.c (pdump_resource_get):
7944         * dumper.c (pdump_file_free):
7945         * dumper.c (pdump_file_try):
7946         * dumper.c (pdump_load):
7947         Remove fixed size limits on staticpro(), staticpro_nodump(),
7948         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7949         Remove custom code for dumping lrecord_implementations_table - use
7950         dumpopaque instead.
7951         Remove (most of the) custom code for dumping staticpros - dump it
7952         like any other dynarr.
7953
7954         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7955         * dumper.c: Moved functions from alloc.c.
7956         * alloc.c (dumpstruct): Moved to dumper.c.
7957         * alloc.c (dumpopaque): Likewise.
7958         * alloc.c (pdump_wire): Likewise.
7959         * alloc.c (pdump_wire_list): Likewise.
7960
7961         * lisp.h (Dynarr_sizeof): New.
7962         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7963         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7964         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7965
7966         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7967         * lisp.h (dumpopaque): ditto.
7968         * lisp.h (pdump_wire): ditto.
7969         * lisp.h (pdump_wire_list): ditto.
7970
7971 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7972
7973         * make-src-depend (PrintPatternDeps):
7974         Use `sort' to make output independent of perl version.
7975
7976 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7977
7978         Port to Netbsd 1.5.
7979         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7980         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7981
7982 2001-01-03  Didier Verna  <didier@xemacs.org>
7983
7984         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7985         that `focus_frame' is alive before thinking of calling
7986         `redisplay_redraw_cursor' on it.
7987
7988 2001-01-08  Martin Buchholz <martin@xemacs.org>
7989
7990         * XEmacs 21.2.40 is released.
7991
7992 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7993
7994         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7995
7996 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7997
7998         * alloc.c (dbg_valmask): Make const.
7999         * alloc.c (dbg_typemask): Make const.
8000         * alloc.c (dbg_USE_UNION_TYPE): Make const.
8001         * alloc.c (dbg_valbits): Make const.
8002         * alloc.c (dbg_gctypebits): Make const.
8003
8004 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
8005
8006         * redisplay-x.c (x_bevel_area):
8007         redisplay.h (struct rune):
8008         Typo fixes in comments.
8009
8010 2001-01-05  Andy Piper  <andy@xemacs.org>
8011
8012         * glyphs-x.c (x_redisplay_widget): use size changed for offset
8013         adjustment.
8014
8015         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
8016
8017 2001-01-05  Martin Buchholz  <martin@xemacs.org>
8018
8019         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
8020
8021         * mule-ccl.c (stack_idx_of_map_multiple):
8022         Non const global data must not be initialized!
8023         Found by MIYASHITA Hisashi.
8024
8025 2001-01-02  Andy Piper  <andy@xemacs.org>
8026
8027         * frame.c (change_frame_size): make sure frame size is always
8028         marked as changed.
8029
8030         * glyphs.c (image_instance_layout): minor code reuse.
8031
8032         * window.c (Fcurrent_window_configuration): revert previous
8033         change.
8034
8035 2001-01-02  Martin Buchholz  <martin@xemacs.org>
8036
8037         * glyphs.h:
8038         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
8039
8040 2000-12-31  Andy Piper  <andy@xemacs.org>
8041
8042         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
8043         when widget gets unmapped.
8044
8045         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
8046         function. Make sure widgets losing focus don't just drop it.
8047         (handle_focus_event_1): record the widget with focus.
8048
8049 2000-12-31  Andy Piper  <andy@xemacs.org>
8050
8051         * window.c (allocate_window): use
8052         make_image_instance_cache_hash_table.
8053         (make_dummy_parent): ditto.
8054         (Fset_window_configuration): ditto.
8055
8056         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
8057
8058         * glyphs.c (process_image_string_instantiator): use
8059         INSTANTIATOR_TYPE.
8060         (get_image_instantiator_governing_domain): ditto.
8061         (normalize_image_instantiator): ditto.
8062         (instantiate_image_instantiator): ditto.
8063         (make_image_instance_1): ditto.
8064         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8065         (instantiator_eq_equal): new function for use with instance hash
8066         tables.
8067         (instantiator_eq_hash): ditto.
8068         (make_image_instance_cache_hash_table): create a suitable hash
8069         table for storing image instances.
8070
8071         * elhash.h (hash_table_weakness): new internal weakness type
8072         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8073         declare new functions.
8074
8075         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8076         another weakness type for glyphs.
8077         (make_standard_lisp_hash_table): new function split out from
8078         make_general_lisp_hash_table.
8079         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8080         (hash_table_instantiate): ditto.
8081         (Fmake_hash_table): ditto.
8082
8083 2000-12-31  Martin Buchholz <martin@xemacs.org>
8084
8085         * XEmacs 21.2.39 is released.
8086
8087 2000-12-29  Andy Piper  <andy@xemacs.org>
8088
8089         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8090
8091         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8092         the frame has changed so that we pick up geometry changes such as
8093         menubar visibility.
8094
8095 2000-12-28  Andy Piper  <andy@xemacs.org>
8096
8097         * lastfile.c (my_ebss): make a char array so we can pad the
8098         bss. Fixes cygwin unexec.
8099
8100         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8101
8102 2000-12-26  Andy Piper  <andy@xemacs.org>
8103
8104         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8105         comments and try and be more precise about a non-/SIGIO world.
8106         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8107         SIGIO.
8108
8109         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8110         we don't normalize to zero width or height.
8111
8112 2000-12-24  Andy Piper  <andy@xemacs.org>
8113
8114         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8115
8116 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8117
8118         * s/sco5.h: SCO 5 has pty support.
8119
8120 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8121
8122         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8123         input-method-xlib.c contains whole contents of input-method-xfs.c,
8124         so we can use input-method-xlib.c's code for USE_XFONTSET
8125         using #ifdefs.
8126         * input-method-xfs.c: removed.
8127
8128 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8129
8130         * file-coding.h (enum coding_category_type): reorder enumerators to
8131         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8132         (now one greater than largest real coding_category_type enumerator).
8133         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8134         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8135         Fcoding_category_list, Fset_coding_priority_list,
8136         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8137         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8138
8139 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8140
8141         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8142         * redisplay-output.c (redisplay_output_window): Clear top of window
8143         when face is changed.
8144         * redisplay-x.c (x_redraw_exposed_window): Call
8145         redisplay_clear_top_of_window.
8146         * redisplay.h: Publish redisplay_clear_top_of_window.
8147
8148 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8149
8150         * buffer.c (Fkill_buffer): Map over all devices.
8151         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8152         (list_windows): New function.
8153         (list_all_windows): Ditto.
8154         (Freplace_buffer_in_windows): Use them.
8155
8156 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8157
8158         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8159         (Fopen_database): Use `db_create' instead of `db_open'.
8160         (syms_of_database): Initialize Qqueue.
8161
8162 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8163
8164         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8165         buffer_local_face_property.
8166         * buffer.h (struct buffer): New member buffer_local_face_property.
8167         * window.c (Fset_window_buffer):  Mark window's face as changed
8168         when buffer has buffer local face.
8169         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8170         * objects.c (color_after_change): Set buffer_local_face_property
8171         when locale of face specifier is buffer.
8172         * objects.c (font_after_change): Ditto.
8173         * objects.c (face_boolean_after_change): Ditto.
8174         * glyphs.c (image_after_change): Ditto.
8175
8176 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8177
8178         * nt.c (mswindows_fstat): Report file permissions, volume serial
8179         number, etc. Code adapted from FSF Emacs 20.7.
8180
8181 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8182
8183         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8184         of stat when we don't have symbolic links, to make sure
8185         mswindows_stat is called on mswindows.
8186
8187 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8188
8189         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8190
8191 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8192
8193         * doprnt.c (emacs_doprnt_1): More printing fixes.
8194         Make printing of numbers compatible with libc and FSF Emacs.
8195         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8196         Use the system printf to do most of the hard work of formatting,
8197         instead of doprnt_1().
8198         Calculate memory to allocate for format string.
8199         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8200         (doprnt_1): Cleaner code and documentation.
8201
8202 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8203
8204         * Makefile.in.in: Use the loop variable to install headers.
8205
8206 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8207
8208         * window.c (Fsplit_window): Don't invalidate face cache.
8209
8210 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8211
8212         * minibuf.c (Fall_completions): Undo the previous change
8213         which removed checking elements start with space.
8214
8215 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8216
8217         * mule-canna.c: Didier suppression.
8218
8219 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8220
8221         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8222         (warning suppression).  Add English comment translations.
8223
8224 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8225
8226         * unexelfsgi.c (unexec): Better test for mmap failure.
8227
8228 2000-12-05  Martin Buchholz <martin@xemacs.org>
8229
8230         * XEmacs 21.2.38 is released.
8231
8232 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8233
8234         * redisplay.c (bar-cursor): Make a user variable.
8235
8236         * symsinit.h: Add init_postgresql_from_environment.
8237
8238 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8239
8240         * regex.c: Convert to clean C.
8241
8242 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8243
8244         * realpath.c:
8245         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8246         initialization.
8247         (sys_readlink): renamed to system_readlink to avoid conflict with
8248         the other sys_readlink.
8249
8250 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8251
8252         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8253
8254 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8255
8256         * postgresql.c (init_postgresql_from_environment): new function.
8257         (vars_of_postgresql): Move code initializing Lisp variables out and
8258         into init_postgresql_from_environment.
8259         emacs.c (main_1): Call init_postgresql_from_environment if and only
8260         if running a dumped XEmacs.
8261
8262 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8263
8264         * buffer.c: Make find-file-compare-truenames default to true on
8265         windows.
8266
8267         * realpath.c (win32_abs_start):
8268         (cygwin_readlink):
8269         (win32_readlink): New functions.
8270         (xrealpath): Return really real filenames on windows.
8271
8272         * fileio.c (Ffile_truename): Make file-truename work on windows.
8273
8274 2000-11-29  Didier Verna  <didier@xemacs.org>
8275
8276         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8277         * faces.c (update_face_cachel_data): use it.
8278         * faces.c (add_face_cachel): use it. Complete background pixmap
8279         frobbing in face cache if `update_face_cachel_data' has not done so.
8280
8281 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8282
8283         * search.c (string_match_1): Don't set last_thing_searched
8284         when search failed.
8285
8286 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8287
8288         * buffer.c: Include casetab.h
8289         (common_init_complex_vars_of_buffer): Use new case-table object.
8290         * buffer.h: Include casetab.h
8291         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8292         (DOWNCASE_TABLE_OF): Ditto.
8293         * bufslots.h: Remove char-tables and add case-table.
8294         * casetab.c: Include casetab.h
8295         (CASE_TABLE_P): Removed.
8296         (mark_case_table): New function.
8297         (allocate_case_table): New function.
8298         (Fcase_table_p): Use new case-table.
8299         (case_table_char): New function.
8300         (Fget_case_table): Ditto.
8301         (Fput_case_table): Ditto.
8302         (Fput_case_table_pair): Ditto.
8303         (Fcopy_case_table): Ditto.
8304         (Fcurrent_case_table): Return case-table.
8305         (Fstandard_case_table): Return case-table.
8306         (Fset_case_table): Fix doc-string.
8307         (set_case_table): Use case-table
8308         (syms_of_casetab): DEFSUBR new functions.
8309         (complex_vars_of_casetab): Set up standard case-table.
8310         * casetab.h: New file.
8311         * editfns.c: Include casetab.h
8312         (Fcompare_buffer_substrings): Use case-table.
8313         * inline.c: Include casetab.h
8314         * lisp.h: Remove bogus extern.
8315         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8316         * search.c: Include casetab.h
8317         (TRANSLATE_ASCII): Removed.
8318         (TRANSLATE): Unconditionally translate character.
8319         (looking_at_1): Use case-table.
8320         (string_match_1): Ditto.
8321         (fast_string_match): Ditto.
8322         (search_command): Ditto.
8323         (search_buffer): Separate boyer_moore.  Check whether
8324         boyer_moore is possible.
8325         (simple_search): New function.
8326         (boyer_moore): Separated from search_buffer. Translate char.
8327
8328 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8329
8330         * regex.c (RE_TR_ASCII): Removed.
8331         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8332         (PATFETCH): Call PATFETCH_RAW.
8333         (PATFETCH_RAW): Fetch Emchar.
8334         (PATUNFETCH): Decrement charptr.
8335         (GET_BUFFER_SPACE): Rename b to buf_end.
8336         (BUF_PUSH): Ditto.
8337         (BUF_PUSH_2): Ditto.
8338         (BUF_PUSH_3): Ditto.
8339         (EXTEND_BUFFER): Ditto.
8340         (SET_LIST_BIT): Ditto.
8341         (regex_compile): Ditto.  Translate non ASCII char.
8342         (compile_range): Ditto.
8343         (re_search_2): Ditto.
8344         (re_match_2_internal): Compare Emchar.
8345         (bcmp_translate): Ditto.
8346
8347 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8348
8349         * lisp.h (basic char/int typedefs):  comment improvement.
8350
8351 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8352
8353         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8354         unstomp inhibit_site_lisp.  Improve comments.
8355
8356 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8357
8358         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8359
8360 2000-11-28  Andy Piper  <andy@xemacs.org>
8361
8362         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8363         clipped display for windows in the gutter also.
8364         (redisplay_display_boxes_in_window_p): change semantics of return
8365         codes to be more intuitive.
8366
8367         * gutter.h: declare display_boxes_in_gutter_p.
8368
8369         * gutter.c (display_boxes_in_gutter_p): new function for
8370         redisplay.
8371
8372 2000-11-22  Andy Piper  <andy@xemacs.org>
8373
8374         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8375         autodetect domain.
8376
8377 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8378
8379         * callproc.c (Fold_call_process_internal):
8380         * gpm.c (Freceive_gpm_event):
8381         (tty_get_foreign_selection): Might be just warning supression.
8382         * fileio.c (Fwrite_region_internal):
8383         (Fset_visited_file_modtime):
8384         * keymap.c (event_matches_key_specifier_p):
8385         Initialize GCPROed variable.
8386
8387         * menubar-x.c (command_builder_find_menu_accelerator):
8388         Initialize before use.
8389
8390 2000-11-23  Andy Piper  <andy@xemacs.org>
8391
8392         * unexcw.c (unexec): make the resulting executable executable.
8393
8394 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8395
8396         * doc.c (get_doc_string):
8397         Use size_t, not int, for result of XSTRING_LENGTH.
8398
8399         * cmds.c (Fdelete_char):
8400         * cmds.c (Fpoint_at_eol):
8401         * cmds.c (Fself_insert_command):
8402         Use EMACS_INT, not int, for result of XINT.
8403         Someday, someone will want to insert more than 2**31 identical characters.
8404
8405         * cmds.c (Fdelete_char):
8406         * cmds.c (Fdelete_backward_char):
8407         * syntax.c (Fforward_word):
8408         * syntax.c (Fforward_comment):
8409         Make COUNT argument optional, for consistency with forward-char et al.
8410
8411 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8412
8413         * lisp.h:
8414         * print.c (long_to_string):
8415         Return a useful value: the pointer at end of data written.
8416
8417         * doprnt.c:
8418         Use `static const char * const' for constant strings.
8419         (union printf_arg): Delete `i', `ui' members.
8420         (get_doprnt_args):
8421         (emacs_doprnt_1):
8422         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8423         Do all printf-ing via the `l' specifier.
8424         Use EMACS_INT instead of int.
8425         Optimize.
8426
8427 2000-11-20  Didier Verna  <didier@xemacs.org>
8428
8429         * faces.c (update_face_cachel_data): don't frob the background
8430         pixmap when the window is being created. The face is needed but
8431         does not exist yet.
8432
8433 2000-11-20  Andy Piper  <andy@xemacs.org>
8434
8435         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8436         messing with a debug environment.
8437
8438 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8439
8440         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8441
8442 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8443
8444         * casetab.c (Fcase_table_p): Fix compile error and crash.
8445
8446 2000-11-18  Philip Aston  <philipa@mail.com>
8447
8448         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8449
8450 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8451
8452         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8453         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8454
8455 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8456
8457         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8458         * unexelf.c: Use HAVE_ELF_H.
8459         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8460         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8461         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8462         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8463         for testing.
8464         So this is an unexelfsgi.c from a different line of development.
8465
8466 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8467
8468         * regex.c (RE_TR_ASCII): New function.
8469         (RE_TRANSLATE): Call it.
8470
8471 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8472
8473         * buffer.h (TRT_TABLE_OF): Remove assert.
8474         (IN_TRT_TABLE_DOMAIN): Removed.
8475
8476 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8477
8478         * free-hook.c (log_gcpro):
8479         (show_gcprohist): Add support for GCPRO5.
8480
8481 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8482
8483         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8484
8485 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8486
8487         * symeval.h: Declare flush_all_buffer_local_cache.
8488
8489         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8490         (flush_buffer_local_cache): Added.
8491         (flush_all_buffer_local_cache): Added.
8492
8493         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8494
8495         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8496         (pdump_dump_data): Ditto.
8497         (pdump_reloc_one): Ditto.
8498         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8499         before dumping.
8500
8501
8502 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8503
8504         * buffer.c: Remove if 0'ed entry.
8505         * buffer.h: Rewrite TRT to use char-table.
8506         * bufslots.h: Remove mirror tables.
8507         * casetab.c: Remove mirror tables.
8508         (CASE_TABLE_P): New macro.
8509         (Fcase_table_p): Element of a case table is string or char-table.
8510         (make_mirror_trt_table): Removed.
8511         (set_case_table): Setup char-table from strings for backward
8512         compatibility.
8513         * dired.c (Fdirectory_files):
8514         * dired-msw.c: (mswindows_get_files):
8515         * lisp.h: Change prototype of re_pattern_buffer.
8516         * regex.c: (RE_TRANSLATE): New macro.
8517         (TRANSLATE_P): Ditto.
8518         Change translate to type RE_TRANSLATE_TYPE.
8519         * regex.h: Define RE_TRANSLATE_TYPE
8520         * search.c (TRANSLATE): New macro.
8521         (TRANSLATE_ASCII): New macro.
8522         Translate table is changed to Lisp_Object.
8523         (signal_failure): Inhibit return.
8524
8525 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8526
8527         * device-msw.c:
8528         * eldap.c:
8529         * event-Xt.c:
8530         * event-stream.c:
8531         * print.c:
8532         Do UNGCPRO before return.
8533
8534 2000-11-14  Martin Buchholz <martin@xemacs.org>
8535
8536         * XEmacs 21.2.37 is released.
8537
8538 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8539
8540         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8541         Add comments about discarded return value.
8542
8543 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8544
8545         * callint.c:
8546         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8547
8548 2000-10-27  Andy Piper  <andy@xemacs.org>
8549
8550         * gutter.c (Fset_default_gutter_position): default left and right
8551         gutters to visible.
8552         (calculate_gutter_size): calculate resonable heuristic for left
8553         and right gutter sizes.
8554         (specifier_vars_of_gutter): change left and right gutter sizes to
8555         autodetect.
8556         (calculate_gutter_size_from_display_lines): new function.
8557         (output_gutter): check for resizing on left and right gutters.
8558         (clear_gutter): don't special case top and left gutters.
8559         (specifier_vars_of_gutter): use new signature for
8560         set_specifier_caching.
8561
8562         * glyphs-x.c (x_redisplay_widget): spelling fix.
8563         * glyphs.c (specifier_vars_of_glyphs):
8564         * menubar.c (specifier_vars_of_menubar):
8565         * redisplay.c (specifier_vars_of_redisplay):
8566         * toolbar.c (specifier_vars_of_toolbar):
8567         * window.c (specifier_vars_of_window):
8568         * scrollbar.c (specifier_vars_of_scrollbar):
8569         (complex_vars_of_scrollbar): use new signature for
8570         set_specifier_caching.
8571
8572         * specifier.c (set_specifier_caching): include recompute flag.
8573         (recompute_one_cached_specifier_in_window): always recompute if
8574         flag set.
8575         (recompute_one_cached_specifier_in_frame): ditto.
8576
8577         * specifier.h (struct specifier_caching): add recompute flag.
8578
8579 2000-10-24  Andy Piper  <andy@xemacs.org>
8580
8581         * unexcw.c (copy_executable_and_dump_data_section): add new
8582         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8583         5.0 happy.
8584
8585 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8586
8587         * console-x.h (x_device): New member modifier_release_time.
8588         * event-Xt.c (x_handle_sticky_modifiers):
8589         Bound interval modifier keys are sticky.
8590         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8591         * events.h: extern it.
8592
8593 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8594
8595         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8596
8597 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8598
8599         * event-stream.c (execute_command_event): Preserve current_events
8600         and the like when event is misc-user-event.
8601         Inhibit quit during the call to maybe_echo_keys.
8602
8603 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8604
8605         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8606         symlink when buffer is killed.
8607         (inhibit_clash_detection): New variable.
8608
8609 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8610
8611         * console.c (Fset_input_method): Trigger redisplay on tty.
8612
8613 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8614
8615         * process.c (Fprocess_status): Revert to previous behavior:
8616         (process-status "nosuchprocess") ==> nil
8617
8618 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8619
8620         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8621         Work around another GCC 2.95.2 optimizer bug.
8622
8623 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8624
8625         * process.c (Fget_process): Use LIST_LOOP_2.
8626         (kill_buffer_processes): Use LIST_LOOP_2.
8627
8628         * minibuf.c (Fall_completions):
8629         Delete old non-functional code for FSF fourth argument.
8630
8631         * frame.c (frame_matches_frame_spec):
8632         Renamed from `frame_matches_frametype'.  Update all callers.
8633         (device_matches_device_spec):
8634         Renamed from 'device_matches_console_spec'.  Update all callers.
8635
8636         * doc.c (Fsubstitute_command_keys):
8637         Remove buffer overflow crash.  Small code cleanups.
8638
8639         * casetab.c (check_case_table): Simpler code.
8640
8641         * window.c (Freplace_buffer_in_windows):
8642         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8643         (and similar implementation) as Fdelete_windows_on.
8644         Update all callers.
8645
8646         * alloc.c (Fmake_list):
8647         * alloc.c (make_vector):
8648         * alloc.c (Fmake_vector):
8649         * alloc.c (make_bit_vector):
8650         * alloc.c (Fmake_bit_vector):
8651         * alloc.c (Fbit_vector):
8652         * alloc.c (Fmake_string):
8653         * alloc.c (Fpurecopy):
8654         * alloc.c (Fmemory_limit):
8655         * buffer.c:
8656         * buffer.c (Fget_buffer):
8657         * buffer.c (Fkill_buffer):
8658         * buffer.c (complex_vars_of_buffer):
8659         * bytecode.c (Fcompiled_function_stack_depth):
8660         * callint.c (Fprefix_numeric_value):
8661         * event-stream.c:
8662         * event-stream.c (Fread_key_sequence):
8663         * casetab.c:
8664         * casetab.c (Fcase_table_p):
8665         * casetab.c (check_case_table):
8666         * casetab.c (Fset_case_table):
8667         * casetab.c (Fset_standard_case_table):
8668         * chartab.c:
8669         * chartab.c (Fchar_table_type):
8670         * chartab.c (Freset_char_table):
8671         * chartab.c (Fget_char_table):
8672         * chartab.c (Fget_range_char_table):
8673         * chartab.c (Fput_char_table):
8674         * chartab.c (Fmap_char_table):
8675         * chartab.c (Fcategory_table_p):
8676         * chartab.c (Fcheck_category_at):
8677         * chartab.c (Fchar_in_category_p):
8678         * chartab.c (Fcategory_table):
8679         * chartab.c (Fcopy_category_table):
8680         * chartab.c (Fset_category_table):
8681         * chartab.c (Fcategory_designator_p):
8682         * chartab.c (Fcategory_table_value_p):
8683         * cmds.c (Fdelete_char):
8684         * cmds.c (Fdelete_backward_char):
8685         * cmds.c (Fself_insert_command):
8686         * cmds.c (Fself_insert_internal):
8687         * console.c (Fvalid_console_type_p):
8688         * console.c (Fcdfw_console):
8689         * console.c (Fconsole_type):
8690         * console.c (Fconsole_name):
8691         * console.c (Fconsole_device_list):
8692         * console.c (Fconsole_on_window_system_p):
8693         * data.c:
8694         * data.c (Feq):
8695         * data.c (Fold_eq):
8696         * data.c (Fsubr_interactive):
8697         * data.c (Fchar_to_int):
8698         * data.c (Fint_to_char):
8699         * data.c (Fsetcar):
8700         * data.c (Fsetcdr):
8701         * data.c (Fnumber_to_string):
8702         * data.c (Fstring_to_number):
8703         * data.c (Frem):
8704         * database.c (mark_database):
8705         * database.c (finalize_database):
8706         * database.c (Fdatabase_live_p):
8707         * database.c (Fdatabasep):
8708         * device-x.c (Fx_get_resource):
8709         * device.c (Fdfw_device):
8710         * dired.c:
8711         * dired.c (Ffile_name_completion):
8712         * dired.c (Ffile_name_all_completions):
8713         * dired.c (Fuser_name_completion):
8714         * dired.c (Fuser_name_completion_1):
8715         * dired.c (Fuser_name_all_completions):
8716         * doc.c (Fdocumentation):
8717         * doc.c (Fdocumentation_property):
8718         * doc.c (Fsubstitute_command_keys):
8719         * editfns.c:
8720         * editfns.c (Fchar_to_string):
8721         * editfns.c (Fstring_to_char):
8722         * editfns.c (Ftemp_directory):
8723         * editfns.c (Finsert_char):
8724         * editfns.c (Fbuffer_substring_no_properties):
8725         * editfns.c (Fnarrow_to_region):
8726         * editfns.c (Fchar_equal):
8727         * editfns.c (Fchar_Equal):
8728         * editfns.c (Ftranspose_regions):
8729         * emacs.c (Fdump_emacs):
8730         * eval.c (Fthrow):
8731         * eval.c (Fcommand_execute):
8732         * eval.c (Fautoload):
8733         * eval.c (Fbacktrace):
8734         * eval.c (Fbacktrace_frame):
8735         * events.c:
8736         * events.c (Fcopy_event):
8737         * events.c (Fcharacter_to_event):
8738         * events.c (Fevent_button):
8739         * events.c (Fevent_process):
8740         * extents.c:
8741         * extents.c (Fnext_extent_change):
8742         * extents.c (Fextent_property):
8743         * faces.c (Ffacep):
8744         * faces.c (Fmake_face):
8745         * file-coding.c:
8746         * file-coding.c (Fencode_shift_jis_char):
8747         * file-coding.c (Fencode_big5_char):
8748         * fileio.c (Ffile_name_directory):
8749         * fileio.c (Ffile_name_nondirectory):
8750         * fileio.c (Ffile_name_as_directory):
8751         * fileio.c (Fdirectory_file_name):
8752         * fileio.c (Ffile_truename):
8753         * fileio.c (Fsubstitute_in_file_name):
8754         * fileio.c (Ffile_modes):
8755         * fileio.c (Fset_file_modes):
8756         * fileio.c (Fset_default_file_modes):
8757         * fileio.c (Fverify_visited_file_modtime):
8758         * floatfns.c (Facos):
8759         * floatfns.c (Fasin):
8760         * floatfns.c (Fatan):
8761         * floatfns.c (Fcos):
8762         * floatfns.c (Fsin):
8763         * floatfns.c (Ftan):
8764         * floatfns.c (Fbessel_j0):
8765         * floatfns.c (Fbessel_j1):
8766         * floatfns.c (Fbessel_jn):
8767         * floatfns.c (Fbessel_y0):
8768         * floatfns.c (Fbessel_y1):
8769         * floatfns.c (Fbessel_yn):
8770         * floatfns.c (Ferf):
8771         * floatfns.c (Ferfc):
8772         * floatfns.c (Flog_gamma):
8773         * floatfns.c (Fexp):
8774         * floatfns.c (Fexpt):
8775         * floatfns.c (Flog):
8776         * floatfns.c (Flog10):
8777         * floatfns.c (Fsqrt):
8778         * floatfns.c (Fcube_root):
8779         * floatfns.c (Facosh):
8780         * floatfns.c (Fasinh):
8781         * floatfns.c (Fatanh):
8782         * floatfns.c (Fcosh):
8783         * floatfns.c (Fsinh):
8784         * floatfns.c (Ftanh):
8785         * floatfns.c (Fabs):
8786         * floatfns.c (Ffloat):
8787         * floatfns.c (Flogb):
8788         * floatfns.c (Fceiling):
8789         * floatfns.c (Ffloor):
8790         * floatfns.c (Fround):
8791         * floatfns.c (Ftruncate):
8792         * floatfns.c (Ffceiling):
8793         * floatfns.c (Fffloor):
8794         * floatfns.c (Ffround):
8795         * floatfns.c (Fftruncate):
8796         * fns.c (Fstring_equal):
8797         * fns.c (Fstring_lessp):
8798         * fns.c (concat2):
8799         * fns.c (concat3):
8800         * fns.c (vconcat2):
8801         * fns.c (vconcat3):
8802         * fns.c (Fsubstring):
8803         * fns.c (Fassoc):
8804         * fns.c (Fold_assoc):
8805         * fns.c (assoc_no_quit):
8806         * fns.c (Fassq):
8807         * fns.c (Fold_assq):
8808         * fns.c (assq_no_quit):
8809         * fns.c (Frassoc):
8810         * fns.c (Fold_rassoc):
8811         * fns.c (Frassq):
8812         * fns.c (Fold_rassq):
8813         * fns.c (rassq_no_quit):
8814         * fns.c (Fremassoc):
8815         * fns.c (remassoc_no_quit):
8816         * fns.c (Fremassq):
8817         * fns.c (remassq_no_quit):
8818         * fns.c (Fremrassoc):
8819         * fns.c (Fremrassq):
8820         * fns.c (remrassq_no_quit):
8821         * fns.c (Fsort):
8822         * fns.c (Fplist_get):
8823         * fns.c (Fplist_put):
8824         * fns.c (Fplist_remprop):
8825         * fns.c (Fplist_member):
8826         * fns.c (Flax_plist_get):
8827         * fns.c (Flax_plist_put):
8828         * fns.c (Flax_plist_remprop):
8829         * fns.c (Flax_plist_member):
8830         * fns.c (Fequal):
8831         * fns.c (Fold_equal):
8832         * fns.c (Frequire):
8833         * fns.c (Fbase64_encode_region):
8834         * fns.c (Fbase64_encode_string):
8835         * fns.c (Fbase64_decode_region):
8836         * frame.c:
8837         * frame.c (frame_matches_frame_spec):
8838         * frame.c (device_matches_device_spec):
8839         * frame.c (next_frame):
8840         * frame.c (previous_frame):
8841         * frame.c (Fnext_frame):
8842         * frame.c (Fprevious_frame):
8843         * frame.c (Fframe_property):
8844         * frame.c (Fset_frame_height):
8845         * frame.c (Fset_frame_size):
8846         * frame.h:
8847         * glyphs.c:
8848         * glyphs.c (if):
8849         * glyphs.c (decode_error_behavior_flag):
8850         * glyphs.c (Fmake_image_instance):
8851         * indent.c (Findent_to):
8852         * intl.c (Fignore_defer_gettext):
8853         * keymap.c (Fkeymapp):
8854         * keymap.c (Flookup_key):
8855         * lread.c:
8856         * lread.c (Fload_internal):
8857         * lread.c (Feval_buffer):
8858         * lread.c (Feval_region):
8859         * macros.c (Fexecute_kbd_macro):
8860         * marker.c (set_marker_internal):
8861         * marker.c (Fset_marker):
8862         * marker.c (set_marker_restricted):
8863         * marker.c (Fcopy_marker):
8864         * marker.c (noseeum_copy_marker):
8865         * menubar.c:
8866         * menubar.c (Fpopup_menu):
8867         * minibuf.c:
8868         * mule-charset.c (Fcharset_name):
8869         * mule-charset.c (Fchar_charset):
8870         * mule-charset.c (Fchar_octet):
8871         * mule-charset.c (Fsplit_char):
8872         * mule-wnnfns.c (Fwnn_open):
8873         * mule-wnnfns.c (Fwnn_dict_comment):
8874         * mule-wnnfns.c (Fwnn_quit_henkan):
8875         * mule-wnnfns.c (Fwnn_word_toroku):
8876         * mule-wnnfns.c (Fwnn_word_sakujo):
8877         * mule-wnnfns.c (Fwnn_word_use):
8878         * mule-wnnfns.c (Fwnn_hindo_set):
8879         * objects.c:
8880         * objects.c (Fmake_color_instance):
8881         * objects.c (Fmake_font_instance):
8882         * print.c (Fwrite_char):
8883         * process.c:
8884         * process.c (mark_process):
8885         * process.c (print_process):
8886         * process.c (get_process_from_usid):
8887         * process.c (Fprocessp):
8888         * process.c (Fprocess_live_p):
8889         * process.c (Fget_process):
8890         * process.c (Fget_buffer_process):
8891         * process.c (get_process):
8892         * process.c (Fprocess_id):
8893         * process.c (Fprocess_name):
8894         * process.c (Fprocess_command):
8895         * process.c (init_process_io_handles):
8896         * process.c (start_process_unwind):
8897         * process.c (Fstart_process_internal):
8898         * process.c (Fopen_multicast_group_internal):
8899         * process.c (Fset_process_window_size):
8900         * process.c (read_process_output):
8901         * process.c (send_process):
8902         * process.c (Fprocess_tty_name):
8903         * process.c (Fset_process_buffer):
8904         * process.c (Fprocess_buffer):
8905         * process.c (Fprocess_mark):
8906         * process.c (set_process_filter):
8907         * process.c (Fset_process_filter):
8908         * process.c (Fprocess_filter):
8909         * process.c (Fprocess_send_region):
8910         * process.c (Fprocess_send_string):
8911         * process.c (exec_sentinel):
8912         * process.c (Fset_process_sentinel):
8913         * process.c (Fprocess_sentinel):
8914         * process.c (status_notify):
8915         * process.c (Fprocess_status):
8916         * process.c (Fprocess_exit_status):
8917         * process.c (process_send_signal):
8918         * process.c (Fprocess_send_eof):
8919         * process.c (deactivate_process):
8920         * process.c (remove_process):
8921         * process.c (Fdelete_process):
8922         * process.c (kill_buffer_processes):
8923         * process.c (Fprocess_kill_without_query):
8924         * process.c (Fprocess_kill_without_query_p):
8925         * rangetab.c:
8926         * rangetab.c (Fget_range_table):
8927         * rangetab.c (Fput_range_table):
8928         * rangetab.c (Fremove_range_table):
8929         * rangetab.c (Fclear_range_table):
8930         * search.c:
8931         * search.c (Fskip_chars_forward):
8932         * search.c (Fskip_chars_backward):
8933         * search.c (Fskip_syntax_forward):
8934         * search.c (Fskip_syntax_backward):
8935         * search.c (search_command):
8936         * search.c (Freplace_match):
8937         * search.c (Fregexp_quote):
8938         * select.c (Fown_selection_internal):
8939         * select.c (Fselection_owner_p):
8940         * select.c (Fselection_exists_p):
8941         * select.c (Fget_selection_internal):
8942         * specifier.c:
8943         * symbols.c:
8944         * symbols.c (Fintern):
8945         * symbols.c (Fintern_soft):
8946         * symbols.c (Funintern):
8947         * symbols.c (Fapropos_internal):
8948         * symbols.c (Fset_default):
8949         * syntax.c:
8950         * syntax.c (Fsyntax_table_p):
8951         * syntax.c (Fcopy_syntax_table):
8952         * syntax.c (Fset_syntax_table):
8953         * syntax.c (Fchar_syntax):
8954         * syntax.c (syntax_match):
8955         * syntax.c (Fmatching_paren):
8956         * syntax.c (Fforward_word):
8957         * syntax.c (scan_lists):
8958         * syntax.c (Fscan_lists):
8959         * syntax.c (Fscan_sexps):
8960         * syntax.c (Fparse_partial_sexp):
8961         * toolbar.c (Fcheck_toolbar_button_syntax):
8962         * tooltalk.doc:
8963         * window.c:
8964         * window.c (Fwindowp):
8965         * window.c (Fwindow_live_p):
8966         * window.c (Fwindow_point):
8967         * window.c (Fdelete_window):
8968         * window.c (Fnext_window):
8969         * window.c (Fprevious_window):
8970         * window.c (Fother_window):
8971         * window.c (window_loop):
8972         * window.c (Fget_lru_window):
8973         * window.c (Fsplit_window):
8974         * window.c (Fenlarge_window):
8975         * window.c (Fenlarge_window_pixels):
8976         * window.c (Fshrink_window):
8977         * window.c (Fshrink_window_pixels):
8978         * window.c (change_window_height):
8979         * window.c (Fwindow_configuration_p):
8980         * window.c (Fcurrent_window_configuration):
8981         * window.h:
8982         * casefiddle.c (casify_object):
8983         * casefiddle.c (Fupcase):
8984         * casefiddle.c (Fdowncase):
8985         * casefiddle.c (Fcapitalize):
8986         * casefiddle.c (Fupcase_initials):
8987         * casefiddle.c (casify_region_internal):
8988         * casefiddle.c (casify_region):
8989         * casefiddle.c (Fupcase_region):
8990         * casefiddle.c (Fdowncase_region):
8991         * casefiddle.c (Fcapitalize_region):
8992         * casefiddle.c (Fupcase_initials_region):
8993         * casefiddle.c (Fupcase_word):
8994         * casefiddle.c (Fdowncase_word):
8995         * casefiddle.c (Fcapitalize_word):
8996         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8997         Replace 0 with '\0' when working with bytes.
8998         Replace initial "(" with "\(" in docstrings.
8999
9000 2000-11-01  Martin Buchholz  <martin@xemacs.org>
9001
9002         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
9003
9004         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
9005
9006 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9007
9008         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
9009
9010 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9011
9012         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
9013         correctly.
9014
9015 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9016
9017         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
9018         (inhibit_auto_save_session): New variable.
9019         (vars_of_fileio): Declare and initialize them.
9020         * fileio.c (Fdo_auto_save): Don't create session file if
9021         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
9022
9023 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9024
9025         * sgiplay.c (play_internal): C++ compilability.
9026         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
9027         * callproc.c (Fold_call_process_internal):
9028         Remove unused vars `env', `first'.
9029         * scrollbar.c (update_scrollbar_instance):
9030         #### unused var `current_window'.
9031         * redisplay-tty.c: Put currently unused vars insert_mode_on,
9032         etc. within #ifdef NOT_YET.
9033         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
9034         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
9035         * specifier.c (specifier_instance):
9036         #### unused var `tag'.
9037         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
9038
9039 2000-10-27  Martin Buchholz  <martin@xemacs.org>
9040
9041         * fns.c (Fbutlast):
9042         * fns.c (list_sort):
9043         * fns.c (Ffillarray):
9044         * fns.c (bytecode_nconc2):
9045         * fns.c (Fnconc):
9046         * fns.c (mapcar1):
9047         * fns.c (Fmapconcat):
9048         Be pedantically 64-bit correct.  For the time when someone will
9049         want to have a list with length > 2**32.
9050
9051         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9052         Work around MIPSpro compiler bug.
9053
9054         * process-unix.c (unix_kill_child_process): Add snarky comment.
9055         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
9056
9057         * config.h.in: Oops, _getpt ==> _getpty
9058
9059 2000-10-26  Martin Buchholz  <martin@xemacs.org>
9060
9061         * config.h.in:
9062         * regex.c:
9063         Use void*, not char*, as return type of alloca().
9064
9065         * alloc.c (free_marker): Side effect inside assert expression!
9066
9067 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9068
9069         * mule-charset.c (Fset_charset_ccl_program): To check
9070         if the given ccl program is valid, use setup_ccl_program()
9071         instead of CHECK_VECTOR().
9072         (Fmake_charset): Likewise.
9073
9074 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9075
9076         * faces.c (get_extent_fragment_face_cache_index):
9077         Fix cachel.merged_faces memory leak.
9078
9079 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9080
9081         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9082         Reset MSB of octets obtained by DECODE_SJIS
9083         because of the incompatibility with Emacs.
9084         (ccl_driver)<CCL_ENCODE_SJIS>:
9085         Set MSB of octets before passing them to
9086         ENCODE_SJIS because of the incompatibility
9087         with Emacs.
9088
9089 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9090
9091         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9092         (DECLARE_LRECORD): Undo the last change.
9093         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9094
9095 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9096
9097         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9098         the implementation to lrecord_implementations_table.
9099
9100 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9101
9102         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9103         initial value of `lrecord_type_##c_name' and
9104         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9105         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9106         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9107         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9108         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9109
9110 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9111
9112         * miscplay.c (sndcnv8S_2mono):
9113         (sndcnv2monounsigned):
9114         (sndcnvULaw_2linear):
9115         (sndcnv16swap):
9116         Remove implementation-defined behavior.
9117
9118 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9119
9120         * input-method-xlib.c: Warning suppression.
9121
9122 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9123
9124         * mule-ccl.c: Sync up with Emacs 21.0.90.
9125         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9126         Do nothing.
9127         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9128         Likewise.
9129         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9130         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9131         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9132         leading char belongs to official 2-dimensional charset.
9133         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9134         write the given character as is.  Otherwise,
9135         if it is a multibyte char, convert it by
9136         non_ascii_set_charptr_emchar, then write it.
9137         (CCL_WRITE_STRING): Likewise.
9138         (ccl_get_compiled_code): New function.
9139         (setup_ccl_program): When ccl_prog is invalid,
9140         return -1.
9141         (Fregister_code_conversion_map): New function.
9142         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9143
9144         * mule-ccl.h: Sync up with Emacs 21.0.90.
9145         (Fregister_ccl_program): export it.
9146
9147         * redisplay-msw.c (separate_textual_runs):
9148         If ccl program is not valid, don't do ccl conversion.
9149
9150         * redisplay-x.c (separate_textual_runs): Ditto.
9151
9152         * file-coding.c (Fmake_coding_system):
9153         When type is ccl and value is vector, register it
9154         with a proper symbol.  And checks whether the
9155         given ccl program is valid.
9156         (mule_decode): When calling ccl_driver, if src indicates
9157         NULL pointer, set an empty string instead.
9158         (mule_encode): Likewise.
9159
9160 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9161
9162         The following large batch of changes gets us back to a state of
9163         C++ compilability.  Extbyte is now a char, which means that
9164         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9165
9166         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9167
9168         * sound.c (Fplay_sound): Type correctness.
9169
9170         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9171         (x_get_window_property): Type correctness.
9172         (receive_incremental_selection): unsigned char ==> Extbyte
9173         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9174         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9175         (Fx_store_cutbuffer_internal): Type correctness.
9176
9177         * process-unix.c (try_to_initialize_subtty): Type correctness.
9178
9179         * objects-x.c (x_print_color_instance): Type correctness.
9180         (x_print_font_instance): Type correctness.
9181         (x_list_fonts): SExtbyte ==> Extbyte.
9182         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9183         (x_find_charset_font): SExtbyte ==> Extbyte.
9184         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9185         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9186         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9187         Use bufbyte_strcmp.
9188
9189         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9190         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9191         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9192         (BYTE_C0_P): Use bit ops for char-signedness safety.
9193         (BYTE_C1_P): Use bit ops for char-signedness safety.
9194         (CHARSET_BY_LEADING_BYTE):
9195         (CHARSET_BY_ATTRIBUTES):
9196         Always use inline function.
9197         Use type_checking_assert.
9198         Hide chlook.
9199
9200         * mule-charset.c (non_ascii_charptr_copy_char):
9201         Modify to work with both ASCII and non-ASCII characters.
9202         Improve docs and variable names.
9203         Replace over-clever fall-through switch with a simple loop.
9204         (Lstream_get_emchar_1):
9205         Replace over-clever fall-through switch with a simple loop.
9206
9207         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9208         Warning suppression.
9209
9210         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9211         the return value of Lstream_getc, which could be EOF as well.
9212
9213         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9214
9215         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9216         APIs can be used on Extbytes without casts.  Risky!
9217         (SExtbyte): Remove.
9218         (UExtbyte): Remove.
9219
9220         * input-method-xlib.c (XIM_init_device):
9221         Use Xlib.h instead of IntrinsicP.h.
9222         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9223         which will break in X11R7.
9224         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9225         to call XRegisterIMInstantiateCallback with correct types.
9226
9227         * gui-x.c (button_item_to_widget_value): Type correctness.
9228
9229         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9230
9231         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9232         (xbm_instantiate_1): Type correctness.
9233         (BUILD_GLYPH_INST):  Type correctness.
9234
9235         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9236
9237         * file-coding.c:
9238         (decode_coding_sjis):
9239         (decode_coding_big5):
9240         (decode_coding_ucs4):
9241         (decode_coding_utf8):
9242         (decode_coding_iso2022):
9243         (decode_coding_no_conversion):
9244         Make all decoding functions take an Extbyte * arg.
9245         (encode_coding_sjis):
9246         (encode_coding_big5):
9247         (encode_coding_ucs4):
9248         (encode_coding_utf8):
9249         (encode_coding_iso2022):
9250         (encode_coding_no_conversion):
9251         Make all encoding functions take a Bufbyte * arg.
9252         Use size_t instead of unsigned int for memory sizes.
9253         Only cast to unsigned char whenever dereferencing Extbyte *.
9254
9255         * doc.c (unparesseuxify_doc_string): Type correctness.
9256
9257         * console-x.c (split_up_display_spec):
9258         Rewrite without using details of internal string representation.
9259         (x_semi_canonicalize_device_connection): Type correctness.
9260
9261         * config.h.in:
9262         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9263         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9264         (HAVE_XFREE386): Removed.
9265
9266         * buffer.h (DEC_CHARPTR): `const' correctness.
9267         (bufbyte_strcmp): New.
9268         (bufbyte_memcmp): New.
9269
9270         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9271
9272         * buffer.h (XCHAR_OR_CHAR_INT):
9273         Always use inline function.
9274         Remove redundant type checking assert() - XINT will abort quite nicely.
9275
9276 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9277
9278         * search.c (Freplace_match): Set newtext to an empty string.
9279
9280 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9281
9282         * s/decosf1-3.h: Remove #include of stropts.h
9283         * s/ptx.h: Remove #include of stropts.h
9284         * s/usg5-4.h: Remove #include of stropts.h
9285         * sysproc.h:
9286         * config.h.in:
9287         Use stropts.h, not sys/stropts.h.
9288         Use strtio.h, not sys/strtio.h.
9289
9290 2000-10-04  Martin Buchholz <martin@xemacs.org>
9291
9292         * XEmacs 21.2.36 is released.
9293
9294 2000-09-21  Andy Piper  <andy@xemacs.org>
9295
9296         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9297         changes still involve copying the widget tree.
9298         (update_widget_face): make sure a change is register in the widget
9299         tree. Call update_tab_widget_face appropriately.
9300         (update_tab_widget_face): ditto.
9301         (x_tab_control_redisplay): make sure non-structural changes still
9302         involve copying the widget tree.
9303
9304 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9305
9306         * lread.c (locate_file): Check the path element is non-nil.
9307
9308 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9309
9310         * lisp.h: Warning suppression for SCO compilers.
9311
9312         * redisplay-tty.c (reset_tty_modes): Fix crash.
9313         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9314
9315 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9316
9317         Big signal/process handling overhaul.  Bugs fixed:
9318         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9319         M-x comint-kill-subjob should work for both values nil and t of
9320         process-connection-type. It was broken on most platforms.
9321         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9322         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9323         * process-unix.c: Signal/Process handling overhaul.
9324         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9325         (allocate_pty): Use all available modern methods of allocating
9326         ptys, falling back to old style BSD allocation as a last resort.
9327         Use allegedly more secure Unix98 pty allocation by default.
9328         (allocate_pty_the_old_fashioned_way): New. the last resort.
9329         (unix_create_process): Push ptem, ldterm, ttcompat where
9330         available.  Autoconfiscate.
9331         (try_to_initialize_subtty): New.
9332         (unix_kill_child_process): Proper signal handling for ptys on most
9333         platforms, using special knowledge of AIX, BSD, etc...
9334         (unix_create_process): Always disconnect_controlling_terminal() for
9335         subprocesses, whether using ptys or not.
9336         * process.h: Remove old getpt-dependent PTY code.
9337         * process.c (Fprocess_send_signal): New, obvious generic function.
9338         (decode_signal): New.
9339         (Finterrupt_process):
9340         (Fkill_process):
9341         (Fquit_process):
9342         (Fstop_process):
9343         (Fcontinue_process):
9344         (Fsignal_process): Use decode_signal.
9345         (process_send_signal):
9346         Many docstring corrections.
9347         Allow any signal to be sent to a process object.
9348         * config.h.in: Add symbols for big signal/process overhaul.
9349         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9350         * sysproc.h: Include process-related headers, where available:
9351         sys/stropts.h sys/strtio.h pty.h libutil.h
9352         * s/irix4-0.h:
9353         * s/irix5-0.h:
9354         * s/cygwin32.h:
9355         * s/gnu.h:
9356         * s/linux.h:
9357         * s/hpux.h:
9358         * s/aix3-1.h:
9359         Remove old S&M pty stuff.
9360         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9361         * systty.h: Simplify cpp hackery, improve comments.
9362         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9363
9364         * editfns.c (Fformat_time_string):
9365         Be a little more paranoid with the return value of ctime.
9366
9367         * fileio.c (check_executable):
9368         (check_writable):
9369         Use symbolic constants X_OK, W_OK.
9370
9371         * console-x.c (split_up_display_spec): Fix a warning.
9372
9373 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9374
9375         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9376         * ntproc.c (sys_spawnve): make_string ==> build_string
9377         Small clarity improvements.
9378
9379 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9380
9381         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9382
9383         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9384
9385         * config.h.in (HAVE_STRCASECMP): Remove.
9386
9387 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9388
9389         * redisplay-output.c (redisplay_output_pixmap):
9390         Cleaner and possibly more 64-bit correct code.
9391
9392 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9393
9394         * dumper.c (pdump_load_finish): move restoration of
9395         `noninteractive1' to emacs.c (main_1).
9396         * emacs.c (main_1): protect LISP-visible command-line flags
9397         from pdump_load().
9398
9399 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9400
9401         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9402         DUMP_TARGET instead of literal program names.
9403
9404 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9405
9406         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9407
9408 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9409
9410         * *: Spelling mega-patch
9411
9412 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9413
9414         * fns.c (bad_bad_turtle):
9415         Delete "Eek!" comment, since we fixed the bug to which it refers.
9416
9417 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9418
9419         * alloca.c: Replace REGISTER with register.
9420
9421 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9422
9423         * file-coding.c (ucs_to_char): Use countof.
9424
9425 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9426
9427         * file-coding.c: (ucs_to_char):
9428         (complex_vars_of_file_coding):
9429         Use countof instead of sizeof.
9430         Use CHECK_NATNUM instead of CHECK_INT.
9431
9432         * sysdep.c (strcasecmp): Remove.
9433         * device-x.c (ascii_strcasecmp): New.
9434         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9435         Avoid using non-standard non-portable strcasecmp.
9436
9437 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9438
9439         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9440         * font-lock.c: remove reference to emacsfns.h.
9441         * search.c: small doc improvement.
9442         * event-Xt.c: correct file names in comments.
9443         * console-x.h Correct file names in comments.
9444         * frame.c: Correct file names in comments.
9445         * event-stream.c: remove Energize from comments.
9446
9447 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9448
9449         * symeval.h (DEFERROR_STANDARD):
9450         (DEFERROR):
9451         (DEFSYMBOL):
9452         (DEFSYMBOL_NO_DUMP):
9453         (DEFSYMBOL_MULTIWORD_PREDICATE):
9454         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9455         (DEFKEYWORD):
9456         The construct &##name is not sensible C.
9457         Fixes compilation errors with Unixware native compiler.
9458
9459 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9460
9461         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9462         (next_frame_internal): Removed.  We now just have next_frame.
9463         (next_frame):
9464         Write a simpler and cleaner one-pass algorithm.
9465         Remove called_from_delete_device arg and #ifdefed-out code.
9466         (previous_frame):
9467         Renamed from prev_frame.  Update callers.
9468         Cleaned up to have an analogous implementation to next_frame.
9469         (other_visible_frames_internal): Remove the
9470         called_from_delete_device bogus arg, and hence, remove this
9471         function.  Just use other_visible_frames().
9472
9473         * window.c (Fnext_window):
9474         Prettify docstring.
9475         Since next_frame() is guaranteed to return a frame, remove check
9476         for nil inserted in previous patch.
9477         (Fprevious_window):
9478         Prettify docstring.
9479         Make code look more like Fnext_window.
9480         (window_loop):
9481         Respect the `console' arg when iterating through windows.
9482         Fixes bug: (get-buffer-window buffer t device) not respecting
9483         the `device' arg.
9484         This function needs more work, as others have pointed out.
9485
9486         * frame.h: Rename prev_frame to previous_frame.
9487         device_matches_console_spec no longer takes a `frame' arg.
9488
9489         * s/gnu.h:
9490         * s/linux.h:
9491         * s/hpux.h:
9492         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9493         From "Golubev I. N." <gin@mo.msk.ru>.
9494
9495         * make-src-depend: Fix typo.
9496
9497 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9498
9499         * window.c (Fnext_window):
9500         next_frame() might return nil, not a frame.
9501         Fixes this crash:
9502         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9503
9504         * frame.c (next_frame_internal):
9505         We've passed a frame if we've passed its device.
9506         Fixes this crash:
9507         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9508 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9509
9510 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9511
9512         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9513         Allow option to suppress accelerators in menu/dialog items.
9514         (populate_or_checksum_helper): Pass dialog title through above.
9515
9516 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9517
9518         * event-msw.c (mswindows_key_to_emacs_keysym):
9519         Add "pause" key, fix "menu" key.
9520
9521 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9522
9523         * eval.c (reinit_vars_of_eval):
9524         Increase max_lisp_eval_depth to 1000,
9525         required for thai-xtis.el to byte-compile under some circumstances.
9526
9527 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9528
9529         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9530         From Kenichi Handa.
9531
9532 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9533
9534         * make-src-depend: Make the generated Makefiles smaller.
9535
9536         * s/hpux.h (SETUP_SLAVE_PTY):
9537         Provide a %d in the format string for the errno argument.
9538
9539         * editfns.c (Ftemp_directory):
9540         Warning fix.
9541         Avoid buffer overrun on very long file name.
9542
9543         * input-method-xlib.c (XIM_init_device):
9544         6th parameter of XRegisterIMInstantiateCallback has different
9545         pointer types on different OSes, so simply cast to (void *).
9546
9547         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9548
9549         * sysdll.c (dll_open):
9550         shl_load will hang hard if passed a NULL filename.
9551         Simply return NULL for compatibility with dlopen.
9552         * sysdll.c: Conform to XEmacs coding standards.
9553
9554         * sysdep.c (get_pty_max_bytes):
9555         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9556
9557 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9558
9559         * tooltalk.c: Add #include <syssignal.h>
9560
9561 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9562
9563         * s/hpux.h: Don't use undefined function sigunblock().
9564
9565 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9566
9567         * config.h.in: Add HAVE_BALLOON_HELP.
9568         * emacs.c: Use HAVE_BALLOON_HELP.
9569         * Makefile.in.in (x_objs):
9570         Make Balloon Help conditional on finding shape.h.
9571
9572 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9573
9574         * syntax.c (regex_emacs_buffer_p): New variable.
9575         * syntax.h (regex_emacs_buffer_p): extern.
9576         * search.c (looking_at_1):
9577         (string_match_1):
9578         (fast_string_match):
9579         (search_buffer): Set regex_emacs_buffer_p.
9580         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9581         when before_dot, at_dot, after_dot.
9582
9583 2000-08-23  Andy Piper  <andy@xemacs.org>
9584
9585         * gui-x.c (popup_selection_callback): Only set action_occurred
9586         when we really have an image instance.
9587         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9588
9589 2000-08-23  Andy Piper  <andy@xemacs.org>
9590
9591         * gui-msw.c (mswindows_handle_gui_wm_command): set
9592         action_occurred.
9593         * gui-x.c (popup_selection_callback): ditto.
9594
9595         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9596         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9597         (struct Lisp_Image_Instance): add action_occurred flag.
9598
9599         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9600         (image_instance_changed): ditto.
9601         (reset_frame_subwindow_instance_cache): only unmap windows - do
9602         not remove them from the cache also.
9603
9604         * glyphs-widget.c (tab_control_update): better debug.
9605         (progress_gauge_update): ditto.
9606         (layout_update): ditto.
9607         (layout_instantiate): ditto.
9608         (tab_control_order_only_changed): cope with null pending items.
9609
9610         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9611         debug. Force selection of an item when an action occurred. Cope
9612         with null pending_items.
9613         (mswindows_progress_gauge_redisplay): better debug.
9614         * glyphs-x.c (x_tab_control_redisplay): ditto.
9615
9616         * redisplay.c (redisplay_frame): reset the frame cache if the
9617         frame is garbaged.
9618
9619         * window.c (Fset_window_configuration): potentially re-enable
9620         frame cache reset.
9621         (window_unmap_subwindows): need to finalize instances here since
9622         it is only used in mark_window_as_deleted.
9623
9624 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9625
9626         * nas.c (SndOpenDataForReading):
9627         nas.c (WaveOpenDataForReading):
9628         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9629         Somehow escaped from the 2000-08-14 patch.
9630
9631 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9632
9633         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9634         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9635
9636 2000-08-21  Andy Piper  <andy@xemacs.org>
9637
9638         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9639         window if it is not already displayed.
9640
9641         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9642         it is not already displayed.
9643
9644         * window.c (Fset_window_configuration): don't reset the frame
9645         cache.
9646
9647         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9648         instances from the frame cache if we are actually finalizing them.
9649         (reset_frame_subwindow_instance_cache): reset frame cache only
9650         after unmapping everything.
9651         (map_subwindow): set displayed flag after mapping.
9652
9653 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9654
9655         * data.c (indirect_function):
9656         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9657
9658         * eval.c (function_argcount):
9659         Use original function when signaling errors.
9660
9661 2000-08-18  Andy Piper  <andy@xemacs.org>
9662
9663         * frame.c (delete_frame_internal): use new
9664         free_frame_subwindow_instances name.
9665
9666         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9667         (add_tab_item): make return type correct.
9668         (mswindows_tab_control_instantiate): assert index of tab.
9669         (mswindows_tab_control_redisplay): Re-code to use
9670         gui_item_equal_sans_selected and gui_item_list_find_selected.
9671
9672         * glyphs-widget.c (tab_control_update): Correct comment.
9673
9674         * window.c (window_unmap_subwindows): use new
9675         unmap_subwindow_instance_cache_mapper.
9676         (window_unmap_subwindows_cache_mapper): deleted.
9677         (Fset_window_configuration): comparisons should now be with
9678         EQ. Preserve the subwindow instance cache across configuration
9679         changes.
9680         (allocate_window): ditto.
9681         (make_dummy_parent): ditto.
9682
9683         * glyphs.c (free_frame_subwindow_instances): rename from
9684         free_frame_subwindow_instance_cache. finalize all instances rather
9685         than just those in the display cache.
9686         (finalize_all_subwindow_instances): walk windows unmapping and
9687         finalizing subwindows.
9688         (unmap_subwindow_instance_cache_mapper): moved from
9689         window.c. Allow finalization as well as unmapping.
9690
9691         * gui.c (gui_item_list_find_selected): new function.
9692
9693         * gui.h (gui_item_list_find_selected): declare.
9694
9695         * glyphs-x.c (x_tab_control_redisplay): pick tab
9696         explicitly. Re-code to use gui_item_equal_sans_selected and
9697         gui_item_list_find_selected.
9698
9699         * glyphs-x.h: add lwlib-utils.h
9700
9701         * buffer.c (Frecord_buffer): undo previous change.
9702
9703 2000-08-09  Vin Shelton  <acs@xemacs.org>
9704
9705         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9706         possible.  Create temporary files more securely.  The patch was
9707         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9708         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9709         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9710         for details.
9711
9712 2000-08-07  Ben Wing  <ben@xemacs.org>
9713
9714         * getloadavg.c: remove duplicate (and windows-breaking)
9715         includes of fcntl.h and sys/file.h.
9716
9717         * nt.c: remove duplicate getloadavg() definition.
9718
9719         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9720         encodings.
9721
9722 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9723
9724         * eval.c (function_argcount): If function needs to be autoloaded
9725         actually use the loaded definition.
9726         GCPRO function.
9727
9728 2000-08-05  Ben Wing  <ben@xemacs.org>
9729
9730         * getloadavg.c: add prototype for getloadavg().  remove
9731         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9732         of the code).  remove duplicate header includes.
9733
9734         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9735
9736         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9737         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9738         useful load average.
9739
9740         * alloc.c (reinit_alloc_once_early): removed references to
9741         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9742         the lisp vars are the only things referencing the malloc_sbrk_*
9743         vars, and they were already if 0'd out.  these vars only exist
9744         in the older malloc.c, which is basically unused, and they're
9745         only for informational purposes.
9746
9747         * m\*.h: removed useless VIRT_ADDR_VARIES.
9748
9749         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9750
9751 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9752
9753         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9754         color if the image is a mono pixmap.
9755
9756 2000-07-30  Ben Wing  <ben@xemacs.org>
9757
9758         * Makefile.in.in (release):
9759         Remove stray @.
9760
9761         * buffer.c (directory_is_current_directory):
9762         * dired-msw.c (mswindows_get_files):
9763         * dired.c:
9764         * dired.c (Fdirectory_files):
9765         * dired.c (file_name_completion_stat):
9766         * dired.c (Ffile_attributes):
9767         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9768         preprocessor tricks, to avoid problems on some machines
9769         (e.g. SCO).
9770
9771         * callproc.c (egetenv): GC docs.
9772
9773         * console-msw.h:
9774         * console-msw.h (struct mswindows_dialog_id):
9775         * lrecord.h (lrecord_type):
9776         New object for use with MSW dialogs.
9777
9778         * console.h (struct console_methods):
9779         New enable/disable frame methods, for proper modal dialogs.
9780
9781         * device-msw.c (msprinter_default_printer): Fix to follow
9782         proper Mule conventions.
9783
9784         * device-msw.c:
9785         * device-msw.c (signal_open_printer_error):
9786         * device-msw.c (msprinter_init_device):
9787         * device-msw.c (ensure_not_printing):
9788         * device-msw.c (plist_get_margin):
9789         * device-msw.c (Fmsprinter_select_settings):
9790         * device-msw.c (finalize_devmode):
9791         * device-msw.c (Fmsprinter_settings_despecialize):
9792         * device-msw.c (signal_enum_priner_error):
9793         * extents.c (decode_extent):
9794         * extents.c (decode_map_extents_flags):
9795         * extents.c (decode_extent_at_flag):
9796         * extents.c (Fextent_at):
9797         * extents.c (Fextents_at):
9798         * extents.c (symbol_to_glyph_layout):
9799         [[[[2]]]] Use structured errors.
9800
9801         * dialog-msw.c:
9802         * dialog-msw.c (mswindows_is_dialog_msg):
9803         * dialog-msw.c (mark_mswindows_dialog_id):
9804         * dialog-msw.c (dialog_proc):
9805         * dialog-msw.c (handle_question_dialog_box):
9806         * dialog-msw.c (syms_of_dialog_mswindows):
9807         Define new object to clean up marking; use it as a dialog identifier.
9808         Call new delete-dialog-box-hook.
9809
9810         * dialog-x.c (dbox_selection_callback):
9811         * dialog-x.c (dbox_descriptor_to_widget_value):
9812         * dialog-x.c (x_make_dialog_box_internal):
9813         Call new delete-dialog-box-hook.
9814         Return an id.
9815
9816         * dialog.c:
9817         * dialog.c (syms_of_dialog):
9818         * dialog.c (vars_of_dialog):
9819         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9820
9821         * eval.c:
9822         * eval.c (signal_call_debugger):
9823         when noninteractive, output stack traces on the console instead
9824         of in a (never-seen) buffer.
9825
9826         * eval.c (signal_type_error):
9827         * eval.c (invalid_argument_2):
9828         * lisp.h:
9829         new funs for use w/structured errors.
9830
9831         * event-Xt.c:
9832         * event-Xt.c (x_to_emacs_keysym):
9833         * event-Xt.c (describe_event):
9834         * event-Xt.c (emacs_Xt_event_handler):
9835         * event-Xt.c (vars_of_event_Xt):
9836         * event-msw.c:
9837         * event-msw.c (mswindows_wnd_proc):
9838         * event-msw.c (vars_of_event_mswindows):
9839         rename {x,mswindows}-debug-events to debug-{}-events for
9840         consistency with other debug-foo variables.
9841
9842         * event-stream.c:
9843         document next-event more clearly.
9844
9845         * fileio.c (Ffile_name_directory):
9846         * fileio.c (Ffile_name_nondirectory):
9847         * fileio.c (Funhandled_file_name_directory):
9848         * fileio.c (file_name_as_directory):
9849         * fileio.c (Ffile_name_as_directory):
9850         * fileio.c (directory_file_name):
9851         * fileio.c (Fdirectory_file_name):
9852         * fileio.c (Fmake_temp_name):
9853         * fileio.c (Ffile_truename):
9854         * fileio.c (Fsubstitute_in_file_name):
9855         * fileio.c (expand_and_dir_to_file):
9856         * fileio.c (barf_or_query_if_file_exists):
9857         * fileio.c (check_executable):
9858         * fileio.c (Ffile_exists_p):
9859         * fileio.c (Ffile_writable_p):
9860         * fileio.c (Ffile_directory_p):
9861         * fileio.c (Ffile_regular_p):
9862         * fileio.c (Ffile_modes):
9863         * fileio.c (Ffile_newer_than_file_p):
9864         * fileio.c (Fverify_visited_file_modtime):
9865         * fileio.c (Fset_visited_file_modtime):
9866         * fileio.c (auto_save_1):
9867         (1). (2).
9868         fix up gcpro's.
9869
9870         * frame-msw.c:
9871         * frame-msw.c (mswindows_init_frame_1):
9872         * frame-msw.c (mswindows_enable_frame):
9873         * frame-msw.c (error_frame_unsizable):
9874         * frame-msw.c (msprinter_init_frame_1):
9875         * frame-msw.c (msprinter_init_frame_3):
9876         * frame-msw.c (console_type_create_frame_mswindows):
9877         (2).
9878         implement new enable/disable frame methods.
9879
9880         * frame-x.c:
9881         * frame-x.c (x_enable_frame):
9882         * frame-x.c (console_type_create_frame_x):
9883         implement new enable/disable frame methods.
9884
9885         * frame.c:
9886         * frame.c (Fdisable_frame):
9887         * frame.c (syms_of_frame):
9888         * frame.h (struct frame):
9889         implement new enable/disable frame methods/functions.
9890
9891         * general-slots.h:
9892         add initial-focus.
9893
9894         * glyphs-msw.c (mswindows_widget_instantiate):
9895         comment that initial-focus should be implemented.
9896
9897         * glyphs-widget.c:
9898         * glyphs-widget.c (check_valid_instantiator):
9899         * glyphs-widget.c (check_valid_orientation):
9900         * glyphs-widget.c (check_valid_tab_orientation):
9901         * glyphs-widget.c (check_valid_justification):
9902         * glyphs-widget.c (check_valid_border):
9903         * glyphs-widget.c (check_valid_callback):
9904         * glyphs-widget.c (check_valid_int_or_function):
9905         * glyphs-widget.c (check_valid_string_or_vector):
9906         * glyphs-widget.c (check_valid_item_list_1):
9907         * glyphs-widget.c (widget_validate):
9908         * glyphs-widget.c (combo_box_validate):
9909         * glyphs-widget.c (widget_instantiate):
9910         * glyphs-widget.c (syms_of_glyphs_widget):
9911         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9912         * glyphs-widget.c (image_instantiator_combo_box):
9913         * glyphs-widget.c (image_instantiator_scrollbar):
9914         * glyphs-widget.c (image_instantiator_tab_control):
9915         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9916         (2).
9917         support (unimplemented) keyword initial-focus.
9918         reindent long macros.
9919
9920         * glyphs-x.c (x_redisplay_widget):
9921         * glyphs-x.c (x_button_instantiate):
9922         * glyphs-x.c (x_button_redisplay):
9923         * glyphs-x.c (x_progress_gauge_instantiate):
9924         * glyphs-x.c (x_edit_field_instantiate):
9925         * glyphs-x.c (x_combo_box_instantiate):
9926         * glyphs-x.c (x_tab_control_instantiate):
9927         * glyphs-x.c (x_label_instantiate):
9928         * gui-x.c:
9929         * gui-x.c (button_item_to_widget_value):
9930         * gui-x.c (gui_items_to_widget_values_1):
9931         * gui-x.c (gui_item_children_to_widget_values):
9932         * gui-x.c (gui_items_to_widget_values):
9933         * gui-x.h:
9934         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9935         add new flag to gui-parsing routines to indicate whether
9936         accelerator specs should be supported.
9937
9938         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9939
9940         * glyphs.h (struct Lisp_Image_Instance):
9941         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9942         add initial-focus flag.
9943
9944         * gui.c:
9945         * gui.c (syms_of_gui):
9946         * gui.c (vars_of_gui):
9947         clean up menu-no-selection-hook.
9948
9949         * gui.h:
9950         support delete-dialog-box-hook.
9951
9952         * lread.c (Fload_internal):
9953         * lread.c (locate_file_in_directory_mapper):
9954         (1).
9955
9956         * lrecord.h:
9957         * lrecord.h (struct toolbar_button):
9958         * lrecord.h (syms_of_toolbar):
9959         document how to create a new object.
9960
9961         * menubar-msw.c (mswindows_char_is_accelerator):
9962         may be called on frames w/o menus.
9963
9964         * menubar.c (vars_of_menubar):
9965         clean up :filter docs.
9966
9967         * nt.c (readdir):
9968         * ntproc.c:
9969         (1).
9970
9971         * process-nt.c:
9972         * process-nt.c (validate_signal_number):
9973         * process-nt.c (signal_cannot_launch):
9974         * process-nt.c (nt_create_process):
9975         * process-nt.c (nt_send_process):
9976         * process-nt.c (nt_kill_child_process):
9977         * process-nt.c (nt_open_network_stream):
9978         * process-nt.c (syms_of_process_nt):
9979         (2).
9980         delete quote-handling.  call new lisp code that does it better.
9981
9982         * process-unix.c (connect_to_file_descriptor):
9983         * process-unix.c (allocate_pty):
9984         * process-unix.c (unix_send_process):
9985         * process-unix.c (unix_kill_child_process):
9986         * process-unix.c (unix_open_network_stream):
9987         * process-unix.c (unix_open_multicast_group):
9988         (1). (2).
9989
9990         * process.c:
9991         * process.c (Fstart_process_internal):
9992         (2).  need to canonicalize process path even if absolute.
9993
9994         * select-msw.c (symbol_to_ms_cf):
9995         * select-msw.c (ms_cf_to_symbol):
9996         * select-msw.c (cf_is_autofreed):
9997         * select-msw.c (mswindows_destroy_selection):
9998         * select.c:
9999         * select.c (syms_of_select):
10000         * select.h:
10001         support dibv5, fix bugs. (from Mike Alexander)
10002
10003         * select.c (Fget_selection_internal):
10004         * select.c (select_convert_out):
10005
10006         * sysdep.c:
10007         * sysdep.c (xemacs_stat):
10008         renamed.
10009
10010         * sysdep.c (mkdir):
10011         * sysdep.c (rmdir):
10012         but keep original stat() here because we provide encapsulation
10013         around these funs.
10014
10015         * sysfile.h:
10016         * sysfile.h (fstat):
10017         remove stat garbage.
10018
10019         * syswindows.h:
10020         fix X/MSW conflict.
10021         don't include tchar.h.  it's inappropriate because it makes
10022         compile-time distinctions when we want runtime distinctions.
10023         (we provide our own tchar replacements)
10024
10025         * toolbar.c:
10026         use default object printer for toolbar-button.
10027
10028         * unexcw.c:
10029         make sure we don't encapsulate.
10030
10031         * window.c (vars_of_window):
10032         emphasize that temp-buffer-show-hook is obsolete.
10033
10034 2000-08-05  Martin Buchholz  <martin@xemacs.org>
10035
10036         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
10037         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
10038
10039         * events.c (Fevent_timestamp_lessp):
10040         Not 64-bit clean.  Use EMACS_INT, not int.
10041
10042 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
10043
10044         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
10045         unsigned int and changed the last enum to
10046         lrecord_type_last_built_in_type.
10047         (lrecord_implementations_table): changed prototype to know how
10048         long the array is supposed to be.
10049         (lrecord_type_count): new unsigned int to keep track of the
10050         current number of lisp lrecord types.
10051         (DEFINE_EXTERNAL_LRECORD):
10052         (DECLARE_EXTERNAL_LRECORD): Added these two for external
10053         dynamic-modules to declare new lisp types. They are the same
10054         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
10055         int for each new type, and increment lrecord_type_count by 1.
10056
10057         * alloc.c (lrecord_implementations_table): Changed to reference
10058         lrecord_type_last_built_in_type for the size of the array.
10059         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
10060
10061 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10062
10063         * glyphs.h (check_valid_item_list): Renamed from
10064         check_valid_item_list_1.
10065
10066 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10067
10068         * select.c (Qselect_coerce): New.
10069         * select.c (Vselection_coercion_alist): New.
10070         * select.c (syms_of_select): Declare.
10071         * select.c (get-selection-internal): Use it.
10072         Use the new select-coerce functionality.
10073
10074         * select.c (select_coerce): New.
10075         * select.h (select_coerce): Declare.
10076         New function to coerce one type of data into another.
10077
10078 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10079
10080         * callproc.c (Fcall_process_internal):
10081         (Fcall_process_internal):
10082         * process-unix.c (unix_create_process):
10083         Save and restore the value of errno, so that error messages are accurate.
10084
10085 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10086
10087         * elhash.c (print_hash_table):
10088         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10089         Prettify docstrings and indentation.
10090
10091 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10092
10093         * window.c (Fwindow_pixel_edges): Subtract frame border and
10094         gutter size.
10095
10096 2000-07-31  Andy Piper  <andy@xemacs.org>
10097
10098         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10099         will acknowledge the change.
10100
10101         * glyphs.h: declare tab_control_order_only_changed.
10102
10103         * glyphs-x.c (x_tab_control_redisplay): use
10104         tab_control_order_only_changed.
10105
10106         * glyphs-widget.c (tab_control_order_only_changed): new function.
10107
10108         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10109         tab_control_order_only_changed.
10110
10111         * gui.c (gui_item_equal_sans_selected): new function.
10112         (gui_item_equal): use it.
10113
10114         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10115         :properties in favor of :items..
10116
10117         * glyphs-widget.c (check_valid_item_list): rename from
10118         check_valid_item_list_1.
10119         (check_valid_item_list_1): renamed.
10120         (combo_box_validate): deprecate :properties in favor of :items.
10121         (widget_instantiate): ditto.
10122         (tab_control_update): ditto.
10123         (image_instantiator_combo_box): ditto.
10124         (image_instantiator_tree_view): ditto.
10125         (image_instantiator_tab_control): ditto.
10126         (layout_post_instantiate): remove dead code.
10127
10128         * print.c (debug_print_no_newline): only write to debugger if in
10129         WIN32_NATIVE.
10130
10131         * elhash.c (Fmake_hash_table): update doc string.
10132
10133         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10134         messages whilst in GC. This at least stops XEmacs crashing but has
10135         the potential for wierd behaviour.
10136
10137 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10138
10139         * config.h.in:
10140         Make existence of s&m files optional.
10141
10142         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10143         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10144         * s/gnu.h: Remove HAVE_GETLOADAVG.
10145         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10146         * s/sol2.h: Remove HAVE_GETLOADAVG.
10147         * lisp.h: Remove getloadavg() declaration.
10148         * fns.c:
10149         Include <sys/loadavg.h> if available.
10150         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10151         * config.h.in:  Group together getloadavg()-related macros.
10152         Use only configure-time tests to detect getloadavg().
10153
10154 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10155
10156         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10157
10158 2000-07-25  Andy Piper  <andy@xemacs.org>
10159
10160         * syswindows.h: add tchar.h for native builds.
10161
10162         * frame.c (syms_of_frame): remove set-glyph-image.
10163
10164         * general-slots.h: add Qset_glyph_image.
10165
10166         * glyphs-widget.c (layout_update): add domain arg to
10167         set-glyph-image.
10168         (syms_of_glyphs_widget): remove set-glyph-image.
10169
10170 2000-07-23  Ben Wing  <ben@xemacs.org>
10171
10172         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10173         Vpopup_frame_list.
10174
10175 2000-07-22  Andy Piper  <andy@xemacs.org>
10176
10177         * symsinit.h: add syms_of_win32().
10178
10179         * gui-msw.c (syms_of_gui_mswindows): remove
10180         Fmswindows_shell_execute.
10181         (Fmswindows_shell_execute): moved to win32.c.
10182
10183         * emacs.c (main_1): add syms_of_win32 ().
10184
10185         * win32.c (init_potentially_nonexistent_functions): rewrite in
10186         compiler-friendly terms.
10187         (Fmswindows_shell_execute): move here from gui-msw.c.
10188         (syms_of_win32): new.
10189
10190         * device-msw.c (Fmswindows_printer_list): clean up args to
10191         EnumPrinters.
10192         Don't include tchar under cygwin or mingw.
10193         (msprinter_default_printer): make cygwin-friendly.
10194
10195 2000-07-21  Andy Piper  <andy@xemacs.org>
10196
10197         * glyphs-widget.c (image_instantiator_tree_view): use tab
10198         control's update function.
10199         (layout_property): new function. Retrieve items.
10200
10201         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10202         function. Re-populate the tree view from the pending items.
10203
10204         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10205         is designated the parent if the domain is an image instance. This
10206         is needed so that dirtiness can be cascade up the hierarchy and
10207         thus for layout children to be redisplayed correctly.
10208         (allocate_image_instance): rename glyph -> parent.
10209
10210         * redisplay.h: change redisplay_output_layout signature.
10211
10212         * redisplay-msw.c (mswindows_output_display_block): use domain
10213         arg.
10214
10215         * redisplay-x.c (x_output_display_block): use domain arg.
10216
10217 2000-07-10  Andy Piper  <andy@xemacs.org>
10218
10219         * window.c (Fset_window_configuration): add comment.
10220
10221         * redisplay-output.c (compare_runes):
10222         (redisplay_output_subwindow): redisplay rather than update subwindow.
10223         (redisplay_output_layout): ditto.
10224
10225         * redisplay-msw.c (mswindows_frame_output_end):
10226         (mswindows_frame_output_end): make defer window pos optional.
10227
10228         * lisp.h: add Flast.
10229
10230         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10231         normalize method. Change update method to be for changed
10232         instantiators. Add redisplay method. Change signature of layout
10233         method.
10234         (struct Lisp_Image_Instance): add instantiator.
10235         (IMAGE_INSTANCE_INSTANTIATOR): new.
10236         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10237         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10238         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10239
10240         * glyphs.c:
10241         (find_instantiator_differences): new function.
10242         (Fset_instantiator_property): new convenience function.
10243         (check_image_instance_structure): strictly check for vector
10244         instantiators.
10245         (normalize_image_instantiator): make non-static.
10246         (instantiate_image_instantiator): pass on dest_mask and use new
10247         signatures for image_instance_layout and friends.
10248         (mark_image_instance): mark the instantiator. Mark the subwindow
10249         face not the widget face.
10250         (image_instance_equal): add instantiator.
10251         (image_instance_hash): ditto.
10252         (allocate_image_instance): ditto.
10253         (Fset_image_instance_property): removed.
10254         (Fimage_instance_file_name): ditto.
10255         (Fcolorize_image_instance): ditto.
10256         (image_instance_layout): add offsets to be set.
10257         (update_image_instance): new function. update an image instance
10258         from its changed instantiator.
10259         (inherit_normalize): add dest_mask.
10260         (xbm_normalize): ditto.
10261         (xface_normalize): ditto.
10262         (xpm_normalize): ditto.
10263         (text_update): set_property -> update.
10264         (image_instantiate): use the glyph identity as a hash key, not the
10265         instantiator.
10266         (glyph_width): use new image_instance_layout signature.
10267         (glyph_ascent): ditto.
10268         (glyph_descent): ditto.
10269         (glyph_height): ditto.
10270         (glyph_query_geometry): ressurrect.
10271         (glyph_layout): ditto.
10272         (redisplay_subwindow): update -> redisplay.
10273         (syms_of_glyphs): add Fset_instantiator_property.
10274         (image_instantiator_format_create): set_property -> update.
10275
10276         * glyphs-x.c:
10277         (autodetect_normalize): add dest_maks to signature.
10278         (x_redisplay_subwindow): update -> redisplay.
10279         (x_redisplay_widget): ditto.
10280         (x_button_redisplay): ditto.
10281         (x_progress_gauge_redisplay): ditto.
10282         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10283         stacking order.
10284         (console_type_create_glyphs_x): update -> redisplay.
10285         (image_instantiator_format_create_glyphs_x): ditto.
10286
10287         * glyphs-widget.c:
10288         (check_valid_instantiator): disallow glyphs in the instantiator,
10289         they must now be vectors.
10290         (check_valid_instantiator_list): ditto.
10291         (glyph_instantiator_to_glyph): use internal symbol rather than
10292         intern.
10293         (widget_update): renamed from widget_set_property. Call cascaded
10294         update methods.
10295         (redisplay_widget): renamed from update_widget.
10296         (widget_layout): image_instance_layout now takes position as well
10297         as size.
10298         (widget_normalize): ditto.
10299         (widget_instantiate): ditto.
10300         (tab_control_query_geometry) ditto.:
10301         (tab_control_update): renamed from tab_control_set_property.
10302         (progress_gauge_update): set_property -> update.
10303         (layout_normalize): rewrite so that child instantiators are
10304         normalized also.
10305         (layout_update): new function. Create glyphs from the normalized
10306         children and cope with any other layout keywords. We do not
10307         instantiate children here that will be take care of by
10308         redisplay_output_layout.
10309         (layout_instantiate): call layout_update and not much else.
10310         (layout_post_instantiate): not sure whether this is needed
10311         anymore.
10312         (layout_query_geometry): query glyph geometry rather than
10313         image_instance geometry.
10314         (layout_layout): set offsets from pass in parameters. Use glyph
10315         geometry and layout functions rather than image instance ones.
10316         (native_layout_layout): ditto.
10317         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10318         (image_instantiator_widget): set_property -> update.
10319         (image_instantiator_buttons): ditto.
10320         (image_instantiator_progress_guage): ditto.
10321         (image_instantiator_tab_control): ditto.
10322         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10323         (image_instantiator_layout): add update method.
10324
10325         * glyphs-msw.c (bmp_normalize):
10326         (mswindows_resource_normalize): add dest_mask so that it can be
10327         proprogated by layout_normalize.
10328         (begin_defer_window_pos): make optional because it may not be the
10329         right thing to do and it introduces differences with X.
10330         (mswindows_unmap_subwindow): ditto.
10331         (mswindows_map_subwindow): ditto.
10332         (mswindows_redisplay_subwindow): renamed from
10333         mswindows_update_subwindow.
10334         (mswindows_redisplay_widget): ditto.
10335         (mswindows_button_redisplay): renamed from
10336         mswindows_button_update. Update is now what the instantiation
10337         function does for a changed instantiator.
10338         (mswindows_progress_gauge_instantiate): set the progress value
10339         here if appropriate.
10340         (mswindows_tab_control_redisplay): cope with re-ordering of the
10341         members of the tab widget by simply selecting the new top
10342         widget. This makes things appear ok if you click on a tab.
10343         (mswindows_combo_box_instantiate): image_instance_layout now takes
10344         position as well as size.
10345         (mswindows_progress_gauge_redisplay): renamed from
10346         mswindows_progress_gauge_update.
10347         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10348         (image_instantiator_format_create_glyphs_mswindows): ditto.
10349
10350         * glyphs-eimage.c (jpeg_normalize):
10351         (gif_normalize):
10352         (png_normalize):
10353         (tiff_normalize): add dest_mask so that it can be proprogated by
10354         layout_normalize.
10355
10356         * elhash.c:
10357         (print_hash_table):
10358         (hash_table_weakness_validate):
10359         (decode_hash_table_weakness):
10360         (Fhash_table_weakness):
10361         (Fhash_table_type):
10362         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10363
10364         * console.h (struct console_methods): move update_* to
10365         redisplay_*.
10366
10367 2000-07-20  Ben Wing  <ben@xemacs.org>
10368
10369         * *.[ch] (XSETOBJ): remove unused middle argument.
10370         lisp-disunion.h: correct wrap_object() to one argument.
10371
10372 2000-07-15  Ben Wing  <ben@xemacs.org>
10373
10374         * s/cygwin32.h:
10375         * s/cygwin32.h (CYGWIN_CONV_PATH):
10376         Add missing logb prototype for v1.1.
10377         Use post-b20 names and alias to pre-b20 names when pre-b20.
10378
10379         * s/windowsnt.h: [5].
10380
10381 2000-07-15  Ben Wing  <ben@xemacs.org>
10382
10383         * Makefile.in.in (x_objs):
10384         * Makefile.in.in (sheap_objs):
10385         * Makefile.in.in (objs):
10386         added win32.o, cosmetic cleanups.
10387
10388         * alloc.c (Fmake_byte_code):
10389         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10390         etc. macros which declare their own args now.
10391
10392         * alloc.c (syms_of_alloc):
10393         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10394
10395         * buffer.c:
10396         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10397
10398         * buffer.c (Fget_file_buffer):
10399         Fixed GCPRO problem.
10400
10401         * buffer.c (get_truename_buffer):
10402         Fixed comment about GC checking.
10403
10404         * buffer.c (syms_of_buffer):
10405         Undeclared those dedicated frame funs.
10406         [2].
10407
10408         * buffer.h:
10409         Define convenience macros for internal/external conversions.
10410         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10411         and Qenvironment_variable_encoding for cleaner code.
10412
10413         * bufslots.h:
10414         Remove dedicated-frame; in lisp.
10415
10416         * bytecode.c (funcall_compiled_function):
10417         [1].
10418
10419         * bytecode.c (syms_of_bytecode):
10420         [2].
10421
10422         * console-msw.c:
10423         * console-msw.c (mswindows_show_console): Rewrote.
10424
10425         * console-msw.c (Fmswindows_debugging_output): New.
10426         Sends to OutputDebugString (special MSWin debugger interface).
10427
10428         * console-msw.c (Fmswindows_message_box):
10429         Fixed stupid bugs so it works when called from kill-emacs.
10430
10431         * console-msw.c (syms_of_console_mswindows):
10432         Declare Fmswindows_debugging_output.
10433
10434         * console-msw.h:
10435         New MSWin prototypes.
10436
10437         * console-msw.h (struct mswindows_frame):
10438         New entry last-click-mods for improved button-modifier support.
10439
10440         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10441         New struct entry `popup' with corresponding accessor.
10442
10443         * console-x.c:
10444         * console-x.c (split_up_display_spec):
10445         * console-x.c (get_display_arg_connection):
10446         * console-x.c (x_semi_canonicalize_console_connection):
10447         * console-x.c (x_canonicalize_device_connection):
10448         [[[6]]]: Change char to more specific type.
10449         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10450
10451         * console-x.c (x_semi_canonicalize_console_connection):
10452         * console-x.c (x_canonicalize_device_connection):
10453         [[[9]]]: Fix up error signalling to use new structured error system.
10454
10455         * console-x.h:
10456         [[[4]]]: Define codesys aliases:
10457         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10458         Qx_color_name_encoding, Qx_display_name_encoding.
10459
10460         * console.h (struct console_methods):
10461         New method make_dialog_box_internal supersedes older
10462         popup_dialog_box method.
10463
10464         * data.c:
10465         Define many new errors, part of new structured errors.
10466
10467         * data.c (init_errors_once_early):
10468         * data.c (syms_of_data):
10469         [2].
10470
10471         * device-msw.c (mswindows_init_device):
10472         [[[5]]]: Cleanup to support NT 3.51.
10473
10474         * device-msw.c (decode_devmode): Cleanup.
10475
10476         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10477         * device-msw.c (mswindows_handle_print_dialog_box):
10478         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10479         * device-msw.c (syms_of_device_mswindows):
10480         Delete the dialog box primitives recently introduced by Kirill and
10481         instead interface to general dialog box interface.
10482
10483         * device-x.c:
10484         * device-x.c (compute_x_app_name):
10485         * device-x.c (x_init_device):
10486         * device-x.c (Fx_valid_keysym_name_p):
10487         * device-x.c (Fx_set_font_path):
10488         [6].
10489         [7].
10490
10491         * device.h (wrap_device): New.
10492         First of its kind; meant to replace XSETDEVICE.
10493
10494         * dialog-msw.c: Many file-dialog symbols.
10495
10496         * dialog-msw.c (mswindows_register_popup_frame): New.
10497         * dialog-msw.c (mswindows_is_dialog_msg): New.
10498         For supporting kbd traversal in dialog boxes.
10499
10500         * dialog-msw.c (dialog_proc):
10501         Support hitting ESC in dialogs.
10502
10503         * dialog-msw.c (struct):
10504         Common dialog box errors.
10505
10506         * dialog-msw.c (handle_file_dialog_box): New.
10507         Add file dialog code.
10508
10509         * dialog-msw.c (handle_question_dialog_box):
10510         Redo existing code to support new question dialog syntax.
10511
10512         * dialog-msw.c (console_type_create_dialog_mswindows):
10513         We support new dialog console method.
10514
10515         * dialog-msw.c (syms_of_dialog_mswindows):
10516         * dialog-msw.c (vars_of_dialog_mswindows):
10517         New file dialog symbols, vars.
10518
10519         * dialog-x.c:
10520         * dialog-x.c (maybe_run_dbox_text_callback):
10521         * dialog-x.c (dbox_descriptor_to_widget_value):
10522         * dialog-x.c (x_make_dialog_box_internal):
10523         * dialog-x.c (console_type_create_dialog_x):
10524         Mule-ize entire file.
10525         Redo to support question dialog syntax.
10526         [6].
10527
10528         * dialog.c:
10529         * dialog.c (Fmake_dialog_box_internal):
10530         * dialog.c (syms_of_dialog):
10531         Kill old popup-dialog-box, replace with new primitive.
10532         Just call device method or signal error.
10533
10534         * eldap.c (Fldap_open):
10535         * eldap.c (Fldap_search_basic):
10536         * eldap.c (Fldap_add):
10537         * eldap.c (Fldap_modify):
10538         [1].
10539         [7].
10540
10541         * emacs.c:
10542         * emacs.c (make_arg_list_1):
10543         * emacs.c (make_arg_list):
10544         Mule-ize call to dll_init().
10545         [6].
10546         [8].
10547
10548         * emacs.c (make_argc_argv):
10549         * emacs.c (free_argc_argv):
10550         * emacs.c (init_cmdargs):
10551         * emacs.c (main_1):
10552         * emacs.c (Fkill_emacs):
10553         * emacs.c (Fdump_emacs):
10554         Update comments about what can be used in syms_* etc.
10555         Call init_win32() when necessary.
10556         Fix up MS Win dialog box in kill-buffer to actually work right.
10557         [7].
10558
10559         * eval.c:
10560         * eval.c (For):
10561         * eval.c (Fand):
10562         * eval.c (Fprogn):
10563         * eval.c (Fprog1):
10564         * eval.c (Fprog2):
10565         * eval.c (FletX):
10566         * eval.c (Flet):
10567         * eval.c (condition_case_3):
10568         * eval.c (Feval):
10569         * eval.c (function_argcount):
10570         * eval.c (funcall_lambda):
10571         [1].
10572
10573         * eval.c (type_error): New.
10574         * eval.c (maybe_type_error): New.
10575         * eval.c (continuable_type_error): New.
10576         * eval.c (maybe_continuable_type_error): New.
10577         * eval.c (type_error_with_frob): New.
10578         * eval.c (maybe_type_error_with_frob): New.
10579         * eval.c (continuable_type_error_with_frob): New.
10580         * eval.c (maybe_continuable_type_error_with_frob): New.
10581         New functions for use with structured errors.
10582
10583         * event-Xt.c:
10584         * event-Xt.c (x_event_to_emacs_event):
10585         Buttons are now modifiers too.
10586
10587         * event-Xt.c (emacs_Xt_current_event_timestamp):
10588         Implement new event method.
10589         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10590
10591         * event-msw.c:
10592         * event-msw.c (ntpipe_shove_writer): [5].
10593         * event-msw.c (mswindows_enqueue_mouse_button_event):
10594         * event-msw.c (mswindows_drain_windows_queue):
10595         * event-msw.c (mswindows_wnd_proc): [7].
10596         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10597         * event-msw.c (mswindows_modifier_state):
10598         Throughout: support new button modifiers.
10599
10600         * event-msw.c (emacs_mswindows_current_event_timestamp):
10601         Implement new event method.
10602         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10603
10604         * event-stream.c:
10605         * event-stream.c (event_stream_current_event_timestamp): New.
10606         * event-stream.c (maybe_kbd_translate): New functionality.
10607         * event-stream.c (vars_of_event_stream):
10608         Document new kbd-translate-table functionality.
10609
10610         * event-stream.c (Fcurrent_event_timestamp): New.
10611         New primitive for use in fabricated events.
10612         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10613
10614         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10615
10616         * events.c:
10617         * events.c (Fmake_event):
10618         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10619         [1].
10620         [9].
10621
10622         * events.c (format_event_object): fix gcc warnings.
10623
10624         * events.c (Fevent_timestamp): Document new primitives.
10625
10626         * events.c (TIMESTAMP_HALFSPACE): New.
10627
10628         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10629         comparing timestamps correctly (half-space algorithm).
10630
10631         * events.c (Fevent_modifier_bits): Doc fix.
10632
10633         * events.c (Fevent_modifiers): Major doc addition.
10634         * events.c (event_x_y_pixel_internal): Typo fix.
10635         * events.c (syms_of_events): Declare new primitives.
10636
10637         * events.h:
10638         Update long comment for button modifiers, timestamps.
10639
10640         * events.h (struct event_stream):
10641         New current_event_timestamp method.
10642
10643         * extents.c:
10644         * extents.c (extent_in_region_p):
10645         * extents.c (decode_extent):
10646         * extents.c (Fset_extent_parent):
10647         * extents.c (decode_map_extents_flags):
10648         Fix gcc warnings.
10649         [9].
10650
10651         * extents.c (struct extent_at_arg):
10652         * extents.c (decode_extent_at_flag):
10653         * extents.c (extent_at_mapper):
10654         * extents.c (extent_at_bytind):
10655         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10656         * extents.c (Fextents_at): New primitive. [9].
10657         * extents.c (symbol_to_glyph_layout): [9].
10658         Support new primitive `extents-at'.
10659
10660
10661         * extents.c (get_text_property_bytind):
10662         extent_at_bytind has another arg.
10663         [9].
10664
10665         * extents.c (syms_of_extents): New primitive.
10666
10667         * file-coding.c (Fmake_coding_system): [1].
10668         * file-coding.c (subsidiary_coding_system): fix gcc warning
10669         * file-coding.c (syms_of_file_coding): [2].
10670
10671         * fileio.c (Fexpand_file_name):
10672         * fileio.c (Fsysnetunam):
10673         * fileio.c (Ffile_exists_p):
10674         * fileio.c (Ffile_executable_p):
10675         * fileio.c (Fverify_visited_file_modtime):
10676         Clean up GCPROing.
10677
10678         * fileio.c (syms_of_fileio): [2].
10679
10680         * filelock.c (lock_file_1):
10681         * filelock.c (current_lock_owner):
10682         * filelock.c (lock_if_free):
10683         * filelock.c (lock_file):
10684         * filelock.c (unlock_file):
10685         Clean up GCPROing.
10686
10687         * fns.c (concat): Fix gcc warning.
10688
10689         * fns.c (Fmember):
10690         * fns.c (Fold_member):
10691         * fns.c (Fmemq):
10692         * fns.c (Fold_memq):
10693         * fns.c (memq_no_quit):
10694         * fns.c (Fassoc):
10695         * fns.c (Fold_assoc):
10696         * fns.c (Fassq):
10697         * fns.c (Fold_assq):
10698         * fns.c (assq_no_quit):
10699         * fns.c (Frassoc):
10700         * fns.c (Fold_rassoc):
10701         * fns.c (Frassq):
10702         * fns.c (Fold_rassq):
10703         * fns.c (rassq_no_quit):
10704         * fns.c (Fdelete):
10705         * fns.c (Fold_delete):
10706         * fns.c (Fdelq):
10707         * fns.c (Fold_delq):
10708         * fns.c (delq_no_quit):
10709         * fns.c (Fremassoc):
10710         * fns.c (Fremassq):
10711         * fns.c (remassq_no_quit):
10712         * fns.c (Fremrassoc):
10713         * fns.c (Fremrassq):
10714         * fns.c (remrassq_no_quit):
10715         * fns.c (Freverse):
10716         * fns.c (mapcar1):
10717         [1].
10718
10719         * frame-msw.c (mswindows_init_frame_1):
10720         * frame-msw.c (mswindows_delete_frame):
10721         Register popups with dialog code so keyboard traversing works.
10722
10723         * frame-tty.c (tty_raise_frame_no_select): [1].
10724
10725         * frame-x.c:
10726         * frame-x.c (x_set_frame_text_value):
10727         * frame-x.c (x_set_frame_properties):
10728         * frame-x.c (x_create_widgets):
10729         [7].
10730
10731         * frame.c:
10732         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10733
10734         * frame.h (wrap_frame): New.
10735         Macro like wrap_device.
10736
10737         * general.c:
10738         * general.c (SYMBOL):
10739         * general.c (syms_of_general):
10740         Major reorg.  This is now just a wrapper and symbols themselves
10741         are listed in general-slots.h.
10742
10743         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10744         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10745
10746         * glyphs-msw.c (mswindows_native_layout_instantiate):
10747         Add DS_CONTROL so keyboard traversal will work.
10748
10749         * glyphs-widget.c:
10750         * glyphs-widget.c (syms_of_glyphs_widget):
10751         Move some symbols to general-slots.h.
10752
10753         * glyphs-x.c:
10754         * glyphs-x.c (xbm_instantiate_1):
10755         * glyphs-x.c (x_xbm_instantiate):
10756         * glyphs-x.c (x_xface_instantiate):
10757         * glyphs-x.c (autodetect_instantiate):
10758         * glyphs-x.c (cursor_font_instantiate):
10759         * glyphs-x.c (x_update_widget):
10760         * glyphs-x.c (x_widget_instantiate):
10761         * glyphs.c (bitmap_to_lisp_data):
10762         * glyphs.c (pixmap_to_lisp_data):
10763         [7].
10764
10765         * glyphs.c (syms_of_glyphs):
10766         [2].
10767
10768         * gui-x.c:
10769         * gui-x.c (print_widget_value):
10770         * gui-x.c (menu_separator_style_and_to_external):
10771         * gui-x.c (add_accel_and_to_external):
10772         * gui-x.c (button_item_to_widget_value):
10773         * gui-x.c (gui_items_to_widget_values_1):
10774         * gui-x.c (gui_items_to_widget_values):
10775         * gui-x.c (syms_of_gui_x):
10776         * gui-x.c (vars_of_gui_x):
10777         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10778         [9].
10779
10780         * gui-x.h:
10781         Muleize, prototype changes matching gui-x.c.
10782
10783         * gui.c:
10784         * gui.c (separator_string_p):
10785         * gui.c (gui_item_add_keyval_pair):
10786         * gui.c (make_gui_item_from_keywords_internal):
10787         * gui.c (signal_too_long_error):
10788         * gui.c (parse_gui_item_tree_item):
10789         * gui.c (syms_of_gui):
10790         * gui.c (vars_of_gui):
10791         * gui.h:
10792         menu-no-selection-hook moved here (used by MSWin).
10793         Move some symbols to general-slots.h.
10794         [6].
10795         [9].
10796
10797         * insdel.c (get_buffer_pos_char):
10798         * insdel.c (get_buffer_range_char):
10799         Add GC comments.
10800
10801         * keymap.c (keymap_lookup_directly):
10802         * keymap.c (keymap_store):
10803         * keymap.c (ensure_meta_prefix_char_keymapp):
10804         * keymap.c (describe_map):
10805         * keymap.h:
10806         Support new button modifiers.
10807
10808         * lisp-disunion.h (wrap_object):
10809         * lisp-disunion.h (XSETOBJ):
10810         Rename make_obj to wrap_object.
10811
10812         * lisp-union.h:
10813         * lisp-union.h (make_int):
10814         * lisp-union.h (make_char):
10815         Support wrap_object.
10816
10817         * lisp.h:
10818         * lisp.h (LIST_LOOP):
10819         * lisp.h (EXTERNAL_LIST_LOOP):
10820         * lisp.h (LIST_LOOP_2):
10821         * lisp.h (EXTERNAL_LIST_LOOP_1):
10822         * lisp.h (EXTERNAL_LIST_LOOP_2):
10823         * lisp.h (EXTERNAL_LIST_LOOP_3):
10824         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10825         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10826         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10827         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10828         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10829         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10830         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10831         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10832         * lisp.h (struct Lisp_Symbol):
10833         * lisp.h (maybe_continuable_error_with_frob):
10834         Fix up section comments.
10835         Add new types for char to indicate usage.
10836         Delete symbols auto-generated from general-slots.h.
10837         Add prototypes for structured error functions.
10838         Add long comments describing looping macros and change interface
10839         so that lvalues are automatically declared.
10840         Add NO_DECLARE macro in case callers want to declare lvalues
10841         themselves.
10842
10843         * lread.c (read_syntax_error):
10844         * lread.c (continuable_read_syntax_error):
10845         * lread.c (read_structure):
10846         * lread.c (sequence_reader):
10847         * lread.c (read_list_conser):
10848         * lread.c (read_compiled_function):
10849         Rename syntax_error and continuable_syntax_error to avoid clash
10850         with same-named structured error functions.
10851
10852         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10853         * menubar-msw.c (populate_menu_add_item):
10854         * menubar-msw.c (populate_or_checksum_helper):
10855         [5].
10856         [9].
10857
10858         * menubar-x.c:
10859         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10860         Mule-ize whole file.
10861
10862         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10863
10864         * mule-charset.c (Fmake_charset):
10865         * mule-wnnfns.c (Fwnn_set_param):
10866         [1].
10867
10868         * ntproc.c (create_child):
10869         * ntproc.c (Fwin32_set_current_locale):
10870         Add comments portending doom.
10871
10872         * objects-msw.c:
10873         * objects-msw.c (old_font_enum_callback_2):
10874         * objects-msw.c (font_enum_callback_1):
10875         * objects-msw.c (mswindows_enumerate_fonts):
10876         [5].
10877
10878         * objects-x.c:
10879         * objects-x.c (allocate_nearest_color):
10880         * objects-x.c (x_parse_nearest_color):
10881         * objects-x.c (x_initialize_color_instance):
10882         * objects-x.c (x_print_color_instance):
10883         * objects-x.c (x_finalize_color_instance):
10884         * objects-x.c (x_valid_color_name_p):
10885         * objects-x.c (x_initialize_font_instance):
10886         * objects-x.c (x_print_font_instance):
10887         * objects-x.c (valid_x_font_name_p):
10888         * objects-x.c (truename_via_FONT_prop):
10889         * objects-x.c (truename_via_random_props):
10890         * objects-x.c (truename_via_XListFonts):
10891         * objects-x.c (x_font_truename):
10892         * objects-x.c (x_font_instance_truename):
10893         * objects-x.c (x_font_instance_properties):
10894         * objects-x.c (x_list_fonts):
10895         * objects-x.c (x_find_charset_font):
10896         Mule-ize entire file.
10897         [7].
10898
10899         * objects-x.h:
10900         Mule-verify.
10901
10902         * print.c:
10903         * print.c (std_handle_out_external):
10904         * print.c (debug_print_no_newline):
10905         * print.c (syms_of_print):
10906         Output to all debugger kinds in debug-print.
10907         Fix console-output code under MSWin to actually work.
10908
10909         * process-nt.c (send_signal):
10910         * process-nt.c (nt_create_process):
10911         Use newer Unicode macros.
10912
10913         * process-unix.c (unix_create_process):
10914         * process-unix.c (unix_canonicalize_host_name):
10915         * process-unix.c (unix_open_network_stream):
10916         [7].
10917
10918         * scrollbar-x.c:
10919         Mule-verify.
10920
10921         * search.c (syms_of_search):
10922         [2].
10923
10924         * select-msw.c (mswindows_destroy_selection):
10925         Use LIST_LOOP_2.
10926
10927         * select-x.c (symbol_to_x_atom):
10928         [7].
10929
10930         * select.c (syms_of_select):
10931         [2].
10932
10933         * sound.c (Fplay_sound_file):
10934         [7].
10935
10936         * specifier.c:
10937         * specifier.c (decode_specifier_type):
10938         * specifier.c (Fvalid_specifier_locale_type_p):
10939         * specifier.c (check_valid_locale_or_locale_type):
10940         * specifier.c (decode_locale):
10941         * specifier.c (decode_locale_type):
10942         * specifier.c (decode_locale_list):
10943         * specifier.c (check_valid_domain):
10944         * specifier.c (decode_specifier_tag_set):
10945         * specifier.c (Fcanonicalize_tag_set):
10946         * specifier.c (Fdefine_specifier_tag):
10947         * specifier.c (Fspecifier_tag_predicate):
10948         * specifier.c (check_valid_inst_list):
10949         * specifier.c (check_valid_spec_list):
10950         * specifier.c (decode_how_to_add_specification):
10951         * specifier.c (check_modifiable_specifier):
10952         * specifier.c (specifier_add_spec):
10953         * specifier.c (boolean_validate):
10954         * specifier.c (display_table_validate):
10955         [9].
10956
10957         * specifier.c (syms_of_specifier):
10958         Move some symbols to general-slots.h.
10959         [2].
10960
10961         * symbols.c:
10962         * symbols.c (Fmapatoms):
10963         * symbols.c (Fapropos_internal):
10964         Add GCPROs.
10965
10966         * symbols.c (set_default_buffer_slot_variable):
10967         * symbols.c (set_default_console_slot_variable):
10968         [1].
10969
10970         * symbols.c (defsymbol_massage_name_1):
10971         * symbols.c (defkeyword_massage_name):
10972         * symbols.c (deferror_1):
10973         * symbols.c (deferror):
10974         * symbols.c (deferror_massage_name_and_message):
10975         * symeval.h:
10976         * symeval.h (DEFSYMBOL):
10977         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10978
10979         * symbols.c (syms_of_symbols):
10980         [2].
10981
10982         * symsinit.h:
10983         * symsinit.h (init_win32): New.
10984         Also new is syms_of_dialog_mswindows.
10985
10986         * syswindows.h:
10987         Add new Unicode macros, missing Cygwin wide-char functions,
10988         convenience conversion macros for Qmswindows_tstr, macros for
10989         encapsulating required MSWin <-> Cygwin filename conversions,
10990         prototype for dynamically-extracted (not in NT 3.51) functions.
10991
10992         * toolbar-x.c:
10993         Mule-verify.
10994
10995         * tooltalk.c (Fadd_tooltalk_message_arg):
10996         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10997         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10998         [7].
10999
11000         * tooltalk.c (syms_of_tooltalk):
11001         [2].
11002
11003         * unexnt.c:
11004         * unexnt.c (unexec):
11005         Fix up headers, declaration of unexec() to be more standard.
11006
11007 2000-07-20  Martin Buchholz  <martin@xemacs.org>
11008
11009         * offix.h: Revert change to guard macros - they're used in offix.c!
11010
11011 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11012
11013         * lisp.h: Defsubred Fdelete.
11014
11015         * console-msw.h:  (msprinter_default_printer): Added.
11016
11017         * console-msw.c (msprinter_canonicalize_console_connection):
11018         (msprinter_canonicalize_device_connection): Added.
11019
11020         * device-msw.c (msprinter_default_printer):
11021         (Fmswingows_get_default_printer):
11022         (signal_enum_priner_error):
11023         (Fmswingows_printer_list): Added.
11024
11025 2000-07-19  Martin Buchholz <martin@xemacs.org>
11026
11027         * XEmacs 21.2.35 is released.
11028
11029 2000-07-19  Martin Buchholz  <martin@xemacs.org>
11030
11031         * select-x.c (x_handle_selection_request):
11032         Text selected in xemacs and pasted into xterm failed to appear.
11033         Spelling fixes and cosmetic changes.
11034
11035 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11036
11037         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
11038         XEmacs frame (fix for doubling chars in dialog boxes).
11039
11040 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11041
11042         * select.c (select_convert_in, select_convert_out):
11043         Don't call intern() every time.
11044
11045         * select.c (Qselect_convert_in, Qselect_convert_out): New.
11046         * select.c (vars_of_select): Initialise them.
11047
11048 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11049
11050         * select.c (selection-coercible-types): New.
11051
11052         * select.c (own-selection-internal):
11053         * select.c (get-selection-internal):
11054         MULE bug fix - these should default to COMPOUND_TEXT and not
11055         STRING for MULE. I think.
11056
11057         * select.c (select_convert_out): Use selection-coercible-types
11058         to find types that we can attempt to perform coercions on.
11059
11060 2000-07-18  Martin Buchholz  <martin@xemacs.org>
11061
11062         * mule-wnnfns.c:
11063         * mule-canna.c:
11064         Add coding: cookie to identify encoding.
11065
11066         * mule-canna.c (CANNA_mode_keys): make static.
11067         Use proper prototypes, even for functions of no arguments.
11068         Remove external prototype for Fding().
11069
11070         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11071
11072         * select.c (syms_of_select): Add missing DEFSUBR.
11073
11074 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11075
11076         * select.c (get_selection_internal, own_selection_internal):
11077         Make the type default to STRING, rather than placing a nil type
11078         into Vselection_alist.
11079
11080 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11081
11082         * gpmevent.c (tty_selection_exists_p):
11083         * gpmevent.c (tty_own_selection):
11084         Updated parameter lists.
11085
11086 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11087
11088         * select.h (selection-alist): Removed declaration.
11089
11090         * select.h (get_local_selection):
11091         * select.c (get_local_selection):
11092         Made static.
11093
11094         * select.h (convert_selection): Removed declaration.
11095         * select.c (convert_selection): Removed.
11096         This function belongs in Lisp.
11097
11098         * select.h (select_convert_in): Declare.
11099         * select.h (select_convert_out): Declare.
11100         * select.c (select_convert_in): New.
11101         * select.c (select_convert_out): New.
11102         New conversion functions for other files to call.
11103
11104         * select.h (select_notify_buffer_kill): Declare.
11105         * select.c (select_notify_buffer_kill): New.
11106         New functions that get called from kill-buffer.
11107
11108         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11109         X-specific lisp code.
11110
11111         * select.h: Declare some of the lisp-visible functions for
11112         external use.
11113
11114         * select.c (clean_local_selection_data): Removed. This was
11115         a disgusting function, and previously should have been in
11116         select-x.c in any case. The functionality is now provided
11117         in select-convert-from-integer (select.el).
11118
11119         * select.c (available-selection-types): Fixed stupidity where
11120         INTEGER and ATOM got added twice. Also add STRING when we see an
11121         extent.
11122
11123         * select.c (get-selection-internal): Removed symbol stripping. No
11124         longer causes conversion when data comes from the internal cache.
11125
11126         * select.c (syms_of_select): Added new functions.
11127
11128         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11129         error checking - previously this called abort!
11130
11131         * select-x.c (x_own_selection): Changed comment.
11132
11133         * select-x.c (x_handle_selection_request): Use select_convert_out.
11134         Don't mess with selection-alist; it's an internal variable of select.c.
11135
11136         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11137
11138         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11139         rather than messing with selection-alist.
11140
11141         * select-msw.c (mswindows_get_foreign_selection):
11142         Use TO_INTERNAL_FORMAT rather than hacking.
11143
11144 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11145
11146         * process-unix.c (unix_open_multicast_group):
11147         (unix_open_multicast_group): Remove useless casts.
11148
11149 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11150
11151         * sound.c (Fplay_sound): Fix `unused variable' warning.
11152
11153         * emacs.c (main): Use correct type for _environ on SCO5.
11154
11155 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11156
11157         * console.h (own_selection_method):
11158         * console.h (selection_exists_p_method):
11159         * console.h (available_selection_types_method): New.
11160         * console.h (register_selection_data_type_method): New.
11161         * console.h (selection_data_type_name): New.
11162
11163         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11164         function & alist to track GlobalAlloc()'d handles that need
11165         releasing when the clipboard data gets replaced or emptied.
11166
11167         * event-msw.c (mswindows_wnd_proc): Call it.
11168
11169         * lisp.h, general.c (Qappend): New symbol representing a
11170         `how-to-add' mode.
11171
11172         * select.c (own-selection-internal):
11173         * select.c (selection-exists-p):
11174         * select.c (available-selection-types): New.
11175         * select.c (register-selection-data-type): New.
11176         * select.c (selection-data-type-name): New.  New functions to deal
11177         with device-specific selection data formats.
11178         * select.c (selection-converter-out-alist): Renamed.
11179         * select.c (selection-converter-in-alist): New.
11180         * select.c (selection-appender-alist): New.  Added new alists.
11181         * select.c (syms_of_select, vars_of_select): Added new symbols &
11182         variables.
11183         * select.c (get_local_selection): Split.
11184         * select.c: Removed spurious type checking - selections may now be
11185         of any type, not just strings.
11186         * select.c (own-selection-internal):
11187
11188         * select.h, select.c (convert_selection): New. Created
11189         convert_selection() function based on get_local_selection().
11190         * select.h, select.c (QCF_*): New symbols representing mswindows
11191         clipboard formats.
11192         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11193         symbols representing `how-to-add' modes.
11194
11195         * select-msw.c (x_sym_p): New.
11196         * select-msw.c (symbol_to_ms_cf): New.
11197         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11198         symbols & clipboard formats. Can also handle string names.
11199         * select-msw.c (mswindows_own_selection):
11200         * select-msw.c (mswindows_selection_exists_p):
11201         Added `data-type' parameter. Use it.
11202         * select-msw.c (mswindows_available_selection_types): New.
11203         * select-msw.c (mswindows_register_selection_data_type): New.
11204         * select-msw.c (mswindows_selection_data_type_name): New.
11205         * select-msw.c (mswindows_own_selection):
11206         * select-msw.c (mswindows_get_foreign_selection):
11207         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11208         * select-msw.c (console_create_select_mswindows): Added new methods.
11209         * select-msw.c (mswindows_destroy_selection): New.
11210         * select-msw.c (Vhandle_alist): New list.
11211         * select-msw.c (mswindows_own_selection):
11212
11213         * select-x.c (x_own_selection):
11214         * select-x.c (x_selection_exists_p):
11215         * select-x.c: Added some comments about maybe using new
11216         functionality.
11217         * select-x.c (x_own_selection):
11218
11219         * specifier.c: Remove definition of Qappend (now in general.c)
11220         * specifier.c (syms_of_specifier): Remove Qappend.
11221
11222 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11223
11224         * config.h.in: Add socklen_t.
11225
11226         * s/decosf4-0.h: No special compiler flags needed or desired.
11227         In particular, undefine _BSD for DEC OSF 4.0.
11228
11229 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11230
11231         * redisplay-msw.c (msprinter_frame_output_end): Added.
11232         (console_type_create_redisplay_mswindows): Referred the above.
11233
11234         * frame.c (setup_frame_without_minibuffer): Do not create a
11235         default minibuffer frame on a printer device.
11236
11237         * frame-msw.c (apply_dc_geometry): Added.
11238         (msprinter_start_page):
11239         (msprinter_init_frame_3):
11240         (msprinter_eject_page): Use it.
11241
11242         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11243         and removed residual duplex and orientation properties.
11244
11245 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11246
11247         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11248
11249         * unexalpha.c: Remove system prototypes from C sources!
11250
11251 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11252
11253         * eval.c: Remove references to M-x edit-options in DEFUNs for
11254         `defvar' and `defconst'.
11255
11256 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11257
11258         * config.h.in: Remove SMART_INCLUDE hackery.
11259
11260         PostgreSQL hacking:
11261         * config.h.in: Don't use SMART_INCLUDE.
11262
11263         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11264         * inline.c: Simply #include "postgresql.h"
11265         * postgresql.c:
11266         - Don't use SMART_INCLUDE
11267         - Use simply "const".
11268         - Use standard doc string conventions.
11269         - Use correct type for result of PQstatus.
11270
11271 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11272
11273         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11274
11275         C++ compilation changes.
11276         * config.h.in (EXTERN_C): Define.
11277         * config.h.in (not): This is also a C++ keyword.
11278         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11279         * cm.c: Use EXTERN_C.
11280         * redisplay-tty.c: Use EXTERN_C.
11281         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11282
11283 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11284
11285         * general.c: Remove duplicate definition for Qfunction.
11286
11287 2000-07-08  Ben Wing  <ben@xemacs.org>
11288
11289         * device-msw.c (msprinter_init_device):
11290         * device-msw.c (sync_printer_with_devmode):
11291         * device-msw.c (handle_devmode_changes):
11292         * device-msw.c (print_dialog_worker):
11293         * device-msw.c (Fmsprinter_apply_settings):
11294         * device-msw.c (hash_devmode):
11295         * device-msw.c (Fmsprinter_settings_despecialize):
11296         use Qmswindows_tstr, not Qctext.
11297
11298         * vm-limit.c (check_memory_limits):
11299         avoid infinite loop printing warning messages.
11300
11301 2000-07-05  Craig Lanning  <lanning@scra.org>
11302
11303         * Makefile.in.in: Add support for including the Windows resources
11304         when building with the cygwin and mingw targets.
11305
11306         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11307         not set or not correct.
11308         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11309         (init_initial_directory): Don't try to use $PWD on the
11310         WIN32_NATIVE target.
11311
11312         * s\cygwin32.h:
11313         [[Add -mwindows to eliminate console window.]] not required --ben
11314         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11315         (MAIL_USE_POP): removed; now handled by configure.
11316
11317         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11318         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11319         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11320         (MAIL_USE_POP): removed; now handled by configure.
11321         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11322         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11323         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11324         constant string.
11325         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11326         up from <winsock.h> via systime.h.
11327         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11328         (getpagesize): from Dan Holmsand, added.
11329         Added #endif which was left dangling by Ben's mega patch; added
11330         comment to help prevent this in the future.
11331
11332         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11333
11334 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11335
11336         * console-msw.h (struct mswindows_device): Removed unnecessary
11337         cached device geometry values.
11338         Added update_tick and an accessor macro.
11339         (Lisp_Devmode): Added lrecord declaration.
11340         (struct msprinter_device): Contain devmode as a Lisp object.
11341         Added mswindows_get_selected_frame_hwnd();
11342
11343         * console.h (struct console_methods): Indentation nitpicking.
11344
11345         * device-msw.c (mswindows_init_device): Do not initialize geometry
11346         cache. Initialize update tick.
11347         (mswindows_device_system_metrics): Ask the device for its geometry.
11348         (global_free_2_maybe):
11349         (devmode_to_hglobal):
11350         (handle_printer_changes):
11351         (ensure_not_printing):
11352         (print_dialog_worker):
11353         (Fmsprinter_print_setup_dialog):
11354         (Fmsprinter_print_dialog):
11355         (plist_get_margin):
11356         (plist_set_margin):
11357         (Fmsprinter_page_setup_dialog): Added functions.
11358         (sync_printer_with_devmode):
11359         (handle_devmode_changes):
11360         (Fmsprinter_get_settings):
11361         (Fmsprinter_select_settings):
11362         (Fmsprinter_apply_settings):
11363         (allocate_devmode):
11364         (Fmsprinter_settings_copy):
11365         (Fmsprinter_settings_despecialize):
11366         (print_devmode):
11367         (finalize_devmode):
11368         (equal_devmode):
11369         (hash_devmode): Added functions
11370         (syms_of_device_mswindows): Init devmode lrecord class.
11371
11372         * device.h: Added an exfun for find-device.
11373
11374         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11375         geometry; although, recreate the device compatible DC.
11376
11377         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11378         (msprinter_init_frame_3):
11379         (msprinter_frame_property):
11380         (msprinter_internal_frame_property_p):
11381         (msprinter_frame_properties):
11382         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11383         print job properties (will move to device settings).
11384
11385         * lisp.h: Added symbols.
11386
11387         * general.c (syms_of_general): Declared them.
11388
11389         * hash.c (string_hash): Added.
11390
11391         * lrecord.h (lrecord_type): Added devmode lrecord type.
11392
11393 2000-07-02  Mike Sperber <mike@xemacs.org>
11394
11395         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11396         FreeBSD 4.0.
11397
11398 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11399
11400         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11401         integer.
11402
11403 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11404
11405         * data.c (Fstring_to_number): Don't recognize floating point if
11406         base is not 10.
11407
11408 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11409
11410         * glyphs-widget.c (tab_control_query_geometry):
11411         (widget_query_geometry):
11412         (button_query_geometry):
11413         * glyphs.c (text_query_geometry):
11414         Enforce type correctness.
11415
11416 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11417
11418         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11419         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11420
11421 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11422
11423         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11424         conflicts with gcc's fixincluded version of FOO.h.
11425
11426         * glyphs.h (image_instance_geometry): Remove trailing `,'
11427
11428 2000-06-08  Mike Alexander  <mta@arbortext.com>
11429
11430         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11431         (shove_thread): Don't write the same output twice
11432         (make_ntpipe_output_stream): Increase priority of shove thread
11433         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11434         chance to run
11435         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11436         it.
11437
11438 2000-06-12  Ben Wing  <ben@xemacs.org>
11439
11440         * s\mingw32.h (sigset):
11441         * s\windowsnt.h (sigset):
11442         rename msw_ to mswindows_ for consistency with general convention.
11443
11444 2000-06-12  Ben Wing  <ben@xemacs.org>
11445
11446         * console-msw.c:
11447         * console-msw.c (mswindows_get_console_hwnd):
11448         * console-msw.c (mswindows_ensure_console_allocated):
11449         * console-msw.c (mswindows_hide_console):
11450         * console-msw.c (mswindows_show_console):
11451         * console-msw.c (mswindows_ensure_console_buffered):
11452         * console-msw.c (mswindows_output_console_string):
11453         * console-msw.c (mswindows_windows9x_p):
11454         * console-msw.h:
11455         * device-msw.c (mswindows_get_workspace_coords):
11456         * device-msw.c (mswindows_device_system_metrics):
11457         * dialog-msw.c (mswindows_popup_dialog_box):
11458         * event-msw.c (mswindows_wnd_proc):
11459         * frame-msw.c (mswindows_size_frame_internal):
11460         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11461         * menubar-msw.c (displayable_menu_item):
11462         * menubar-msw.c (mswindows_char_is_accelerator):
11463         * nt.c:
11464         * nt.c (mswindows_sigset):
11465         * nt.c (mswindows_sigrelse):
11466         * nt.c (mswindows_sigpause):
11467         * nt.c (mswindows_raise):
11468         * nt.c (timer_proc):
11469         * ntproc.c:
11470         * ntproc.c (find_child_console):
11471         * ntproc.c (sys_kill):
11472         * print.c:
11473         * print.c (std_handle_out_external):
11474         * process-nt.c (find_child_console):
11475         * process-nt.c (send_signal_the_95_way):
11476         * process-nt.c (ensure_console_window_exists):
11477         * process-nt.c (nt_create_process):
11478         * syssignal.h:
11479         rename msw_ to mswindows_ for consistency with general convention.
11480
11481         * emacs.c:
11482         * dumper.c:
11483         include nt.h, not syswindows.h.
11484
11485         * nt.c (mswindows_fstat):
11486         * nt.c (mswindows_stat):
11487         prefix mswindows_ instead of attempting to directly override the
11488         library functions.  fix declarations.
11489
11490         * nt.h:
11491         include syswindows.h.  move some sysdep.h stuff here.
11492
11493         * ntheap.h:
11494         include syswindows.h, not <windows.h>.
11495
11496         * ntplay.c:
11497         clean up headers.
11498
11499         * sysdep.c:
11500         clean up headers.
11501
11502         * sysdep.c (sys_fstat):
11503         * sysdep.c (sys_stat):
11504         call mswindows versions when appropriate.
11505
11506         * sysdep.h:
11507         move mswin decls to nt.h.
11508
11509         * syswindows.h:
11510         add long comment describing appropriate use of the various windows
11511         headers.
11512
11513 2000-06-11  Ben Wing  <ben@xemacs.org>
11514
11515         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11516
11517 2000-06-10  Ben Wing  <ben@xemacs.org>
11518
11519         * Makefile.in.in (release):
11520         Correction to make sure xemacs.exe always dumped when correct.
11521
11522         * alloca.c:
11523         * balloon_help.c:
11524         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11525
11526         * buffer.c (set_buffer_internal):
11527         [[[[2]]]]: Remove HAVE_FEP code.
11528
11529         * buffer.c (init_initial_directory):
11530         [3].
11531
11532         * bytecode.c:
11533         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11534         individual files.
11535
11536         * callproc.c:
11537         * callproc.c (call_process_cleanup):
11538         * callproc.c (Fold_call_process_internal):
11539         * callproc.c (child_setup):
11540         * callproc.c (getenv_internal):
11541         * callproc.c (init_callproc):
11542         * callproc.c (vars_of_callproc):
11543         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11544         __CYGWIN32__ -> CYGWIN.
11545         DOS_NT -> WIN32_NATIVE.
11546         Remove MSDOS support/references, converting to WIN32_NATIVE
11547           where correct.
11548         __MINGW32__ -> MINGW.
11549         Fix windows.h includes.
11550         Remove bogus HAVE_NTGUI.
11551
11552         * config.h.in:
11553         [2].
11554
11555         * console-msw.c:
11556         mswindows_message_outputted added for use in allowing startup
11557         errors on the console to be seen.
11558
11559         * console-msw.c (msw_ensure_console_allocated):
11560         * console-msw.c (msw_output_console_string):
11561         * console-msw.c (DHEADER):
11562         * console-msw.c (DOPAQUE_DATA):
11563         * console-msw.c (DEVENT):
11564         * console-msw.c (DCONS):
11565         * console-msw.c (DCONSCDR):
11566         * console-msw.c (DSTRING):
11567         * console-msw.c (DVECTOR):
11568         * console-msw.c (DSYMBOL):
11569         * console-msw.c (DSYMNAME):
11570         Fix warnings.
11571
11572         * console-stream.c (stream_init_console):
11573         Fix text/binary problems.
11574
11575         * device-msw.c:
11576         * device-msw.c (mswindows_finish_init_device):
11577         * device-msw.c (mswindows_delete_device):
11578         [1].
11579
11580         * device.c (handle_asynch_device_change):
11581         [3].
11582
11583         * dgif_lib.c:
11584         * dgif_lib.c (DGifOpenFileName):
11585         * dgif_lib.c (DGifOpenFileHandle):
11586         * dgif_lib.c (DGifGetLine):
11587         * dgif_lib.c (DGifGetPixel):
11588         Added config.h/lisp.h, fix up includes.
11589         [1].
11590
11591         * dired-msw.c:
11592         [4].
11593
11594         * dired.c:
11595         * dired.c (file_name_completion):
11596         * dired.c (Ffile_attributes):
11597         * dired.c (syms_of_dired):
11598         [1].
11599
11600         * dumper.c:
11601         * dumper.c (pdump_file_unmap):
11602         * dumper.c (pdump_load):
11603         [1].
11604
11605         * editfns.c:
11606         * editfns.c (Ftemp_directory):
11607         * editfns.c (user_login_name):
11608         * editfns.c (Fuser_real_login_name):
11609         * editfns.c (get_home_directory):
11610         [1].
11611
11612         * elhash.c (finish_marking_weak_hash_tables):
11613         [[[[5]]]]: Fix GCC warnings.
11614
11615         * emacs.c:
11616         * emacs.c (mswindows_handle_hardware_exceptions):
11617         * emacs.c (make_arg_list_1):
11618         * emacs.c (main_1):
11619         * emacs.c (Fkill_emacs):
11620         * emacs.c (Fdump_emacs):
11621         [1].
11622         Fix problems with nested crashes, add long comment.
11623
11624         * event-Xt.c (init_event_Xt_late):
11625         [1].
11626
11627         * event-msw.c:
11628         * event-msw.c (mswindows_dde_callback):
11629         * event-msw.c (mswindows_handle_sticky_modifiers):
11630         * event-msw.c (mswindows_wnd_proc):
11631         [1].
11632         [5].
11633
11634         * events.c (character_to_event):
11635         [1].
11636
11637         * fileio.c:
11638         * fileio.c (Ffile_name_directory):
11639         * fileio.c (Ffile_name_nondirectory):
11640         * fileio.c (directory_file_name):
11641         * fileio.c (Fexpand_file_name):
11642         * fileio.c (Fsubstitute_in_file_name):
11643         * fileio.c (Ffile_name_absolute_p):
11644         * fileio.c (check_executable):
11645         * fileio.c (Ffile_readable_p):
11646         * fileio.c (Ffile_accessible_directory_p):
11647         * fileio.c (Ffile_modes):
11648         * fileio.c (Funix_sync):
11649         * fileio.c (vars_of_fileio):
11650         [1]. [4].
11651
11652         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11653
11654         Expand getdefdir defn.
11655         Fix bogus rename() comment.
11656
11657         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11658         to use standard XEmacs include files, e.g. sysfile.h, rather
11659         than system-specific includes.
11660
11661         * fns.c:
11662         * fns.c (Fsubseq):
11663         [5]. [6].
11664
11665         * frame.c (vars_of_frame):
11666         [1].
11667
11668         * getloadavg.c:
11669         * getloadavg.c (getloadavg):
11670         [1]. [6].
11671         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11672         (We don't use it elsewhere in the code; just add a comment.)
11673
11674         * gif_io.c:
11675         [6].
11676         Add config.h.
11677
11678         * glyphs-msw.c:
11679         * glyphs-msw.c (mswindows_resource_instantiate):
11680         [1].
11681
11682         * glyphs-x.c (x_native_layout_instantiate):
11683         [5].
11684
11685         * gui-msw.c (Fmswindows_shell_execute):
11686         [1].
11687
11688         * insdel.c:
11689         [4].
11690
11691         * lisp.h:
11692         [4]. [5].
11693
11694         * lread.c (locate_file_in_directory_mapper):
11695         [1].
11696
11697         * lstream.c:
11698         [4].
11699
11700         * mem-limits.h:
11701         * mem-limits.h (get_lim_data):
11702         [1].
11703
11704         * menubar-msw.c:
11705         [4].
11706
11707         * ndir.h:
11708         [1].
11709
11710         * nt.c:
11711         * nt.c (getwd):
11712         * nt.c (closedir):
11713         * nt.c (rva_to_section):
11714         * nt.c (mswindows_executable_type):
11715         [1]. [6].
11716         Fix closedir() defn.
11717
11718         * nt.h:
11719         [[[[8]]]]: *_OK defs moved to sysfile.h.
11720
11721         * ntproc.c:
11722         [6]. [7].
11723
11724         * objects-x.c:
11725         [4].
11726
11727         * print.c:
11728         * print.c (std_handle_out_external):
11729         [1]. [4].
11730
11731         * process-nt.c:
11732         * process-nt.c (nt_create_process):
11733         [6].
11734         try to fix process quoting somewhat.
11735
11736         * process-unix.c (unix_create_process):
11737         [1].
11738
11739         * process.c:
11740         * process.c (vars_of_process):
11741         Add Vnull_device.
11742
11743         * process.h:
11744         [1].
11745
11746         * realpath.c:
11747         * realpath.c (xrealpath):
11748         [1].
11749
11750         * redisplay-tty.c (init_tty_for_redisplay):
11751         [3].
11752
11753         * redisplay.c:
11754         [4]. [6].
11755
11756         * scrollbar-msw.c:
11757         [4].
11758
11759         * sheap.c:
11760         * sheap.c (more_static_core):
11761         * sheap.c (report_sheap_usage):
11762         [5]. [6].
11763
11764         * signal.c:
11765         * signal.c (alarm_signal):
11766         [1]. [6].
11767
11768         * sound.c:
11769         [6].
11770
11771         * strftime.c:
11772         * strftime.c (zone_name):
11773         [1]. [5].
11774
11775         * symsinit.h (init_sunpro):
11776         [1].
11777
11778         * syscommctrl.h:
11779         commctrl.h not in Cygwin b20.1.
11780
11781         * sysdep.c:
11782         * sysdep.c (endif):
11783         * sysdep.c (sys_subshell):
11784         * sysdep.c (init_baud_rate):
11785         * sysdep.c (emacs_get_tty):
11786         * sysdep.c (emacs_set_tty):
11787         * sysdep.c (tty_init_sys_modes_on_device):
11788         * sysdep.c (init_system_name):
11789         * sysdep.c (sys_open):
11790         * sysdep.c (interruptible_open):
11791         * sysdep.c (sys_fopen):
11792         * sysdep.c (sys_mkdir):
11793         * sysdep.c (sys_rename):
11794         * sysdep.c (get_process_times_1):
11795         [1]. [6].
11796
11797         * sysdep.h:
11798         [1].
11799
11800         * sysdir.h:
11801         * sysdir.h (DIRENTRY_NONEMPTY):
11802         [1]. [6].
11803
11804         * sysdll.c (dll_init):
11805         * sysdll.h:
11806         [1].
11807
11808         * sysfile.h:
11809         [1]. [6]. [8].
11810         added text/binary defs.
11811
11812         * sysfloat.h:
11813         [1].
11814
11815         * sysproc.h:
11816         * sysproc.h (EDESTADDRREQ):
11817         * sysproc.h (poll_fds_for_input):
11818         [1]. [6].
11819
11820         * syspwd.h:
11821         [6].
11822
11823         * syssignal.h:
11824         [1].
11825
11826         * systime.h:
11827         [1]. [6].
11828
11829         * systty.h:
11830         [1].
11831
11832         * syswindows.h:
11833         [1].
11834         Always define WIN32_LEAN_AND_MEAN.
11835
11836         * unexcw.c (unexec):
11837         [5].
11838
11839         * unexec.c:
11840         * unexec.c (copy_text_and_data):
11841         * unexec.c (adjust_lnnoptrs):
11842         [1].
11843
11844         * unexnt.c:
11845         * unexnt.c (_start):
11846         [1].
11847
11848 2000-06-07  Ben Wing  <ben@xemacs.org>
11849
11850         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11851         was used only as a model.  We've long since extracted any useful
11852         logic or code out of this. (I just did an exhaustive search.)
11853
11854         * s\msdos.h: Removed.
11855
11856         * s\windows95.h: Removed.
11857
11858 2000-06-10  Ben Wing  <ben@xemacs.org>
11859
11860         * s\cygwin32.h:
11861         [1]. [5].
11862         Don't use extern with fun defs.
11863
11864         * s\mingw32.h:
11865         [1]. [7].
11866         Remove nt\inc include.
11867         Remove getdisk, getdefdir. (The former is unused, the latter
11868         expanded in fileio.h.)
11869
11870         * s\windowsnt.h:
11871         * s\windowsnt.h (WIN32_NATIVE):
11872         * s\windowsnt.h (HAVE_STRCASECMP):
11873         [1]. [7].
11874         Add long comment about preprocessor changes.
11875         Remove getdisk, getdefdir. (The former is unused, the latter
11876         expanded in fileio.h.)
11877
11878 2000-06-10  Ben Wing  <ben@xemacs.org>
11879
11880         * m\arm.h:
11881         * m\delta.h:
11882         * m\intel386.h:
11883         * m\sequent.h:
11884         * m\template.h:
11885         * m\windowsnt.h:
11886         [1].
11887         Remove bogus/unused NO_SOCK_SIGIO.
11888
11889 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11890
11891         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11892         not an Emchar.
11893
11894 2000-06-04  Mike Sperber <mike@xemacs.org>
11895
11896         * casetab.c (set_case_table): For `set-standard-case-table',
11897         actually deposit the new case tables where the rest of XEmacs can
11898         see them.
11899
11900 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11901
11902         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11903
11904 2000-06-05  Ben Wing  <ben@xemacs.org>
11905
11906         * callproc.c (child_setup): Don't do close_load_descs() under
11907         MS Windows.  Put in a comment explaining why.
11908
11909 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11910
11911         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11912         Toolkit shell" which breaks `kill-compilation' on Windows NT
11913         native, retaining STDERR handling improvements.
11914
11915 2000-06-01  Andreas Jaeger  <aj@suse.de>
11916
11917         * s/s390.h: Support for S390, based on a patch by Martin
11918         Schwidefsky <schwidefsky@de.ibm.com>.
11919
11920 2000-05-30  Andy Piper  <andy@xemacs.org>
11921
11922         * window.c (allocate_window):
11923         (make_dummy_parent):
11924         (Fset_window_configuration): use new hashtable type.
11925
11926         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11927         (struct image_instantiator_methods):
11928         (struct Lisp_Image_Instance): make instance geometry signed.
11929
11930         * glyphs.c (instantiate_image_instantiator):
11931         (image_instance_query_geometry):
11932         (image_instance_layout):
11933         (image_instance_layout):
11934         (query_string_geometry):
11935         (text_query_geometry):
11936         (image_instantiate):
11937         (image_instantiate):
11938         (cache_subwindow_instance_in_frame_maybe):
11939         (subwindow_query_geometry): make instance geometry signed.
11940
11941         * glyphs-widget.c (widget_query_geometry):
11942         (widget_layout):
11943         (button_query_geometry):
11944         (tree_view_query_geometry):
11945         (tab_control_query_geometry):
11946         (layout_query_geometry):
11947         (layout_layout):
11948         (native_layout_layout): make instance geometry signed.
11949
11950 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11951
11952         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11953         constant.
11954
11955         * general.c (syms_of_general): Add Qfull_assoc symbol.
11956
11957         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11958         correctly.
11959         (decode_weak_list_type): Decode full-assoc type.
11960         (encode_weak_list_type): Encode full-assoc type.
11961         (Fmake_weak_list): Update doc string.
11962
11963 2000-05-30  Andy Piper  <andy@xemacs.org>
11964
11965         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11966
11967         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11968         (decode_hash_table_weakness): ditto.
11969         (Fhash_table_weakness): ditto.
11970         (Fhash_table_type): ditto.
11971         (finish_marking_weak_hash_tables): ditto.
11972         (hash_table_weakness_validate): ditto.
11973         (syms_of_elhash): ditto.
11974
11975 2000-05-28  Martin Buchholz <martin@xemacs.org>
11976
11977         * XEmacs 21.2.34 is released.
11978
11979 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11980
11981         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11982         start cache.
11983         (updating_line_start_cache): Gone.
11984         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11985         generic code to force a minimum of 1 line laid out in the
11986         CMOTION_DISP case.
11987
11988 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11989
11990         * glyphs.c (instantiate_image_instantiator): Check for initialized
11991         height & width no longer special cases IMAGE_NOTHING.
11992         (nothing_instantiate): Set height and width of instance.
11993
11994 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11995
11996         * unexelf.c (unexec): Search for ".data" section.
11997         Initialize new_data2_offset from old_data_index.
11998         Remove redundant check for ElfW.
11999
12000 2000-05-23  Andy Piper  <andy@xemacs.org>
12001
12002         * glyphs.c (get_image_instantiator_governing_domain): allow more
12003         specific domains as the governing domain rather than expecting an
12004         exact match. This fixes problems with layouts.
12005
12006 2000-05-22  Andy Piper  <andy@xemacs.org>
12007
12008         * redisplay-output.c (compare_runes): check for non-images
12009
12010         * glyphs.c (set_glyph_dirty_p): ditto.
12011         (update_glyph_cachel_data): ditto.
12012
12013         * glyphs-widget.c (layout_post_instantiate): ditto.
12014         (layout_post_instantiate): ditto.
12015
12016         * event-msw.c (mswindows_wnd_proc): warning removal.
12017
12018 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
12019
12020         * s\mingw32.h: Added #undef for CLASH_DETECTION.
12021
12022         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
12023
12024         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
12025
12026         * nt.c (rva_to_section): mingw32 needs rva_to_section.
12027         (mswindows_executable_type): mingw32 now has enough headers for
12028         this to work.
12029
12030 2000-05-20  Andy Piper  <andy@xemacs.org>
12031
12032         * console-msw.c (mswindows_output_last_error): ; -> ,
12033
12034 2000-05-12  Andy Piper  <andy@xemacs.org>
12035
12036         * console-msw.c (FROB): compare ints with ints.
12037
12038 2000-05-11  Andy Piper  <andy@xemacs.org>
12039
12040         * glyphs-x.c (x_finalize_image_instance): make minimal build
12041         happy.
12042
12043 2000-05-20  Ben Wing  <ben@xemacs.org>
12044
12045         * event-Xt.c:
12046         * event-Xt.c (vars_of_event_Xt):
12047         move modifier-keys-are-sticky to event-stream.c.
12048
12049         * event-msw.c:
12050         * event-msw.c (mswindows_enqueue_mouse_button_event):
12051         * event-msw.c (key_needs_default_processing_p):
12052         * event-msw.c (XEMSW_LCONTROL):
12053         * event-msw.c (mswindows_handle_sticky_modifiers):
12054         * event-msw.c (FROB):
12055         * event-msw.c (clear_sticky_modifiers):
12056         * event-msw.c (output_modifier_keyboard_state):
12057         * event-msw.c (output_alt_keyboard_state):
12058         * event-msw.c (mswindows_wnd_proc):
12059         * event-msw.c (mswindows_modifier_state):
12060         * event-msw.c (emacs_mswindows_handle_magic_event):
12061         implement sticky modifiers.
12062
12063         * event-stream.c:
12064         * event-stream.c (vars_of_event_stream):
12065         move modifier-keys-are-sticky here.
12066
12067         * lisp.h:
12068         add CHECK_FUNCTION.
12069
12070         * rangetab.c:
12071         implement map-range-table.
12072
12073
12074 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12075
12076         * redisplay-tty.c (reset_tty_modes):
12077         (tty_redisplay_shutdown): Adjust argument type to
12078         tty_frame_output_end.
12079
12080 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12081
12082         * eval.c (Fbacktrace): Don't output a line with only right
12083         parenthesis.
12084
12085 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12086
12087         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12088         (Fpq_reset_poll): Ditto.
12089
12090 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12091
12092         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12093
12094 2000-05-16  Ben Wing  <ben@xemacs.org>
12095
12096         * buffer.c:
12097         * buffer.c (dfc_convert_to/from_internal_format):
12098         * buffer.c (reinit_vars_of_buffer):
12099         Fix conversion functions to allow reentrancy.
12100
12101         * console-msw.c:
12102         * console-msw.c (mswindows_output_last_error):
12103         New fun, generally useful -- output a human-readable
12104         version of GetLastError() on the console.
12105
12106         * console-msw.h:
12107         * console-msw.h (struct mswindows_frame):
12108         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12109
12110         * console-stream.c (stream_output_begin):
12111         * console-stream.c (stream_output_end):
12112         * console-stream.c (stream_output_vertical_divider):
12113         * console-stream.c (stream_clear_region):
12114         * console-stream.c (stream_flash):
12115         * console-stream.c (console_type_create_stream):
12116         Delete blank stream methods, not needed.
12117
12118         * console.h (struct console_methods):
12119         Split begin/end methods into window and frame.
12120
12121         * event-msw.c:
12122         * event-msw.c (mswindows_handle_paint):
12123         * event-msw.c (output_alt_keyboard_state):
12124         * event-msw.c (mswindows_wnd_proc):
12125         * event-msw.c (vars_of_event_mswindows):
12126         Comment about problems with ignored-expose.
12127         Define mswindows-debug-events; not really implemented.
12128
12129         * frame-msw.c (mswindows_init_frame_1):
12130         random cleanups.
12131
12132         * glyphs-msw.c:
12133         * glyphs-msw.c (begin_defer_window_pos):
12134         * glyphs-msw.c (mswindows_unmap_subwindow):
12135         * glyphs-msw.c (mswindows_map_subwindow):
12136         * glyphs-msw.c (mswindows_resize_subwindow):
12137         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12138
12139         * glyphs.c (make_image_instance_1):
12140         Fix crash.
12141
12142         * gutter.c (Fredisplay_gutter_area):
12143         Use new begin/end methods.
12144
12145         * lisp.h (Dynarr_new2):
12146         New creation fun.
12147
12148         * redisplay-msw.c:
12149         * redisplay-msw.c (mswindows_frame_output_begin):
12150         * redisplay-msw.c (mswindows_frame_output_end):
12151         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12152         New begin/end methods -- handle DeferWindowPos.
12153
12154         * redisplay-output.c (redisplay_move_cursor):
12155         * redisplay-output.c (redraw_cursor_in_window):
12156         * redisplay-output.c (redisplay_update_line):
12157         * redisplay-output.c (redisplay_output_window):
12158         New begin/end methods.
12159
12160         * redisplay-tty.c:
12161         * redisplay-tty.c (tty_frame_output_begin):
12162         * redisplay-tty.c (tty_frame_output_end):
12163         * redisplay-tty.c (console_type_create_redisplay_tty):
12164         New begin/end methods.
12165
12166         * redisplay-x.c:
12167         * redisplay-x.c (x_window_output_begin):
12168         * redisplay-x.c (x_window_output_end):
12169         * redisplay-x.c (console_type_create_redisplay_x):
12170         New begin/end methods.
12171
12172         * redisplay.c (redisplay_frame):
12173         * redisplay.c (Fredisplay_echo_area):
12174         New begin/end methods.
12175         use MAYBE_DEVMETH for clear_frame; it may not exist.
12176
12177         * window.h (WINDOW_XFRAME):
12178         WINDOW_XFOO macros -- get locale and decode struct pointer.
12179
12180
12181 2000-05-12  Ben Wing  <ben@xemacs.org>
12182
12183         * emacs.c:
12184         * emacs.c (ensure_no_quitting_from_now_on):
12185         * emacs.c (fatal_error_signal):
12186         * emacs.c (mswindows_handle_hardware_exceptions):
12187         * emacs.c (main):
12188         * emacs.c (Fkill_emacs):
12189         * emacs.c (shut_down_emacs):
12190         * emacs.c (assert_failed):
12191         various improvements in fatal error handling.
12192
12193         * eval.c:
12194         move preparing_for_armageddon to emacs.c.
12195
12196         * lisp.h:
12197         declare fatal_error_in_progress.
12198
12199         * print.c:
12200         * print.c (std_handle_out_external):
12201         * print.c (std_handle_out_va):
12202         * print.c (stderr_out):
12203         * print.c (stdout_out):
12204         use console under mswin when no standard output.
12205         don't do code conversion during fatal error.
12206
12207         * scrollbar.c (Fscrollbar_page_up):
12208         * scrollbar.c (Fscrollbar_page_down):
12209         fix missing else.  reindent.
12210
12211 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12212
12213         Emergency fix.
12214
12215         * glyphs.h (GLYPH_CACHEL_DESCENT):
12216         (GLYPH_CACHEL_DESCENT):
12217         (GLYPH_CACHEL_DESCENT):
12218         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12219         used in case these are inline functions.
12220         Use more absurd values to error check.
12221
12222         include window.h for error check functions.
12223
12224 2000-05-11  Ben Wing  <ben@xemacs.org>
12225
12226         * cmdloop.c (Freally_early_error_handler):
12227         Display message box under windows; otherwise, message will disappear
12228         before it can be viewed.
12229
12230         * console-msw.c:
12231         * console-msw.c (Fmswindows_message_box):
12232         * console-msw.c (FROB):
12233         * console-msw.c (syms_of_console_mswindows):
12234         Define new fun `mswindows-message-box'.
12235         #### I will merge this into `popup-dialog-box'; just give me
12236         a bit of time.
12237
12238         * general.c:
12239         * general.c (syms_of_general):
12240         Some new symbols used in `mswindows-message-box'.
12241
12242         * glyphs.c:
12243         * glyphs.c (Fset_image_instance_property):
12244         put warning in this fun.
12245
12246         * glyphs.h:
12247         * glyphs.h (GLYPH_CACHEL_WIDTH):
12248         * glyphs.h (GLYPH_CACHEL_ASCENT):
12249         * glyphs.h (GLYPH_CACHEL):
12250         * glyphs.h (GLYPH_CACHEL_GLYPH):
12251         define error-checking versions to try to catch a bug i've seen --
12252         redisplay gets in an infinite loop because the glyph width of the
12253         continuation glyph is 65535.
12254
12255         * lisp.h:
12256         Extern message-box stuff.
12257
12258         * window.c (allocate_window):
12259         * window.c (make_dummy_parent):
12260         * window.c (Fset_window_configuration):
12261         Use EQUAL not EQ for subwindow caches to make them work a bit
12262         better. (Something is still very broken.)
12263
12264
12265 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12266
12267         * glyphs.c (image_instantiate): Suppress gcc warnings.
12268         (Fmake_image_instance): Fix doc string.
12269         * specifier.c (Fmake_specifier): Ditto.
12270
12271 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12272
12273         * paths.h.in (PATH_LOCK): Removed.
12274         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12275         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12276
12277 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12278
12279         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12280         Document (featurep '(and xemacs 21.02)).
12281
12282 2000-05-09  Ben Wing  <ben@xemacs.org>
12283
12284         * buffer.c (complex_vars_of_buffer):
12285         update modeline-format doc.
12286
12287         * device.h:
12288         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12289
12290         * emacs.c:
12291         timeline of all released versions of Emacs, for use in creating
12292         authorship comments and in synching up.
12293
12294         * glyphs-widget.c (image_instantiator_buttons):
12295         * glyphs-widget.c (image_instantiator_edit_fields):
12296         * glyphs-widget.c (image_instantiator_combo_box):
12297         * glyphs-widget.c (image_instantiator_scrollbar):
12298         * glyphs-widget.c (image_instantiator_progress_guage):
12299         * glyphs-widget.c (image_instantiator_tree_view):
12300         * glyphs-widget.c (image_instantiator_tab_control):
12301         * glyphs-widget.c (image_instantiator_labels):
12302         * glyphs-widget.c (image_instantiator_layout):
12303         * glyphs-widget.c (image_instantiator_native_layout):
12304         rename decode_domain method to governing_domain.
12305
12306         * glyphs.c:
12307         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12308         * glyphs.c (add_entry_to_device_ii_format_list):
12309         make sure we don't put an entry more than once into the list.
12310         * glyphs.c (check_instance_cache_mapper):
12311         *************************************************************
12312         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12313         HAVE BEEN GETTING.
12314         *************************************************************
12315         * glyphs.c (get_image_instantiator_governing_domain):
12316         clean up, expand on new concept of governing domain.
12317         * glyphs.c (instantiate_image_instantiator):
12318         * glyphs.c (allocate_image_instance):
12319         use governing_domain instead of cache_domain in naming.
12320         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12321         * glyphs.c (make_image_instance_1):
12322         * glyphs.c (Fmake_image_instance):
12323         allow for any domain (not just device), and process the
12324         governing domain correctly.  very big doc fix.
12325         * glyphs.c (Fimage_instance_domain):
12326         new primitive, to retrieve the governing domain of an image instance.
12327         * glyphs.c (image_instantiate):
12328         use new governing_domain stuff.  this fixes a crash you could get
12329         by instantiating certain widget glyphs in frame locales. (should
12330         signal an error instead of crashing.)
12331         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12332         * glyphs.c (Fglyphp): clean up doc.
12333         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12334         * glyphs.c (syms_of_glyphs):
12335         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12336         * glyphs.c (image_instantiator_format_create): add some comments about
12337         bogus code.
12338         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12339         for current-display-table. (Apparently Hrjove implemented in 1998 a
12340         design I wrote up in 1996, but didn't update the doc string.)
12341
12342         * glyphs.h: clean up a doc string.
12343         * glyphs.h (governing_domain):
12344         * glyphs.h (struct image_instantiator_methods):
12345         changes for governing_domain stuff.
12346
12347         * gutter.c:
12348         * gutter.c (Fgutter_specifier_p):
12349         * gutter.c (Fgutter_size_specifier_p):
12350         * gutter.c (Fgutter_visible_specifier_p):
12351         * objects.c:
12352         * objects.c (Fcolor_specifier_p):
12353         * objects.c (Ffont_specifier_p):
12354         * objects.c (Fface_boolean_specifier_p):
12355         doc strings moved to make-*-specifier.
12356
12357         * redisplay.c (add_disp_table_entry_runes_1):
12358         * redisplay.c (generate_fstring_runes):
12359         * redisplay.c (screen):
12360         add random comments and doc strings.
12361
12362         * specifier.c:
12363         * specifier.c (Fmake_specifier):
12364         major overhaul of this doc string.
12365
12366         * specifier.c (Fvalid_specifier_domain_p):
12367         comment about the bogosity of image instances being domains.
12368         * specifier.c (decode_domain):
12369         now non-static, used in glyphs.c.
12370         * specifier.c (specifier_instance):
12371         comment about the bogosity of image instances being domains.
12372         * specifier.c (Fgeneric_specifier_p):
12373         move doc string to make-generic-specifier.
12374         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12375         rebackslashify.
12376
12377         * specifier.h:
12378         * specifier.h (DOMAIN_FRAME):
12379         * specifier.h (DOMAIN_LIVE_P):
12380         * specifier.h (DOMAIN_XDEVICE):
12381         rebackslashify.
12382         add comments about problems with these macros.
12383         prototype for decode_domain.
12384
12385         * toolbar.c:
12386         * toolbar.c (Ftoolbar_specifier_p):
12387         move doc string to `make-toolbar-specifier'.
12388
12389         * window.c (window_unmap_subwindows_cache_mapper):
12390         *************************************************************
12391         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12392         HAVE BEEN GETTING.
12393         *************************************************************
12394
12395 2000-05-09  Andy Piper  <andy@xemacs.org>
12396
12397         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12398
12399         * window.c (Fset_window_configuration): reset the frame subwindow
12400         cache and re-initialize the window subwindow caches.
12401
12402         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12403
12404 2000-05-09  Ben Wing  <ben@xemacs.org>
12405
12406         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12407         DWORD.
12408
12409 2000-04-26  Mike Woolley  <mike@bulsara.com>
12410
12411         * ntheap.c: Changed recreate_heap to limit the amount reserved
12412         for the heap to that which is actually available. Also now
12413         displays a message box (with some dignostics) in the event that
12414         it still can't start.
12415
12416 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12417
12418         * callproc.c (Fold_call_process_internal): GCPRO path
12419
12420 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12421
12422         Patch by Bill Perry.
12423
12424         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12425         back data instead of #ifdef.
12426         (Fscrollbar_page_down): ditto.
12427
12428 2000-05-07  Ben Wing  <ben@xemacs.org>
12429
12430         * buffer.h:
12431         Kludge for defining Qmswindows_tstr.
12432
12433         * nt.c:
12434         * nt.c (open_input_file):
12435         * nt.c (open_output_file):
12436         * nt.c (rva_to_section):
12437         * nt.c (mswindows_executable_type):
12438         Move all memory-mapped-file routines here (some were in unexnt.c,
12439         which is bad because they are used by process-nt.c, and unexnt
12440         won't be around when portable dumping).  Synched the above routines
12441         with FSF 20.6.
12442
12443         * nt.h:
12444         Removed ifdef'd out bogus code.
12445         Fixed some prototypes.
12446
12447         * nt.h (file_data):
12448         * nt.h (OFFSET_TO_RVA):
12449         * nt.h (RVA_TO_OFFSET):
12450         * nt.h (RVA_TO_PTR):
12451         Moved the memory-mapped-file structures, macros and prototypes
12452         here, to parallel nt.c.  ntheap.h should really be removed
12453         entirely, and it's a non-portable-dumper specific file.
12454
12455         * ntheap.h (round_to_next):
12456         Moved the memory-mapped-file structures, macros and prototypes
12457         to nt.h.
12458
12459         * ntproc.c (compare_env):
12460         Moved rva_to_section and mswindows_executable_type to nt.c.
12461         Moved compare_env to process-nt.c.
12462         ntproc.c will die, one day.
12463
12464         * ntproc.c (sys_spawnve):
12465         Account for win32_ -> mswindows_.
12466
12467         * process-nt.c:
12468         * process-nt.c (struct nt_process_data):
12469         * process-nt.c (ensure_console_window_exists):
12470         * process-nt.c (compare_env):
12471         * process-nt.c (nt_create_process):
12472         * process-nt.c (nt_kill_process_by_pid):
12473         * process-nt.c (syms_of_process_nt):
12474         * process-nt.c (vars_of_process_nt):
12475         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12476         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12477         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12478         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12479         Move compare_env here from ntproc.c.
12480
12481         * process.c (Fprocess_send_region):
12482         Takes an optional fourth argument, BUFFER, which should fix some
12483         problems with call-process.
12484
12485         * syscommctrl.h:
12486         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12487
12488         * syswindows.h:
12489         Move ICC_BAR_CLASSES to syscommctrl.h.
12490         Add preliminary macros for MSWindows/Mule.  More to come.
12491
12492         * unexnt.c:
12493         * unexnt.c (unexec):
12494         open_output_file moved to nt.c.
12495
12496
12497 2000-05-05  Andy Piper  <andy@xemacs.org>
12498
12499         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12500         instance from the frame cache also since GC may catch up too late
12501         to make frame deletion sane.
12502
12503 2000-05-04  Andy Piper  <andy@xemacs.org>
12504
12505         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12506         (x_finalize_image_instance): ungcpro on deletion.
12507
12508         * glyphs.c (image_instantiator_format_create): give pointers a
12509         query geometry method so that the geometry is at least set.
12510
12511         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12512         initialize layouts if using widgets.
12513
12514 2000-05-03  Andy Piper  <andy@xemacs.org>
12515
12516         * nt.c: remove bogus reference to sysmmsystem.h
12517
12518         * gui-x.c (popup_selection_callback): fix no selection abort.
12519
12520 2000-05-02  Andy Piper  <andy@xemacs.org>
12521
12522         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12523         (mswindows_widget_instantiate): ditto.
12524
12525         * glyphs-widget.c (initialize_widget_image_instance): initialize
12526         children correctly.
12527         (widget_instantiate): cope with children and items in the same
12528         instance.
12529
12530         * glyphs.c (mark_image_instance): cope with children as a first
12531         class member.
12532         (image_instance_equal): ditto.
12533         (image_instance_hash): ditto.
12534         (image_instance_changed): ditto.
12535
12536 2000-04-30  Andy Piper  <andy@xemacs.org>
12537
12538         * glyphs.c (subwindow_query_geometry): new function. Return some
12539         defaults.
12540         (subwindow_instantiate): don't assign dimensions if none have been
12541         given.
12542         (image_instantiator_format_create): add subwindow_query_geometry.
12543         (print_image_instance): cope with layouts as widgets.
12544
12545 2000-04-29  Andy Piper  <andy@xemacs.org>
12546
12547         * frame.c (delete_frame_internal): call
12548         free_frame_subwindow_instance_cache so that all subwindows are
12549         finalized before their parent.
12550         (mark_frame): remove subwindow_cachels.
12551         (Fmake_frame): remove subwindow_cachel manipulation.
12552         (allocate_frame_core): subwindow_instance_cache is a weak list.
12553         (delete_frame_internal): set subwindow_instance_cache to nil.
12554
12555         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12556         finalization safe.
12557         (mswindows_finalize_image_instance): use the device
12558         not the domain as the domain may have died already.
12559
12560         * glyphs-x.c (x_finalize_image_instance): ditto.
12561         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12562         HEIGHT.
12563
12564         * redisplay-output.c (redisplay_unmap_subwindows): update for
12565         subwindow instance cache as a weak list.
12566         (redisplay_unmap_subwindows_maybe): ditto.
12567         (redisplay_unmap_subwindows_except_us): ditto.
12568
12569         * glyphs.c (unmap_subwindow): error checking will check the domain
12570         so don't deal with it here. Don't use cachels anymore.
12571         (map_subwindow): ditto.
12572         (update_subwindow_cachel_data): remove old accessor names.
12573         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12574         (Fresize_subwindow): don't update cachel.
12575         (mark_subwindow_cachels):
12576         (update_subwindow_cachel_data):
12577         (add_subwindow_cachel):
12578         (get_subwindow_cachel_index):
12579         (update_subwindow_cachel):
12580         (reset_subwindow_cachels):
12581         (mark_subwindow_cachels_as_not_updated): deleted.
12582         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12583         subwindow instance to the frame cache.
12584         (find_matching_subwindow): update for subwindow instance cache as
12585         a weak list.
12586         (update_widget_instances): ditto.
12587         (image_instance_type_to_mask):inlined.
12588         (free_frame_subwindow_instance_cache): new function. finalize all
12589         subwindows that are instantiated.
12590
12591         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12592         of cachel information.
12593         (IMAGE_INSTANCE_DISPLAY_X):
12594         (IMAGE_INSTANCE_DISPLAY_Y):
12595         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12596         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12597         (XIMAGE_INSTANCE_DISPLAY_X):
12598         (XIMAGE_INSTANCE_DISPLAY_Y):
12599         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12600         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12601         remove subwindow_cachel structure and function references.
12602         (image_instance_type_to_mask): inline from glyphs.c
12603
12604         * redisplay.c (redisplay_frame): remove subwindow_cachel
12605         references.
12606
12607         * frame.h (struct frame): remove subwindow_cachels.
12608         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12609
12610         * frameslots.h: add subwindow_instance_cache.
12611
12612         * window.c (replace_window): check subwindow cache of replacement.
12613         (window_unmap_subwindows_cache_mapper):
12614         (window_unmap_subwindows): new functions. Unmap all subwindows
12615         cached on this window.
12616         (mark_window_as_deleted): unmap all subwindows.
12617
12618 2000-04-27  Andy Piper  <andy@xemacs.org>
12619
12620         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12621
12622         * glyphs-widget.c (widget_layout): return something.
12623         (layout_layout): return something. Fail if not initialized.
12624         (layout_query_geometry): ditto.
12625         (image_instantiator_native_layout): new function. Initialized the
12626         native layout type.
12627         (widget_instantiate): don't do layout stuff here.
12628
12629         * glyphs.c (instantiate_image_instantiator): reorded calling or
12630         instantiate and post_instantiate with layout in between.
12631         (image_instance_layout): be more selective about deciding whether
12632         the layout has been done or not.
12633
12634         * glyphs.h (struct image_instantiator_methods): return a value
12635         from layout_method.
12636
12637 2000-04-26  Andy Piper  <andy@xemacs.org>
12638
12639         * glyphs.c (allocate_image_instance): make initial width and
12640         height unspecified. Set initialized to 0.
12641
12642         * syscommctrl.h new file. Encapsulates commctrl.h.
12643
12644         * syswindows.h new file. Encapsulates windows.h.
12645
12646         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12647         * nt.c: ditto.
12648         * console-msw.h: ditto.
12649
12650         * redisplay-tty.c (tty_output_display_block): remove layout references.
12651
12652         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12653         window handle rather than just the frame.
12654
12655         * glyphs.c (mark_image_instance): remove layout references.
12656         (print_image_instance): ditto.
12657         (image_instance_equal): ditto.
12658         (image_instance_hash): ditto.
12659         (decode_image_instance_type): ditto.
12660         (encode_image_instance_type): ditto.
12661         (image_instantiate): ditto.
12662         (allocate_glyph): ditto.
12663         (Fimage_instance_height): ditto.
12664         (Fimage_instance_width): ditto.
12665         (update_subwindow): ditto.
12666
12667         * redisplay-x.c (x_output_display_block): recode for layouts as
12668         widgets.
12669
12670         * redisplay-output.c (redisplay_output_layout): recode for layouts
12671         as widgets.
12672         (compare_runes): remove layout references.
12673
12674         * redisplay-msw.c (mswindows_output_display_block): recode for
12675         layouts as widgets.
12676
12677         * glyphs-widget.c (image_instantiator_layout): remove
12678         layout_possible_dest_types.
12679         (layout_possible_dest_types): deleted.
12680
12681         * glyphs.h (image_instance_type): remove layout references.
12682         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12683         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12684         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12685
12686 2000-04-25  Andy Piper  <andy@xemacs.org>
12687
12688         * glyphs-widget.c (image_instantiator_buttons):
12689         (image_instantiator_edit_fields):
12690         (image_instantiator_combo_box):
12691         (image_instantiator_scrollbar):
12692         (image_instantiator_progress_guage):
12693         (image_instantiator_tree_view):
12694         (image_instantiator_tab_control):
12695         (image_instantiator_labels):
12696         (image_instantiator_layout): call default post_instantiate method.
12697         (widget_post_instantiate): new function. Simply lays out the
12698         widgets.
12699
12700         * glyphs.h (struct image_instantiator_methods): add
12701         post_instantiate method.
12702
12703         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12704         method calls.
12705
12706 2000-04-23  Andy Piper  <andy@xemacs.org>
12707
12708         * glyphs.h (struct image_instantiator_methods): add
12709         decode_domain_method.
12710         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12711         derived from the domain.
12712         (IMAGE_INSTANCE_FRAME): new accessor.
12713         (XIMAGE_INSTANCE_FRAME): ditto.
12714
12715         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12716         instead of _SUBWINDOW_FRAME.
12717         (finalize_image_instance): ditto.
12718         (Fimage_instance_foreground): ditto.
12719         (Fimage_instance_background): ditto.
12720         (image_instantiate): ditto.
12721         (update_subwindow_cachel): ditto.
12722         (update_subwindow): ditto.
12723         (unmap_subwindow): ditto.
12724         (map_subwindow): ditto
12725         (subwindow_instantiate): ditto.
12726         * glyphs-msw.c (mswindows_update_widget): ditto.
12727         (mswindows_progress_gauge_instantiate): ditto.
12728         (mswindows_tab_control_update): ditto.
12729         * glyphs-x.c (x_update_widget): ditto.
12730         (x_widget_instantiate): ditto.
12731         (x_tab_control_instantiate): ditto.
12732         (x_tab_control_update): ditto.
12733         * event-msw.c (mswindows_wnd_proc): ditto
12734
12735         * glyphs-widget.c (image_instantiator_layout): use
12736         subwindow_decode_domain.
12737         (image_instantiator_buttons): ditto.
12738         (image_instantiator_edit_fields): ditto.
12739         (image_instantiator_combo_box): ditto.
12740         (image_instantiator_scrollbar): ditto.
12741         (image_instantiator_progress_guage): ditto.
12742         (image_instantiator_tree_view): ditto.
12743         (image_instantiator_tab_control): ditto.
12744         (image_instantiator_labels): ditto.
12745         (image_instantiator_layout): ditto.
12746
12747         * glyphs.c: add instance error checking to many functions.
12748         (instantiate_image_instantiator): decode device from cache_domain.
12749         (image_instantiate): partially rewrite by using
12750         decode_image_instantiator_domain to determine what domain the
12751         instance needs to be cached in.
12752         (decode_image_instantiator_domain): new function. Determine what
12753         domain the image needs to be cached in.
12754         (check_window_subwindow_cache): new error checking function.
12755         (check_instance_cache_mapper): ditto.
12756         (check_image_instance_structure): ditto.
12757         (subwindow_decode_domain): new function. Encodes a window as a
12758         subwindow's cache domain.
12759         (image_instantiator_format_create): use it for text and
12760         subwindows.
12761
12762 2000-04-21  Andy Piper  <andy@xemacs.org>
12763
12764         * glyphs.c (image_instance_device): new function.
12765         (image_instance_frame): new function.
12766         (image_instance_window): new function.
12767         (image_instance_live_p): new function.
12768
12769         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12770         cache to nil.
12771
12772         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12773         (IMAGE_INSTANCE_DOMAIN): new accessor.
12774         (XIMAGE_INSTANCE_DOMAIN): ditto.
12775
12776         * glyphs-x.c (x_finalize_image_instance): device->domain.
12777
12778         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12779         (mswindows_finalize_image_instance): ditto.
12780
12781         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12782         (gif_instantiate): ditto.
12783         (png_instantiate): ditto.
12784         (tiff_instantiate): ditto.
12785
12786         * glyphs.c (instantiate_image_instantiator): use domain rather
12787         than device.
12788         (mark_image_instance): device -> domain.
12789         (print_image_instance): ditto.
12790         (finalize_image_instance): ditto.
12791         (image_instance_equal): ditto.
12792         (allocate_image_instance): ditto.
12793         (Fcolorize_image_instance): ditto.
12794         (query_string_geometry): ditto.
12795         (image_instantiate): ditto
12796         (query_string_font): ditto.
12797         (image_instantiate): ditto.
12798         (update_subwindow): ditto.
12799         (unmap_subwindow): ditto.
12800         (map_subwindow): ditto.
12801         (subwindow_instantiate): ditto.
12802
12803         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12804         (DOMAIN_FRAME): ditto.
12805         (DOMAIN_WINDOW): ditto.
12806         (DOMAIN_LIVE_P): ditto.
12807         (XDOMAIN_DEVICE): ditto.
12808         (XDOMAIN_FRAME): ditto.
12809         (XDOMAIN_WINDOW): ditto.
12810
12811         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12812         a valid specifier domain.
12813
12814 2000-04-19  Andy Piper  <andy@xemacs.org>
12815
12816         * glyphs-widget.c (syms_of_glyphs_widget): remove
12817         widget-callback-current-channel.
12818         (vars_of_glyphs_widget): ditto.
12819         * glyphs.h: ditto
12820
12821         * gui.c (get_gui_callback): revert to previous behaviour.
12822
12823 2000-04-18  Andy Piper  <andy@xemacs.org>
12824
12825         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12826         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12827         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12828
12829         * glyphs.c (image_instance_equal): add margin_width.
12830         (image_instance_hash): ditto.
12831
12832         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12833         (layout_query_geometry): ditto.
12834         (layout_layout): ditto.
12835         (syms_of_glyphs_widget): add margin-width.
12836         (image_instantiator_layout): allow margin-width.
12837
12838         * glyphs.c (update_widget_instances): make a normal function.
12839         (syms_of_glyphs): remove Qupdate_widget_instances.
12840         * glyphs.h: ditto.
12841
12842         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12843         so that we don't corrupt ideas about the last event or
12844         command. Remove widget-callback-current-channel fiddling.
12845         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12846
12847 2000-05-01  Martin Buchholz <martin@xemacs.org>
12848
12849         * XEmacs 21.2.33 is released.
12850
12851 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12852
12853         * make-src-depend: Allow dots in header file name.
12854
12855 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12856
12857         * mule-charset.h (struct charset_lookup): Add
12858         next_allocated_1_byte_leading_byte and
12859         next_allocated_2_byte_leading_byte.
12860         * mule-charset.c: Move above two variables so that those values
12861         will be dumped.
12862
12863 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12864
12865         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12866         when string length is zero.
12867         (find_charsets_in_emchar_string): Ditto.
12868
12869 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12870
12871         * lisp.h: extern Qdialog and Qmenubar.
12872
12873         * gui-x.c: added events.h.
12874                 also fixed typo which made the file uncompilable.
12875
12876         * general.c: Added Qmenubar and Qdialog
12877
12878 2000-04-28  Ben Wing  <ben@xemacs.org>
12879
12880         * frame-msw.c (mswindows_init_frame_1):
12881         * frame-msw.c (mswindows_mark_frame):
12882         * event-msw.c (mswindows_enqueue_dispatch_event):
12883         * console-msw.h:
12884         * console-msw.h (struct mswindows_frame):
12885         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12886         there are now three hash tables for callbacks.
12887         mswindows_enqueue_dispatch_event is no longer static.
12888
12889         * dialog-x.c (maybe_run_dbox_text_callback):
12890         * dialog-x.c (dbox_descriptor_to_widget_value):
12891         switch to new cons3 form for callbacks.
12892
12893         * glyphs-msw.c (mswindows_register_gui_item):
12894         * glyphs-msw.c (mswindows_widget_instantiate):
12895         * glyphs-msw.c (add_tree_item):
12896         * glyphs-msw.c (add_tab_item):
12897         new image instance parameter, so it can be passed to callback-ex.
12898         respect :callback-ex as well as :callback.
12899
12900         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12901         add :callback-ex.
12902
12903         * glyphs.c (print_image_instance):
12904         prettify, e.g. now prints widget type.
12905
12906         * gui-x.h:
12907         certain funs have new image instance parameter.
12908
12909         * gui.c:
12910         * gui.c (get_gui_callback):
12911         * gui.c (gui_item_add_keyval_pair):
12912         * gui.c (gui_item_init):
12913         * gui.c (gui_add_item_keywords_to_plist):
12914         * gui.c (mark_gui_item):
12915         * gui.c (gui_item_hash):
12916         * gui.c (gui_item_equal):
12917         * gui.c (copy_gui_item):
12918         * gui.c (syms_of_gui):
12919         recognize callback-ex in a number of places.
12920         also, fix the annoying "can't get out of yes-no dialog" bug.
12921
12922         * gui.h:
12923         * gui.h (struct Lisp_Gui_Item):
12924         recognize callback-ex in a number of places.
12925
12926         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12927         new parameter in button_item_to_widget_value.
12928
12929         * glyphs-x.c (x_update_widget):
12930         * glyphs-x.c (x_button_instantiate):
12931         * glyphs-x.c (x_button_update):
12932         * glyphs-x.c (x_progress_gauge_instantiate):
12933         * glyphs-x.c (x_edit_field_instantiate):
12934         * glyphs-x.c (x_combo_box_instantiate):
12935         * glyphs-x.c (x_tab_control_instantiate):
12936         * glyphs-x.c (x_label_instantiate):
12937         new image instance parameter in various places.
12938
12939         * event-Xt.c:
12940         * event-Xt.c (enqueue_Xt_dispatch_event):
12941         this fun gets exported.
12942
12943         * gui-msw.c:
12944         * gui-msw.c (mswindows_handle_gui_wm_command):
12945         handle both :callback and :callback-ex, and generate our own
12946         event because it's one of the callback-ex arguments.
12947
12948         * gui-x.c:
12949         * gui-x.c (popup_selection_callback):
12950         handle both :callback and :callback-ex, and generate our own
12951         event because it's one of the callback-ex arguments.
12952         * gui-x.c (button_item_to_widget_value):
12953         * gui-x.c (gui_items_to_widget_values_1):
12954         * gui-x.c (gui_item_children_to_widget_values):
12955         * gui-x.c (gui_items_to_widget_values):
12956         new image instance parameter in various places.
12957
12958         * fns.c (Freplace_list):
12959         fix small typo in doc string.
12960
12961         * lisp.h:
12962         declare enqueue_Xt_dispatch_event.
12963
12964 2000-04-28  Ben Wing  <ben@xemacs.org>
12965
12966         * buffer.c:
12967         * buffer.c (Frecord_buffer):
12968         * buffer.c (syms_of_buffer):
12969         delete record-buffer-hook.
12970
12971         * fns.c:
12972         * fns.c (Freplace_list):
12973         * fns.c (syms_of_fns):
12974         new primitive replace-list.
12975
12976         * frameslots.h:
12977         slot for old buffer-alist.
12978
12979         * lisp.h:
12980         exfun replace-list.
12981
12982         * redisplay.c:
12983         * redisplay.c (redisplay_frame):
12984         * redisplay.c (syms_of_redisplay):
12985         * redisplay.c (vars_of_redisplay):
12986         new hook buffer-list-changed-hook.
12987         call it.
12988
12989 2000-04-27  Ben Wing  <ben@xemacs.org>
12990
12991         * extents.h: extern in_modeline_generation.
12992
12993         * redisplay.c (generate_formatted_string_db): set
12994         in_modeline_generation.
12995
12996         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12997         flags if in modeline generation.  otherwise frame-modified-tick
12998         is ticked far too often.
12999         Declare in_modeline_generation.
13000
13001 2000-04-26  Ben Wing  <ben@xemacs.org>
13002
13003         * emacs.c (vars_of_emacs): document quick-build "error-checking"
13004         option.
13005         (vars_of_emacs): add quick-build as an error-checking option.
13006         A bit kludgy, but there doesn't seem much point in creating
13007         a real var for this.
13008
13009         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
13010
13011 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13012
13013         * redisplay.h (struct display_line): Add a new variable,
13014         line_continuation.
13015
13016         * redisplay.c (create_text_block): Set dl->line_continuation if
13017         the line continues.
13018         (create_string_text_block): Ditto.
13019         (regenerate_window_incrementally): Use line_continuation instead
13020         of searching continuation glyph.
13021         (add_margin_runes): Call add_glyph_rune.
13022         (add_glyph_rune): Handle margin glyph.
13023
13024 2000-04-20  Martin Buchholz  <martin@xemacs.org>
13025
13026         * filelock.c (fill_in_lock_file_name):
13027         ANSIfy.
13028         Check for IS_ANY_SEP instead of '/'.
13029         (lock_file_1):
13030         Avoid generating gratuitous garbage.  Call user_login_name() directly.
13031         Never check errno without first seeing that system call failed.
13032         (unlock_file): Add GCPRO.
13033         (Flock_buffer): Fix docstring.
13034         (Ffile_locked_p): Fix docstring.  Add GCPRO.
13035
13036 2000-04-19  Martin Buchholz  <martin@xemacs.org>
13037
13038         * sysdep.c (get_pty_max_bytes):
13039         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
13040         strings longer than 252 bytes.
13041
13042         * md5.c: Unconditionally include ANSI header <limits.h>
13043
13044         * glyphs-x.c (convert_EImage_to_XImage):
13045         * lisp-union.h (union Lisp_Object):
13046         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
13047
13048 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
13049
13050         * filelock.c (current_lock_owner): Remove unused variable o, p.
13051
13052 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
13053
13054         * callint.c: Remove multiply defined symbol Qlet
13055         (syms_of_callint): ditto.
13056
13057 2000-04-14  Andy Piper  <andy@xemacs.org>
13058
13059         * general.c (syms_of_general): add last-command, this-command, let
13060         and funcall.
13061
13062         * lisp.h: declare various symbols.
13063
13064         * glyphs.h: declare Qwidget_callback_current_channel;
13065
13066         * glyphs-widget.c (syms_of_glyphs_widget): add
13067         Qgui_callback_current_channel.
13068         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13069
13070         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13071         widget-callback-current-channel when invoking the interactive
13072         arg. Also bind last-command and next-command when invoking the
13073         widget updates.
13074         * gui-x.c (popup_selection_callback): ditto.
13075
13076         * gui.c (get_gui_callback): massage args so that we are always
13077         calling eval. This allows us to add our own variable bindings
13078         outside.
13079
13080         * glyphs-x.c (x_button_instantiate): use
13081         gui_items_to_widget_values since this is GC safe.
13082         (x_progress_gauge_instantiate): ditto.
13083         (x_edit_field_instantiate): ditto.
13084         (x_label_instantiate): ditto.
13085
13086         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13087         (emacs_Xt_event_widget_focus_out): new function
13088         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13089         focus.
13090         (emacs_Xt_event_add_widget_actions): new function. add focus
13091         functions as actions.
13092         (init_event_Xt_late): use it.
13093
13094 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13095
13096         * event-stream.c (Fdispatch_event): Doc fix.
13097
13098 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13099
13100         * postgresql.c: Remove all references to PQsetenv*.
13101
13102         * postgresql.h: Remove references to PGsetenvHandler object.
13103         * lrecord.h (lrecord_type): Ditto.
13104
13105 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13106
13107         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13108         real_heigh and real_width members, and accessor macros for these.
13109
13110         * glyphs-msw.c (init_image_instance_geometry): New function.
13111         (init_image_instance_from_dibitmap): Use it.
13112         (mswindows_resource_instantiate): Use it.
13113         (init_image_instance_from_xbm_inline): Use it.
13114         (mswindows_initialize_image_instance_mask): Use real bitmap
13115         geometry.
13116         (mswindows_create_resized_bitmap): Ditto.
13117         (mswindows_create_resized_mask): Ditto.
13118
13119         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13120         and bitmap to their surface size.
13121
13122 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13123
13124         * process-unix.c (unix_send_process): Guard against process MIA
13125         after Faccept_process_output.
13126
13127 2000-04-11  Ben Wing  <ben@xemacs.org>
13128
13129         * eval.c (unbind_to_hairy): fix brokenness introduced by
13130         nanosecond speed improvements.
13131
13132 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13133
13134         * sunplay.c (init_device): To play sounds correctly, the device
13135         apparently needs to be initialized at least once by XEmacs.  Make
13136         it so.
13137
13138 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13139
13140         * redisplay.c (add_margin_runes): Add text image glyph
13141           handling.
13142
13143 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13144
13145         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13146         gcc is newer than 2.5.
13147
13148 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13149
13150         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13151
13152         * fns.c (size_bit_vector):
13153         * alloc.c (size_vector):
13154         (make_vector_internal):
13155         (make_bit_vector_internal):
13156         (sweep_bit_vectors_1):
13157         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13158
13159 2000-04-06  Andy Piper  <andy@xemacs.org>
13160
13161         * gmalloc.c (malloc): undo previous change.
13162         (malloc): ditto.
13163         (free): ditto.
13164         (realloc): ditto.
13165
13166 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13167
13168         * line-number.c (buffer_line_number): Revert to former version.
13169
13170 2000-04-06  Andy Piper  <andy@xemacs.org>
13171
13172         * gmalloc.c (malloc): add error checking.
13173         (malloc): ditto.
13174         (free): ditto.
13175         (realloc): ditto.
13176
13177         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13178         button_item_to_widget_value arg.
13179
13180         * glyphs-x.c (x_button_instantiate): add extra
13181         button_item_to_widget_value arg.
13182         (x_progress_gauge_instantiate): ditto.
13183         (x_edit_field_instantiate): ditto.
13184         (x_label_instantiate): ditto.
13185
13186         * gui-x.c (gui_items_to_widget_values_1): add extra
13187         button_item_to_widget_value arg.
13188         (button_item_to_widget_value): add extra menu_item_p arg.
13189
13190         * gui-x.h: change signature of button_item_to_widget_value.
13191
13192         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13193         button_item_to_widget_value arg.
13194
13195 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13196
13197         * buffer.h (struct buffer): auto_save_modified should be long.
13198
13199 2000-04-05  Andy Piper  <andy@xemacs.org>
13200
13201         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13202         type.
13203         (button_query_geometry): give a little more room so that athena
13204         buttons fit.
13205
13206 2000-04-05  Andy Piper  <andy@xemacs.org>
13207
13208         * faces.c (complex_vars_of_faces): The widget face should inherit
13209         the font of the gui-element face.
13210
13211 2000-04-04  Andy Piper  <andy@xemacs.org>
13212
13213         * glyphs-x.c (x_button_update): new function. unconditionally
13214         update a button's state when the instance is dirty.
13215         (image_instantiator_format_create_glyphs_x): add x_button_update.
13216         (x_widget_instantiate): remove old resize cruft.
13217
13218 2000-04-02  Andy Piper  <andy@xemacs.org>
13219
13220         * frame.c (change_frame_size_1): The introduction of gutters means
13221         that we need to allow 0 as a potential frame dimension.
13222
13223 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13224
13225         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13226         image glyph if allow_cursor.
13227         (add_hscroll_rune): Don't allow cursor to border glyph.
13228         (create_text_block): Ditto.
13229
13230         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13231         text not in buffer.
13232         (redisplay_output_layout): Call ensure_face_cachel_complete for
13233         text image glyph.
13234
13235
13236 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13237
13238         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13239
13240         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13241         not in buffer
13242
13243         * redisplay-tty.c (tty_output_display_block): Delete the routine
13244         for text image glyph
13245         * redisplay-x.c (x_output_display_block): ditto
13246         * redisplay-msw.c (mswindows_output_display_block): ditto
13247
13248 2000-02-02  Mike Alexander  <mta@arbortext.com>
13249
13250         Note: Some of these were committed by accident as part of other
13251         patches.
13252
13253         * regex.c (regex_compile): Avoid compiler warnings.
13254
13255         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13256
13257         * nt.h: Declare term_ntproc correctly.
13258
13259         * nt.c: Remove incorrect declaration of get_home_directory which
13260         is declared correctly in lisp.h.
13261
13262         * keymap.c (get_keyelt): Avoid compiler warnings.
13263         (raw_lookup_key_mapper): Avoid compiler warnings.
13264
13265         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13266
13267         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13268
13269         * filemode.c (mode_string): Avoid compiler warnings.
13270
13271         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13272         avoid warning.
13273
13274         * events-mod.h: Undef some things that winuser.h defines differently.
13275
13276         * data.c (Faset): Avoid compiler warnings.
13277
13278         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13279
13280 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13281
13282         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13283         Fall through to simple beep on error.
13284         Replace "extern" by real header file.
13285
13286         * linuxplay.c: Use nativesound.h
13287         (play_sound_data): Return error code. Be less verbose on error.
13288
13289         * sunplay.c: Use nativesound.h
13290         (play_sound_data): Return error code. Be less verbose on error.
13291
13292         * ntplay.c: Use nativesound.h
13293         (play_sound_data): Return fake error code
13294
13295         * sgiplay.c: Use nativesound.h
13296         (play_sound_data): Return error code
13297
13298         * hpplay.c: Use nativesound.h, partially implement
13299         new error code. Break compilation until finished.
13300         (play_sound_data): error code.
13301
13302         * nativesound.h (play_sound_file):
13303           (play_sound_data): Prototype in new header.
13304
13305 2000-03-31  Andy Piper  <andy@xemacs.org>
13306
13307         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13308         for toggle and radio buttons.
13309         (image_instantiator_buttons): use it.
13310
13311 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13312
13313         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13314         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13315         found. Scrollbar event probably belonged to some old config.
13316
13317 2000-03-31  Andy Piper  <andy@xemacs.org>
13318
13319         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13320         than 1.
13321         (initialize_widget_image_instance): default layout to
13322         LAYOUT_HORIZONTAL rather than 0.
13323         (widget_instantiate): reverse the item list at the end rather than
13324         every iteration.
13325         (layout_layout): re-code for the border text at the front of the
13326         item list rather than at the end.
13327         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13328         provided by the user.
13329         (widget_query_geometry): comment.
13330
13331 2000-03-30  Andy Piper  <andy@xemacs.org>
13332
13333         * glyphs-widget.c (image_instantiator_layout): allow standard
13334         widget keywords in layouts.
13335
13336         * gutter.c (output_gutter): cope with nil gutter contents.
13337
13338         * frame.c (Fset_frame_properties): add gutter docs.
13339
13340 2000-03-29  Andy Piper  <andy@xemacs.org>
13341
13342         * toolbar-msw.c (TBSTYLE_FLAT): add.
13343         (mswindows_output_toolbar): minor fiddling.
13344
13345 2000-03-29  Andy Piper  <andy@xemacs.org>
13346
13347         * gutter.c (output_gutter): force gutter size recalculation if
13348         what we are trying to display won't fit.
13349         (update_gutter_geometry): new function. A per-gutter version of
13350         update_frame_gutter_geometry.
13351         (update_frame_gutter_geometry): use it.
13352         (redraw_exposed_gutter): add extra debugging output.
13353
13354 2000-03-28  Mike Alexander  <mta@arbortext.com>
13355
13356         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13357         (pdump_file_unmap): Implement it on Windows
13358         (pdump_file_get): Save alocated handles for pdump_file_unmap
13359
13360 2000-03-28  Andy Piper  <andy@xemacs.org>
13361
13362         * gui.c (get_gui_callback): treat Quit specially.
13363
13364 2000-03-27  Andy Piper  <andy@xemacs.org>
13365
13366         * glyphs.c (image_instantiate): be careful to check in the same
13367         way we assigned.
13368
13369 2000-03-27  Didier Verna  <didier@xemacs.org>
13370
13371         * config.h.in: define the proper SMART_INCLUDE macro.
13372         handle renaming of `foo_h_path' to `foo_h_file'.
13373
13374         * database.c: ditto.
13375
13376         * emacs.c: ditto.
13377
13378         * linuxplay.c: ditto.
13379
13380         * terminfo.c: ditto.
13381
13382         * tooltalk.h: ditto.
13383
13384 2000-03-27  Andy Piper  <andy@xemacs.org>
13385
13386         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13387         gets updated whenever the face might have changed.
13388
13389 2000-03-26  Mike Alexander  <mta@arbortext.com>
13390
13391         * dumper.c (pdump_resource_free): Fix the comment.
13392
13393 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13394
13395         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13396
13397 2000-03-22  Mike Alexander  <mta@arbortext.com>
13398
13399         * dumper.c: Include Windows headers on Windows
13400         (pdump_resource_free): Add a body to the function
13401         (pdump_load): exe_name -> exe_path and add some comments.
13402
13403 2000-03-25  Mike Alexander  <mta@arbortext.com>
13404
13405         * gui.c (copy_gui_item_tree): Return a value in all cases
13406
13407 2000-03-21  Didier Verna  <didier@xemacs.org>
13408
13409         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13410         lwlib/config.h.in.
13411         (SMART_INCLUDE): new macro.
13412         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13413         the proper location.
13414
13415         * postgresql.c: use it.
13416
13417         * inline.c: ditto.
13418
13419 2000-03-24  Andy Piper  <andy@xemacs.org>
13420
13421         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13422         do this.
13423
13424 2000-03-24  Andy Piper  <andy@xemacs.org>
13425
13426         * redisplay-output.c (compare_runes): use image_instance_changed
13427         to detect changes. Do not depend on glyphs_changed, only depend on
13428         dirtiness.
13429          (redisplay_output_layout): add debug messages.
13430         (compare_runes): ditto.
13431
13432         * glyphs.h: declare new functions.
13433         (struct Lisp_Image_Instance): remove percent and associated
13434         accessors.
13435
13436         * gui.h: declare new copying functions.
13437
13438         * gui.c (copy_gui_item_tree): new function.
13439         (copy_gui_item): new function.
13440         (gui_item_id_hash): revert to standard hash.
13441         (gui_item_hash): ditto.
13442         (gui_item_hash_internal): deleted.
13443         (mark_gui_item): mark value.
13444         (gui_item_add_keyval_pair): add value.
13445         (gui_item_init): ditto.
13446         (gui_add_item_keywords_to_plist): ditto.
13447         (gui_item_equal): ditto.
13448         (syms_of_gui): add Q_value.
13449
13450         * glyphs-x.c (x_progress_gauge_update): use pending items and
13451         value for setting the state.
13452         (x_update_widget): don't set items from pending here.
13453
13454         * glyphs-widget.c (update_widget): update items here.
13455         (progress_gauge_set_property): use items for storing value. Put
13456         new value in pending items.
13457
13458         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13459         items for new value. Convert percent -> value.
13460         (mswindows_tab_control_update): don't update items here.
13461
13462         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13463         (update_subwindow): ditto.
13464         (image_instance_changed): new function. Compare hash values and
13465         past and present widget items.
13466         (image_instantiate): We more careful about where we instantiate
13467         things.
13468         (image_instantiate): add error checking.
13469
13470         * gutter.c (syms_of_gutter): use -hook.
13471
13472 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13473
13474         * console-tty.c (Fset_console_tty_input_coding_system): Use
13475         Qkeyboard.
13476         (Fset_console_tty_output_coding_system): Use Qterminal.
13477         (tty_init_console): Use Qkeyboard and Qterminal.
13478
13479 2000-03-21  Ben Wing  <ben@xemacs.org>
13480
13481         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13482         From Mike Alexander <mta@arbortext.com>.
13483
13484 2000-03-21  Ben Wing  <ben@xemacs.org>
13485
13486         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13487         process brokenness.  Proper implementation to come.
13488         * callproc.c:
13489         Rename call-process-internal to old-call-process-internal.
13490         New impl. in process.el.
13491
13492 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13493
13494         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13495
13496 2000-03-20  Andy Piper  <andy@xemacs.org>
13497
13498         * glyphs.c (full_list_hash): make hashes of the same elements in
13499         different orders return different values.
13500
13501 2000-03-20  Martin Buchholz <martin@xemacs.org>
13502
13503         * XEmacs 21.2.32 is released.
13504
13505 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13506
13507         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13508         (DFC_MALLOC_USE_CONVERTED_DATA):
13509         Add aliasing-safe casts to allow use with char* or unsigned char*
13510         lvalues.
13511
13512         * eldap.c (Fldap_open):
13513         (Fldap_search_basic):
13514         (Fldap_add):
13515         (Fldap_modify):
13516         Make C++-compilable.
13517         Make sure GCPRO'ed variables are initialized.
13518         Use temp variables to avoid repeated calls to Flength.
13519
13520 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13521
13522         * sysfile.h:
13523         Make sure PATH_MAX is always defined.
13524         Include limits.h for PATH_MAX.
13525         Deprecate use of MAXPATHLEN.
13526
13527 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13528
13529         * emacs.c: Add reinit_vars_of_fileio.
13530         * symsinit.h: Add reinit_vars_of_fileio.
13531         * fileio.c (reinit_vars_of_fileio): New.
13532         * fileio.c (Fmake_temp_name):
13533         Initialize temp_name random number from microseconds to make
13534         collisions even less likely.  Initialize always at process startup
13535         time.  (make-temp-name) used to return the same file name twice in
13536         a row when PDUMP.
13537         Random stylistic fiddling.
13538         Comment fixes.
13539
13540 2000-03-20  Andy Piper  <andy@xemacs.org>
13541
13542         * glyphs.c (image_instantiate): allow text glyphs to be
13543         instantiated in the minibuffer window.
13544
13545 2000-03-19  Andy Piper  <andy@xemacs.org>
13546
13547         * glyphs.c (image_instance_hash): be careful about which items we
13548         hash on.
13549
13550         * glyphs-widget.c (tab_control_set_property): record into pending
13551         items rather than the actual items.
13552
13553         * glyphs-x.c (x_update_widget): use pending items to update with.
13554
13555         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13556         to update with.
13557
13558         * glyphs.c (mark_image_instance): mark pending items.
13559
13560         * window.c (Fset_window_configuration): record the buffer.
13561         (Fselect_window): totally revert previous change which breaks many
13562         things.
13563
13564 2000-03-18  Andy Piper  <andy@xemacs.org>
13565
13566         * glyphs-msw.c (mswindows_tab_control_update): force selected
13567         item.
13568
13569         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13570         window domain cache, otherwise we get inconsistencies at
13571         startup. There is something fishy at startup which can lead to the
13572         minibuffer being the selected window when the gutter content is
13573         instantiated.
13574
13575         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13576         gcpros.
13577         (parse_gui_item_tree_children): ditto.
13578         (parse_gui_item_tree_item): ditto.
13579
13580         * glyphs.c (Fupdate_widget_instances): return something.
13581
13582 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13583
13584         * window.c (Fselect_window): Undo 2000-03-17 change.
13585
13586 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13587
13588         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13589         against v7.0 libraries.  Insta-coredump city until the postgres
13590         folks fix it.
13591
13592 2000-03-17  Andy Piper  <andy@xemacs.org>
13593
13594         * faces.c (complex_vars_of_faces): don't give the widget face an
13595         inherited background pixmap.
13596
13597         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13598         selected item.
13599
13600         * event-stream.c (Fdispatch_non_command_events): return something.
13601
13602         * gutter.c (output_gutter): use widget face.
13603         (clear_gutter): ditto.
13604
13605         * NEWS: adjust again.
13606
13607         * window.c (Fselect_window): make sure this runs to completion to
13608         avoid oddities with Fset_window_configuration.
13609         (Fcurrent_window_configuration): in general do not save the
13610         minibuffer as the selected window.
13611
13612         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13613
13614 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13615
13616         * emacs.c (Frunning_temacs_p): Revert previous patch.
13617         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13618
13619 2000-03-16  Andy Piper  <andy@xemacs.org>
13620
13621         * glyphs-x.c (x_tab_control_update): if no widget values then
13622         return.
13623
13624         * NEWS: update for new features.
13625
13626         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13627         synthetic event to the native system.
13628         (reinit_vars_of_event_Xt): set force_event_pending to
13629         emacs_Xt_force_event_pending.
13630
13631         * events.h (struct event_stream): add force_event_pending.
13632
13633         * specifier.c (recompute_one_cached_specifier_in_window): add
13634         comment.
13635
13636         * redisplay.c (redisplay_frame): don't call
13637         update_frame_subwindows. Reset subwindow cachels when
13638         subwindows_changed, removing this was an optimization too far.
13639
13640         * redisplay-output.c (compare_runes): reorganize so that we catch
13641         glyph changes when we want them. Set optimize_output when this
13642         would help layouts.
13643         (redisplay_output_layout): remove frame_really_changed, use
13644         optimize_output instead.
13645
13646         * redisplay-msw.c (mswindows_output_display_block): reset
13647         optimize_output after outputting a glyph.
13648         * redisplay-x.c (x_output_display_block): ditto.
13649         * redisplay-tty.c (tty_output_display_block): ditto.
13650
13651         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13652         functions.
13653         (gutter_specs_changed): do specific gutter positions.
13654         (top_gutter_specs_changed): new function. Only update the
13655         specified gutter specs.
13656         (bottom_gutter_specs_changed): ditto.
13657         (left_gutter_specs_changed): ditto.
13658         (right_gutter_specs_changed): ditto.
13659
13660         * gui.c (gui_item_hash_internal): new function, does a real hash.
13661         (gui_item_id_hash): use it.
13662         (gui_item_hash): hash the eval'ed gui_item.
13663
13664         * gui-x.c (popup_selection_callback): send an eval event to call
13665         Fupdate_widget_instances.
13666
13667         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13668         to call Fupdate_widget_instances.
13669
13670         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13671         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13672
13673         * glyphs.c: (update_frame_subwindows): deleted.
13674         (Fupdate_widget_instances): new function for updating the dirty
13675         state of widgets that might have changed.
13676         (syms_of_glyphs): add Qupdate_widget_instances.
13677         (full_list_hash): hash a list completely.
13678         (image_instance_hash): use it for items and properties.
13679
13680         * frame-msw.c (mswindows_size_frame_internal): remove unused
13681         variable.
13682
13683         * faces.h (struct face_cachel): fix comment.
13684
13685         * event-stream.c (Fdispatch_non_command_events): new
13686         function. Process non-command events, forcing an event cycle
13687         beforehand.
13688         (syms_of_event_stream): declare.
13689         (event_stream_force_event_pending): new function. Force an event
13690         on the native event queue so that an event cycle will occur next
13691         time we check.
13692
13693         * event-msw.c:
13694         (struct ntpipe_shove_stream):
13695         (mswindows_enqueue_dispatch_event):
13696         (mswindows_dequeue_dispatch_event):
13697         (mswindows_cancel_dispatch_event):
13698         (mswindows_pump_outstanding_events):
13699         (mswindows_drain_windows_queue):
13700         (mswindows_handle_paint):
13701         (mswindows_wnd_proc):
13702         (mswindows_key_to_emacs_keysym):
13703         (get_process_input_waitable):
13704         (emacs_mswindows_delete_stream_pair): re-indent file.
13705         (mswindows_need_event): do not process further fds if the windows
13706         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13707         fixes the 100% cpu problem.
13708         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13709
13710 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13711
13712         * alloc.h: New.
13713         * dumper.h: New.
13714         * dumper.c: New.
13715
13716         * emacs.c: Moved dump file searching to dumper.c.
13717         (Frunning_temacs_p): Fixed.
13718
13719         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13720         last_lrecord_type_index_assigned.
13721
13722 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13723
13724         * symsinit.h: Added reinit parameter to init_console_stream
13725         declaration.
13726
13727         * lisp.h: Added file parameter to pdump_load declaration.
13728
13729         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13730         support.  Added dump file searching.
13731
13732         * config.h.in: Added EMACS_PROGNAME.
13733
13734         * console-stream.c (init_console_stream): Fix reinitialisation
13735         when running from temacs.
13736
13737         * alloc.c (pdump): Add id support.
13738         (pdump_load): Add file parameter and signature/id support.
13739
13740         * Makefile.in.in: Add full pdump support.
13741
13742 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13743
13744         * postgresql.c: Update documentation to reflect latest code
13745         status.
13746         (print_result): Show tuple counts in printed representation when
13747         appropriate.
13748         (Fpq_put_nbytes): MULE-ize.
13749         (Fpq_get_line_async): Ditto.
13750
13751 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13752
13753         * postgresql.c (Fpq_lo_import): Fix return value.
13754         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13755
13756 2000-03-13  Ben Wing  <ben@xemacs.org>
13757
13758         * alloc.c (pdump_load):
13759         Fix compile warning under mswin.
13760
13761 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13762
13763         * postgresql.c: Mule-ization, bug fixes.
13764         Use PG_CODING to encapsulate coding system name changes.
13765         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13766         (pg-coding-system): Create.
13767
13768         (Fpq_conn_defaults): Mule-ize.
13769         (Fpq_connectdb): Mule-ize & bug fix.
13770         (Fpq_connect_start): Mule-ize.
13771         (Fpq_set_client_encoding): Mule-ize.
13772         (Fpq_finish): Document `DEAD' connection status.
13773         (Fpq_clear): Ditto.
13774         (Fpq_pgconn): Mule-ize.
13775         (Fpq_exec): Mule-ize & bug fix.
13776         (Fpq_send_query): Ditto.
13777         (Fpq_get_result): Ditto.
13778         (Fpq_res_status): Mule-ize.
13779         (Fpq_result_error_message): Mule-ize.
13780         (Fpq_ntuples): fix comments.
13781         (Fpq_fname): Mule-ize.
13782         (Fpq_fnumber): Mule-ize.
13783         (Fpq_ftype): fix comments.
13784         (Fpq_get_value): Mule-ize.
13785         (Fpq_cmd_status): Ditto.
13786         (Fpq_cmd_tuples): Ditto.
13787         (Fpq_oid_value): Ditto.
13788         (Fpq_notifies): Ditto.
13789         (Fpq_lo_import): Ditto.
13790         (Fpq_lo_export): Ditto.
13791         (Fpq_get_line): Ditto.
13792         (Fpq_put_line): Mule-ize and bug fix.
13793         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13794
13795 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13796
13797         * postgresql.c (vars_of_postgresql): Mule-ize.
13798         (Fpq_conn_defaults): Ditto.
13799
13800 2000-03-12  Ben Wing  <ben@xemacs.org>
13801
13802         * alloc.c (Fmake_byte_code):
13803         * alloc.c (debug_string_purity_print):
13804         * alloc.c (pdump_backtrace):
13805         * alloc.c (pdump_get_indirect_count):
13806         * alloc.c (pdump_register_sub):
13807         * alloc.c (pdump_register_object):
13808         * alloc.c (pdump_register_struct):
13809         * alloc.c (pdump_dump_data):
13810         * alloc.c (pdump_reloc_one):
13811         Minor cleanups.
13812
13813         * console-msw.c:
13814         * console-msw.c (GetConsoleHwnd):
13815         * console-msw.c (msw_hide_console):
13816         * console-msw.c (msw_show_console):
13817         * console-msw.c (msw_ensure_console_buffered):
13818         * console-msw.c (msw_output_console_string):
13819         * console-msw.c (console_type_create_mswindows):
13820
13821         a) Added functions to manipulate the console window for use with
13822         shell support.
13823
13824         b) Added support for writing text to the console, which is now
13825         used under Windows when xemacs is not being run non-interactively,
13826         to write text that would otherwise be destined for stdout because
13827         under these circumstances, text written to stdout tends to
13828         disappear and not be seen.
13829
13830         * console-msw.h:
13831         * event-Xt.c:
13832         * event-Xt.c (x_event_to_emacs_event):
13833         * event-Xt.c (describe_event_window):
13834         * events-mod.h (XEMACS_MOD_CONTROL):
13835         * events.c:
13836         * events.c (Fmake_event):
13837         * events.c (character_to_event):
13838         * events.c (event_to_character):
13839         * events.c (format_event_object):
13840         * events.c (Fevent_modifiers):
13841         * events.h:
13842         * events.h (struct key_data):
13843         * events.h (struct button_data):
13844         * events.h (struct misc_user_data):
13845         * frame-x.c (Fcde_start_drag_internal):
13846         * frame-x.c (Foffix_start_drag_internal):
13847         * gpmevent.c (Freceive_gpm_event):
13848         * keymap.c:
13849         * keymap.c (bucky_sym_to_bucky_bit):
13850         * keymap.c (control_meta_superify):
13851         * keymap.c (make_key_description):
13852         * keymap.c (keymap_lookup_directly):
13853         * keymap.c (create_bucky_submap):
13854         * keymap.c (keymap_store):
13855         * keymap.c (define_key_check_and_coerce_keysym):
13856         * keymap.c (define_key_parser):
13857         * keymap.c (define_key_alternate_name):
13858         * keymap.c (Fdefine_key):
13859         * keymap.c (raw_lookup_key_mapper):
13860         * keymap.c (struct map_keymap_unsorted_closure):
13861         * keymap.c (map_keymap_unsorted_mapper):
13862         * keymap.c (map_keymap_sort_predicate):
13863         * keymap.c (map_keymap_sorted):
13864         * keymap.c (accessible_keymaps_mapper_1):
13865         * keymap.c (where_is_recursive_mapper):
13866         * keymap.c (describe_map_mapper):
13867         * keymap.c (describe_map_sort_predicate):
13868         * keymap.c (describe_map):
13869         * keymap.c (complex_vars_of_keymap):
13870         And a number of other files, the key modifier preprocessor
13871         constants that xemacs uses have names that conflict with constants
13872         defined under MS Windows for other purposes, so they were renamed
13873         to begin with the prefix XEMACS_. The variables that hold such
13874         modifiers were changed to consistently be of type int to fix
13875         various compile warnings.
13876
13877         * console.c (complex_vars_of_console):
13878         * device.c:
13879         * device-msw.c:
13880         * device-msw.c (mswindows_finish_init_device):
13881         * device-msw.c (msw_get_workspace_coords):
13882         * device-msw.c (mswindows_device_system_metrics):
13883         and various other files, added support for a new
13884         device property called offset-workspace which returns the position
13885         of the upper left corner of the workspace area and goes along with
13886         the existing size-workspace property.
13887
13888         * dialog-msw.c:
13889         * dialog-msw.c (push_bufbyte_string_as_unicode):
13890         * dialog-msw.c (mswindows_popup_dialog_box):
13891         Added support for XEmacs-style accelerator specifications in
13892         button text.  Note: I didn't add support for this under X Windows,
13893         and somebody needs to do this.
13894
13895         * dialog.c:
13896         * dialog.c (Fpopup_dialog_box):
13897         Documented the support for accelerators that was just mentioned.
13898
13899         editfns.c (get_home_directory): Changed behavior under Windows
13900         when HOME not defined; former behavior was irretrievably broken.
13901
13902         * emacs.c:
13903         * emacs.c (main_1):
13904         * emacs.c (main):
13905         * minibuf.c (clear_echo_area_internal):
13906         * minibuf.c (echo_area_append):
13907         * print.c:
13908         * print.c (std_handle_out_external):
13909         * print.c (std_handle_out_va):
13910         * print.c (fatal):
13911         * print.c (write_string_to_stdio_stream):
13912         * print.c (output_string):
13913         * print.c (debug_print):
13914         * print.c (debug_backtrace):
13915         * print.c (debug_short_backtrace):
13916         Cleaned up the code that prints text to stdout so that this can be
13917         changed to output into a console window instead under MS Windows,
13918         as described above.
13919
13920         * eval.c:
13921         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13922         * eval.c (internal_catch):
13923         * eval.c (unwind_to_catch):
13924         * eval.c (throw_or_bomb_out):
13925         * eval.c (condition_case_1):
13926         * eval.c (signal_1):
13927         * eval.c (check_error_state_sanity):
13928         * eval.c (call_with_suspended_errors_1):
13929         * eval.c (call_with_suspended_errors):
13930         * eval.c (reinit_vars_of_eval):
13931         Added code to catch throw loops and check for a pesky bug that may
13932         be gone now.
13933
13934         * event-msw.c:
13935         * event-msw.c (key_needs_default_processing_p):
13936         * event-msw.c (mswindows_wnd_proc):
13937         * event-msw.c (mswindows_modifier_state):
13938         * event-msw.c (emacs_mswindows_quit_p):
13939         * event-msw.c (vars_of_event_mswindows):
13940         a) Added support for using the alt key to select menu items as is
13941         standard under MS Windows.  This is controlled using the variable
13942         menu-accelerator-enabled, just like under X Windows.  There is an
13943         option on the options menu to turn this support on.  I really
13944         think that it should be on by default under Windows, but I'm not
13945         going to make this change yet.
13946
13947         b)  Added support for dynamic display size changes under Windows.
13948
13949         * event-stream.c:
13950         * event-stream.c (maybe_echo_keys):
13951         * event-stream.c (Fnext_event):
13952         * event-stream.c (command_builder_find_leaf):
13953         * event-stream.c (lookup_command_event):
13954         * event-stream.c (execute_command_event):
13955         * event-stream.c (pre_command_hook):
13956         * event-stream.c (post_command_hook):
13957         * event-stream.c (syms_of_event_stream):
13958         * event-stream.c (vars_of_event_stream):
13959         * event-stream.c (complex_vars_of_event_stream):
13960         * events.h (struct command_builder):
13961
13962         a) Tried to clean up a little bit the horribly written x-specific
13963         accelerator code that crept into this file.  I moved this code
13964         into menubar-x.c where it belongs. I also needed to move the
13965         command builder structure into the file events.h because it is
13966         accessed directly by this accelerator code.  What I didn't do, but
13967         which should be done at some point, is to properly abstract this
13968         code using device methods instead of the kludgy way that it
13969         currently hooks into the event code.
13970
13971         b) Added the lisp variables this-command-properties and
13972         last-command- properties, which should be used to synchronize two
13973         adjacent commands in preference to playing games with the variable
13974         this-command, which is typically what happens.
13975
13976         c) Added some slightly nasty code to hook into the lisp support
13977         for shifted- motion-key selection.  This is actually necessary for
13978         somewhat complicated reasons, which are described in
13979         simple.el. (NB: I think the proper thing would be to have the code
13980         that calls the pre and post command hooks also call out to generic
13981         lisp functions in simple.el, where all built-in stuff could be
13982         added.  I will think about this more.)
13983
13984         * event-unixoid.c (poll_fds_for_input):
13985         * lread.c (readchar):
13986         * redisplay-tty.c (tty_clear_frame):
13987         * redisplay-x.c (x_get_gc):
13988         * signal.c (interrupt_signal):
13989         And a whole bunch of other files: fixed up places that printed
13990         directly to stderr to instead call the function stderr_out so that
13991         the changes I made under Windows work correctly.
13992
13993         * filemode.c (mode_string):
13994         Warning fixes.
13995
13996         * frame-msw.c:
13997         * frame-msw.c (mswindows_size_frame_internal):
13998         Fixed the computation of frame size and position to keep the frame
13999         within the workspace area, rather than within the physical
14000         dimensions of the screen, so that the frame doesn't overlap window
14001         manager decorations, such as the start menu and toolbar, typically
14002         at the bottom of the screen.
14003
14004         * frame.c (vars_of_frame):
14005         Changed the default frame title format under MS Windows to consist
14006         of buffername-XEmacs, which is standard under MS Windows.  I think
14007         it might be a good idea to change this everywhere because I think
14008         it is superior to the current frame title format, but this is the
14009         kind of change that is likely to cause some people to get annoyed,
14010         so I'm not making it.
14011
14012         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
14013
14014         * gui-msw.c (mswindows_handle_gui_wm_command):
14015         Fixed compile warnings.
14016
14017         * gui-x.c:
14018         * gui-x.c (strdup_and_add_accel):
14019         * gui-x.c (button_item_to_widget_value):
14020         * gui-x.h:
14021         Added code to automatically put an accelerator onto the beginning
14022         of menu items that don't have one as is now the standard, and is
14023         described more later.  Also fixed things so that the menu item
14024         name can be an evaluated expression, again a new standard.
14025
14026         * gui.c:
14027         * gui.c (gui_item_add_keyval_pair):
14028         * gui.c (make_gui_item_from_keywords_internal):
14029         * gui.c (gui_add_item_keywords_to_plist):
14030         * gui.c (gui_item_accelerator):
14031         * gui.c (gui_name_accelerator):
14032         * gui.c (gui_item_included_p):
14033         * gui.c (gui_item_display_flush_left):
14034         * gui.c (gui_item_display_flush_right):
14035         * gui.c (parse_gui_item_tree_item):
14036         * gui.c (parse_gui_item_tree_children):
14037         * gui.c (parse_gui_item_tree_list):
14038         Mule-ized.  Cleanup.  GCPRO addition.
14039
14040         * line-number.c (buffer_line_number):
14041         * lisp.h:
14042         * lisp.h (EMACS_INT_MAX):
14043         Added the manifest constant EMACS_INT_MIN corresponding to the
14044         existing constant EMACS_INT_MAX.  This is partially to fix compile
14045         warnings under Windows, and partly for cleanliness.
14046
14047         * menubar-msw.c:
14048         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
14049         * menubar-msw.c (msw_translate_menu_or_dialog_item):
14050         * menubar-msw.c (displayable_menu_item):
14051         * menubar-msw.c (populate_menu_add_item):
14052         * menubar-msw.c (populate_or_checksum_helper):
14053         * menubar-msw.c (populate_menu):
14054         * menubar-msw.c (update_frame_menubar_maybe):
14055         * menubar-msw.c (prune_menubar):
14056         * menubar-msw.c (msw_char_is_accelerator):
14057         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
14058         * menubar-msw.c (mswindows_handle_wm_command):
14059         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
14060         * menubar-msw.c (mswindows_handle_wm_initmenu):
14061         * menubar-msw.c (mswindows_update_frame_menubars):
14062         * menubar-msw.c (mswindows_free_frame_menubars):
14063         * menubar-msw.c (mswindows_popup_menu):
14064         Fixed a bug in handling accelerators where an extra character
14065         would be displayed in the menu item.  Also generalized the
14066         function displayable_menu_item because it is now used by the
14067         dialog box code as well.  And finally, added code in the functions
14068         that create the menubar to extract a list of accelerators for the
14069         top level menubar, which is used in the event code to determine
14070         whether a particular alt-key combination should be used to invoke
14071         a menu item, or should be passed through to access the standard
14072         XEmacs keymap binding for this key combination.
14073
14074         Much needed GCPROing.
14075
14076         * menubar-x.c:
14077         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14078         * menubar-x.c (menu_item_descriptor_to_widget_value):
14079         * menubar-x.c (restore_in_menu_callback):
14080         * menubar-x.c (x_popup_menu):
14081         * menubar-x.c (menu_move_up):
14082         * menubar-x.c (menu_move_down):
14083         * menubar-x.c (menu_move_left):
14084         * menubar-x.c (menu_move_right):
14085         * menubar-x.c (menu_select_item):
14086         * menubar-x.c (command_builder_operate_menu_accelerator):
14087         * menubar-x.c (menu_accelerator_junk_on_error):
14088         * menubar-x.c (command_builder_find_menu_accelerator):
14089         * menubar-x.c (Faccelerate_menu):
14090         * menubar.h:
14091         Moved a whole bunch of code here that was previously in
14092         event-stream.c as described above.  There is also code connected
14093         to the new standard of adding an accelerator to the beginning of
14094         menu items that don't have one as described above and below.
14095
14096         * menubar.c:
14097         * menubar.c (menu_parse_submenu_keywords):
14098         * menubar.c (Fmenu_find_real_submenu):
14099         * menubar.c (Fnormalize_menu_item_name):
14100         * menubar.c (syms_of_menubar):
14101         * menubar.c (vars_of_menubar):
14102         * menubar.c (complex_vars_of_menubar):
14103
14104         a) Cleaned up a bunch of documentation and improved it.
14105
14106         b) XEmacs now automatically adds an accelerator onto the beginning
14107         of any menu items that don't have one.  I did this because there
14108         will inevitably be some menu items on the main menubar that don't
14109         have accelerators on them because the package that adds that
14110         particular menu item hasn't yet been fixed up to have accelerators
14111         in them and it looked rather strange to have some items with and
14112         some items without accelerators, especially since even in items
14113         without accelerators, you can, at least under windows, still
14114         access the item through an accelerator corresponding to the first
14115         character in the item's name.  If people don't like this behavior,
14116         I can add a variable to turn it off optionally, but I'm not sure
14117         this is a good idea because we really do need to have accelerators
14118         on all of the menu items, and if a package doesn't like the
14119         accelerators being put on the first character, then it should put
14120         the accelerators where they belong.
14121
14122         c) I made a behavior change, which is that the descriptor that
14123         specifies the text of the menu item, which formerly was just a
14124         string, can now also be an evaluated expression.  This makes this
14125         descriptor parallel with all of the others, which could also be
14126         evaluated expressions.  This also obviates the need for the
14127         keyword :label, which was previously listed in the documentation
14128         as unimplemented, and which was for the same purpose.
14129
14130         d) GCPROing.
14131
14132         * ntproc.c:
14133         * ntproc.c (new_child):
14134         * ntproc.c (sys_spawnve):
14135         * ntproc.c (find_child_console):
14136         * ntproc.c (sys_kill):
14137         Fixed compile warnings.  By the way, this file should really go
14138         away entirely, and this will happen as soon as Kirill makes his
14139         final round of process cleanups, which affect the function
14140         call-process.
14141
14142         * process-nt.c:
14143         * process-nt.c (struct nt_process_data):
14144         * process-nt.c (find_process_from_pid):
14145         * process-nt.c (send_signal_the_nt_way):
14146         * process-nt.c (enable_child_signals):
14147         * process-nt.c (find_child_console):
14148         * process-nt.c (send_signal_the_95_way):
14149         * process-nt.c (nt_finalize_process_data):
14150         * process-nt.c (ensure_console_window_exists):
14151         * process-nt.c (nt_create_process):
14152         * process-nt.c (nt_kill_child_process):
14153         * process-nt.c (nt_kill_process_by_pid):
14154         * process-nt.c (nt_open_network_stream):
14155         * process-nt.c (vars_of_process_nt):
14156         Copied over code from Emacs 20.5 to correctly send signals to sub-
14157         processes under Windows 95.  Also added code to automatically
14158         create and hide console window when a sub-process is created under
14159         Windows 95, which obviates the need for the separate runemacs.exe
14160         executable, and finally implemented some variables that were
14161         implemented in Emacs 20.5, but previously not in XEmacs.  These
14162         include mswindows- start-process-share-console and
14163         mswindows-start-process-inherit-error-mode. (Both of these only
14164         apply to Windows 95.)
14165
14166         * regex.c (regex_compile): Fixed a compile warning.
14167
14168         * select-msw.c:
14169         * select-msw.c (mswindows_own_selection):
14170         * select-msw.c (mswindows_get_foreign_selection):
14171         * select-msw.c (mswindows_disown_selection):
14172         * select-msw.c (console_type_create_select_mswindows):
14173         * select-msw.c (syms_of_select_mswindows):
14174         Cleaned up the file and implemented the device method
14175         selection_exists_p, which had accidentally been left out.  Also
14176         removed four lisp functions that were remnants from before the
14177         time when the selection code was properly device abstracted.
14178         These functions are no longer needed because there are generic
14179         equivalents, and because they were added recently and don't exist
14180         in FSF Emacs, I don't think there's any problem with just deleting
14181         them.
14182
14183         * sysdep.c:
14184         * sysdep.c (sys_subshell):
14185         Fixed a compile warning, although in this case there's probably
14186         something wrong with this code, and it ought to be looked into
14187         more thoroughly by somebody who understands it.
14188
14189         * window.c:
14190         * window.c (Fwindow_text_area_height):
14191         * window.c (Fwindow_width):
14192         * window.c (Fwindow_full_width):
14193         * window.c (Fwindow_pixel_width):
14194         * window.c (debug_print_window):
14195         * window.c (syms_of_window):
14196         Added functions window-text-area-height and window-full-width,
14197         which are functions for returning various width and height
14198         characteristics of a window. (One of these functions is necessary
14199         for making the file dialog box work correctly, and the other one
14200         was added for completeness.)  Also added a table to the
14201         documentation for window-height which describes the entire scheme
14202         for accessing width and height characteristics of a window.
14203
14204 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14205
14206         * nt.c (fstat): Added a comment for another problem with
14207         non-encapsulated [f]stat(), reported by Adrian Aichner
14208         <aichner@ecf.teradyne.com>.
14209
14210 2000-03-11  Andy Piper  <andy@xemacs.org>
14211
14212         * window.c (make_dummy_parent): initialize subwindow instance
14213         cache.
14214         (Fset_window_configuration): zero extent_modiff.
14215
14216 2000-03-10  Andy Piper  <andy@xemacs.org>
14217
14218         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14219         more changes can be triggered.
14220         (Fredisplay_frame): ditto.
14221         (Fredraw_device): ditto.
14222         (Fredisplay_device): ditto.
14223         (redisplay_frame): make non-static.
14224         (redisplay_frame): call update_frame_gutter_geometry outside of
14225         display proper.
14226
14227         * gutter.h: declare update_frame_gutter_geometry.
14228
14229         * redisplay.h: declare redisplay_frame.
14230
14231         * gutter.c (update_frame_gutter_geometry): move geometry changes
14232         in update_frame_gutters here. Geometry changes can only occur
14233         outside of redisplay.
14234         (update_frame_gutters): remove geometry change code.
14235         (Fredisplay_gutter_area): make sure that we are in display when we
14236         update and that we have flushed any size changes.
14237
14238 2000-03-11  Andy Piper  <andy@xemacs.org>
14239
14240         * alloc.c (pdump_dump_data): remove i & count shadows.
14241
14242 2000-02-27  Mike Alexander  <mta@arbortext.com>
14243
14244         * sysdep.h: Declare pdump_read_file
14245
14246         * sysdep.c (pdump_read_file): New function
14247
14248         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14249         dump data
14250
14251 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14252
14253         * lrecord.h: add `lrecord_type_pgsetenv'.
14254
14255 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14256
14257         * symsinit.h: declare (vars|syms)_of* functions.
14258         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14259
14260 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14261
14262         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14263
14264         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14265         GCCs.
14266
14267         * emacs.c (main_1): Call postgres initialization code.
14268
14269         * postgresql.h: New file.  PostgreSQL RDBMS support.
14270         * postgresql.c: New file.
14271
14272 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14273
14274         * redisplay-output.c (redisplay_output_display_block): Disable
14275         redundant code.
14276
14277 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14278
14279         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14280         (Fcanna_henkan_next): Ditto.
14281         (Fcanna_bunsetu_henkou): Ditto.
14282         (Fcanna_henkan_kakutei): Ditto.
14283         (Fcanna_henkan_end): Ditto.
14284         (Fcanna_henkan_quit): Ditto.
14285         (Fcanna_henkan_next): Set retun value correctly.
14286         (c2mu): Use unsigned char instead of signed char.
14287
14288 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14289
14290         * emacs.c (main_1): Always call syms_of_gui.
14291         * inline.c: include gui.h
14292
14293 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14294
14295         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14296         converted to Lisp_Object.
14297         (Qtop_bottom): New variable.
14298         (syms_of_redisplay): Initialize it.
14299         * redisplay.h (Vvisible_bell): Ditto.
14300         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14301         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14302         only flash top and bottom.
14303
14304 2000-03-08  Andy Piper  <andy@xemacs.org>
14305
14306         * buffer.c (Frename_buffer): record new buffer name the right way.
14307
14308 2000-03-08  Andy Piper  <andy@xemacs.org>
14309
14310         * glyphs.c (update_subwindow): increase hash depth so that widget
14311         items get picked up properly.
14312
14313         * redisplay-output.c (compare_runes): increase hash depth so that
14314         widget items get picked up properly.
14315
14316 2000-03-08  Andy Piper  <andy@xemacs.org>
14317
14318         * gutter.c (output_gutter): add some debug.
14319
14320         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14321         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14322         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14323
14324         * redisplay-output.c (compare_runes): use display_hash to
14325         determine if glyphs really are not the same.
14326
14327         * glyphs.c (update_subwindow): check display_hash to see if
14328         anything really needs to be updated. If not then do
14329         nothing. Record the display_hash after updating.
14330         (image_instance_equal): compare the image_instance face also.
14331
14332 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14333
14334         * redisplay.h: Fix comment style.
14335
14336 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14337
14338         * consle-msw.h (struct mswindows_frame):
14339         Added new member paint_pending to indicate whether a WM_PAINT
14340         magic event has been queued for this frame.
14341
14342         * event-msw.c (mswindows_drain_windows_queue):
14343         Don't queue a WM_PAINT magic event if one is already queued.
14344         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14345
14346         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14347
14348 2000-03-07  Didier Verna  <didier@xemacs.org>
14349
14350         * dired.c: #include `regex.h' after `sysfile.h'.
14351
14352 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14353
14354         * sound.c (init_nas_sound): Fix compiler warning.
14355
14356         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14357         (FREE_STRUCT_P):
14358         (MARK_STRUCT_AS_FREE):
14359         (MARK_STRUCT_AS_NOT_FREE):
14360         Make `gcc -fstrict-aliasing' work properly.
14361
14362 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14363
14364         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14365         (mswindows_delete_device): Call CoUnnitialize().
14366
14367         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14368
14369 2000-02-25    <CraigL@DyCon.com>
14370
14371         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14372         <errno.h>.
14373
14374         * sysdep.c: This extern declaration for environ prevents MinGW
14375         from finding the variable in CRTDLL.DLL.
14376
14377         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14378         windows headers.
14379         (SHGFI_EXETYPE): ..
14380         (WM_MOUSEWHEEL): ..
14381         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14382         definitions.
14383         (MMRESULT): Removed, now defined in cygwin's windows headers.
14384         (TIMECAPS): ..
14385         (uid_t,gid_t,pid_t,ssize_t): ..
14386         (_timeb): Removed, MinGW defines both _timeb and timeb.
14387         (HAVE_H_ERRNO): Added.
14388         (HAVE_TZNAME): Added, configure is not detecting this.
14389
14390 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14391
14392         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14393         * syntax.c (syntax_match): Use it.
14394
14395         * cmds.c: Import auto-fill-chars from FSF Emacs.
14396         (Vauto_fill_chars): New variables.
14397         (internal_self_insert): Check Vauto_fill_chars.
14398         (vars_of_cmds):
14399         Declare auto-fill-chars as a Lisp variable and initialize it.
14400
14401 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14402
14403         * fileio.c (Fmake_symbolic_link):
14404         (Ffile_symlink_p):
14405         Run handlers even if local machine doesn't have symlinks.
14406
14407 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14408
14409         * event-msw.c (mswindows_drain_windows_queue):
14410         Don't generate paint magic events for non-XEmacs frames.
14411
14412 2000-03-05  Andy Piper  <andy@xemacs.org>
14413
14414         * redisplay.c (redisplay_frame): generate_displayable_area and
14415         friends assumes that we are not in GC, we therefore have to make
14416         sure that this doesn't happen.
14417
14418         * gutter.c (calculate_gutter_size): generate_displayable_area
14419         assumes that we are not in GC, we therefore have to make sure that
14420         this doesn't happen.
14421
14422 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14423
14424         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14425
14426 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14427
14428         * redisplay.c (regenerate_window): Make sure we set a sane value
14429         for end_pos even if we jump out of the loop.
14430         (regenerate_window): Answer Ben's question :-).
14431         (start_end_of_last_line): Add may_error argument.
14432         (start_of_last_line):
14433         (end_of_last_line): Pass may_error = 0.
14434         (end_of_last_line_may_error): New function.
14435         (pixel_to_glyph_translation): Use it, so we don't crash in
14436         event_to_glyph.
14437
14438 2000-03-04  Andy Piper  <andy@xemacs.org>
14439
14440         * window.h (struct window): add gutter_extent_modiff.
14441
14442         * window.c (allocate_window): zero out gutter_extent_modiff.
14443
14444         * redisplay.h: declare sync_display_line_structs.
14445
14446         * redisplay.c (add_glyph_rune): add a better comment.
14447
14448         * redisplay-output.c (sync_display_line_structs): made non-static.
14449         (compare_runes): remove unneccesary glyph cachel access.
14450
14451         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14452
14453         * gutter.c (output_gutter): don't output the gutter if extent
14454         changes only involve extents in buffers. use 4 sets of display
14455         lines.
14456         (gutter_extent_signal_changed_region_maybe): new function. Mark
14457         extents in gutters as changed.
14458         (update_frame_gutters): use 4 sets of display lines.
14459         (reset_gutter_display_lines): ditto.
14460         (free_frame_gutters): ditto.
14461         (redraw_exposed_gutter): force output of gutters.
14462
14463         * frame.h (struct frame): add 4 sets of gutter display lines.
14464
14465         * extents.c: (extent_changed_for_redisplay): signal changes to
14466         extents in strings in the gutter as well as extents in buffers.
14467
14468 2000-03-02  Andy Piper  <andy@xemacs.org>
14469
14470         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14471
14472         * frame.c (Fmake_frame): make sure the gutters get initialized
14473         after the frame is visible.
14474         (set_frame_selected_window): re-arrange compilation macros a
14475         little.
14476         (change_frame_size_1): mark gutters changed.
14477
14478         * device.c (Fset_device_class): mark gutters changed.
14479
14480 2000-03-01  Andy Piper  <andy@xemacs.org>
14481
14482         * window.c (window_top_frame_gutter_height): deleted.
14483         (window_bottom_frame_gutter_height): ditto.
14484         (window_left_frame_gutter_height): ditto.
14485         (window_right_frame_gutter_height): ditto.
14486         (window_top_gutter_height): don't use them.
14487         (window_bottom_gutter_height): ditto.
14488         (window_left_gutter_width): ditto.
14489         (window_right_gutter_width): ditto.
14490         (Fsplit_window): ditto.
14491         (Fwindow_pixel_edges): don't use border dimensions here.
14492
14493         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14494         (update_scrollbar_instance): ditto.
14495
14496         * redisplay.c (generate_modeline): don't take gutters into account.
14497         (generate_modeline): ditto.
14498         (redisplay_frame): small gutter display optimization.
14499
14500         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14501
14502         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14503         gutters into account.
14504
14505         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14506         for window position and type.
14507
14508         * gutter.c (get_gutter_coords): fix for frame gutters.
14509         (update_frame_gutters): update frame geometry if the gutters have
14510         changed.
14511         (init_frame_gutters): record current gutter geometries.
14512
14513         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14514         var.
14515         (mswindows_widget_instantiate): ditto.
14516
14517         * frame.h (struct frame): add current_gutter_bounds.
14518
14519         * frame.c (change_frame_size_1): position window and minibuffer
14520         appropriately taking into account the frame gutters.
14521
14522         * frame-x.c: (x_initialize_frame_size): take into account the
14523         frame gutters.
14524
14525 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14526
14527         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14528
14529 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14530
14531         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14532
14533 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14534
14535         * file-coding.c (reset_decoding_stream): Clear previous
14536         detection state when autodetect.
14537
14538 2000-02-29  Didier Verna  <didier@xemacs.org>
14539
14540         * extents.c (set_extent_glyph_1): don't require extents to be
14541         attached.
14542
14543 2000-02-27  Andy Piper  <andy@xemacs.org>
14544
14545         * gutter.c (Fset_default_gutter_position): don't default left and
14546         right gutter visibility to t.
14547         (Fset_default_gutter_position): run
14548         default-gutter-position-changed-hook.
14549         (syms_of_gutter): add default-gutter-position-changed-hook.
14550
14551 2000-02-26  Andy Piper  <andy@xemacs.org>
14552
14553         * specifier.c (Fmake_specifier): add gutter references.
14554
14555         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14556
14557         * lisp.h: declare Fvalid_plist_p.
14558
14559         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14560         as changed.
14561         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14562         well as its visibility so that it gets reconstructed.
14563         (construct_window_gutter_spec): new function. Construct a string
14564         to be displayed in the gutter from a plist of strings. Take care
14565         to only use elements that are declared as visible.
14566         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14567         WINDOW_GUTTER.
14568         (gutter_validate): allow plists of strings in the specifier.
14569         (gutter_specs_changed): construct the real_gutter from the gutter
14570         specs using construct_window_gutter_spec.
14571         (gutter_visible_validate): gutter-visible is a new specifier type.
14572         (Fgutter_visible_specifier_p): new function for the new specifier.
14573         (syms_of_gutter): declare gutter-visible and
14574         Fgutter_visible_specifier_p.
14575         (specifier_type_create_gutter): intitalize new gutter-visible
14576         specifier.
14577         (reinit_specifier_type_create_gutter): ditto.
14578         (specifier_vars_of_gutter): use new specifier type for gutter
14579         visibility.
14580         (init_frame_gutters): construct real_gutter correctly.
14581         (Fgutter_specifier_p): beef up documentation.
14582         (Fgutter_size_specifier_p): ditto.
14583
14584         * winslots.h: add real_gutter slots.
14585
14586 2000-02-25  Andy Piper  <andy@xemacs.org>
14587
14588         * device-msw.c: Be kind to older cygwin versions. From Raymond
14589         Toy <toy@rtp.ericsson.se>.
14590
14591         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14592         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14593
14594 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14595
14596         * elhash.c (MARK_OBJ): Practice macro hygiene.
14597
14598 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14599
14600         * miscplay.c: s/__inline__/inline/g;
14601         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14602         (get_device_compdc): INLINE ==> static inline
14603         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14604         find -name '*.h' | \
14605         xargs global-replace \
14606         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14607
14608 2000-02-25  Andy Piper  <andy@xemacs.org>
14609
14610         * window.c (window_top_frame_gutter_height): new function.
14611         (window_top_window_gutter_height): ditto.
14612         (window_top_gutter_height): use them.
14613         (window_bottom_frame_gutter_height): new function.
14614         (window_bottom_window_gutter_height): ditto.
14615         (window_bottom_gutter_height): use them.
14616         (window_left_window_gutter_width): new function.
14617         (window_left_frame_gutter_width): ditto.
14618         (window_left_gutter_width): use them.
14619         (window_right_window_gutter_width): new function.
14620         (window_right_frame_gutter_width): ditto.
14621         (window_right_gutter_width): use them.
14622         (window_pixel_height): new function. calulate window pixel height
14623         with frame gutter involvement.
14624         (Fsplit_window): calculate new sizes taking frame gutters into
14625         account.
14626         (window_char_height_to_pixel_height): don't include frame gutters.
14627         (window_char_height): use window_pixel_height.
14628         (window_pixheight): rename from window_pixel_height.
14629         (change_window_height): use it.
14630         (window_pixel_height_to_char_height): don't include frame gutters.
14631         (window_char_width_to_pixel_width): ditto.
14632
14633 2000-02-25  Andy Piper  <andy@xemacs.org>
14634
14635         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14636         if it is.
14637
14638 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14639
14640         * alloc.c (staticpro):
14641         (staticpro_nodump):
14642         (dumpstruct):
14643         (dumpopaque):
14644         (pdump_wire):
14645         (pdump_wire_list):
14646         (compact_string_chars):
14647         (pdump_dump_wired):
14648         Convert:  if (foo) abort();  ==>  assert (! foo);
14649
14650         * eldap.c (Fldap_search_basic):
14651         (Fldap_add):
14652         (Fldap_modify):
14653         (Fldap_delete):
14654         Fix compiler warnings, and possible crashes if (random) return
14655         value were to be used.
14656
14657 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14658
14659         * device-msw.c: Workaround ResetDC failure.
14660
14661         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14662         applying a devmode.
14663
14664         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14665         (mswindows_text_width): Do not start printer page.
14666
14667         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14668
14669         * glyphs-msw.c: Added image methods to msprinter console and
14670         msprinter-specific image instantiation.
14671
14672 2000-02-20  Mike Alexander  <mta@arbortext.com>
14673
14674         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14675         to avoid crashes when selection-sets-clipboard is on
14676         (mswindows_own_selection): ditto
14677
14678 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14679
14680         * glyphs-msw.c:
14681         * redisplay-msw.c (get_frame_dc):
14682         (get_frame_compdc):
14683         * console-msw.h:
14684         * device-msw.c (mswindows_init_device):
14685         (mswindows_delete_device):
14686         (msprinter_init_device):
14687         (msprinter_delete_device):
14688         * frame-msw.c (mswindows_init_frame_1):
14689         (mswindows_delete_frame):
14690         (msprinter_init_frame_3):
14691         (msprinter_delete_frame): Move compatible DC to device object from
14692         frame object, for both mswindows and msprinter. Only one at a time
14693         is needed, it is a real waste to have one per frame!
14694
14695 2000-02-23  Andy Piper  <andy@xemacs.org>
14696
14697         * glyphs.c: add dynamic width and height elements.
14698         (image_instance_equal): ditto.
14699
14700         * glyphs-widget.c (widget_query_geometry): calculate width and
14701         height dynamically if required.
14702         (initialize_widget_image_instance): initialize dynamic dimensions.
14703         (widget_instantiate): pick-up dynamic dimensions.
14704
14705         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14706         dynamic determination. Add appropriate macros.
14707
14708         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14709         dimensions safe.
14710         (WINDOW_GUTTER_SIZE): ditto.
14711         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14712
14713         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14714         inline.
14715         (get_frame_dc): ditto.
14716
14717         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14718         here.
14719
14720 2000-02-23  Martin Buchholz <martin@xemacs.org>
14721
14722         * XEmacs 21.2.31 is released.
14723
14724 2000-02-22  Ben Wing <ben@xemacs.org>
14725
14726         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14727
14728 2000-02-22  Andy Piper  <andy@xemacs.org>
14729
14730         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14731
14732 2000-02-21  Mike Sperber <mike@xemacs.org>
14733
14734         * .dbxrc:
14735         * .gdbinit:
14736         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14737         variables.
14738
14739 2000-02-21  Mike Sperber <mike@xemacs.org>
14740
14741         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14742
14743 2000-02-21  Martin Buchholz <martin@xemacs.org>
14744
14745         * XEmacs 21.2.30 is released.
14746
14747 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14748
14749         Performance hacking.
14750         * *.c (syms_of_*):
14751         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14752         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14753         * emacs.c (main_1):
14754         * lisp.h (DEFUN):
14755         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14756         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14757         * symeval.h (DEFVAR_SYMVAL_FWD):
14758         * symbols.c (guts_of_unbound_marker):
14759         Make all c_readonly objects also lisp_readonly and marked for life.
14760         * lrecord.h (struct lrecord_implementation):
14761         Document flags better.
14762         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14763         * lrecord.h (DECLARE_LRECORD):
14764         * lrecord.h (XSETRECORD):
14765         * lrecord.h (RECORDP):
14766         * lrecord.h (RECORD_TYPEP):
14767         * lrecord.h (RECORD_MARKER): New.
14768         * lrecord.h (error_check_*):
14769         * lrecord.h (CONCHECK_NONRECORD):
14770         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14771         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14772         * lrecord.h (set_lheader_implementation):
14773         * lrecord.h (enum lrecord_type): New.
14774         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14775         * alloc.c (disksave_object_finalization_1):
14776         * alloc.c (mark_object):
14777         * alloc.c (lrecord_type_index):
14778         * alloc.c (tick_lcrecord_stats):
14779         * alloc.c (Fgarbage_collect):
14780         * alloc.c (init_alloc_once_early):
14781         * alloc.c (pdump_load):
14782         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14783         * alloc.c (lrecord_type_index): Delete.
14784         Make lisp object type indexes be constant.
14785           Makes (byte-compile) 5% faster.
14786         Put all marker functions into their own array.
14787           Makes (garbage-collect) 5% faster.
14788         Optimize SYMBOL_VALUE_MAGIC_P.
14789           Makes (byte-compile) 2-3% faster.
14790         * config.h.in (gc_checking_assert): New.
14791         * alloc.c: Use gc_checking_assert().
14792         * .dbxrc: Make compatible with new object type implementation.
14793         * .gdbinit: Make compatible with new object type implementation.
14794         * alloc.c: Delete all symbols defined only for debugging, such as
14795         Lisp_Type_Vector and lrecord_charset.
14796
14797 2000-02-21  Andy Piper  <andy@xemacs.org>
14798
14799         * gui-msw.c (Fmswindows_shell_execute): fix file location
14800         problems.
14801
14802         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14803         unshowing so that set_window_buffer doesn't undo
14804         kill_buffer_hook's hard work.
14805
14806         * glyphs-widget.c (tab_control_query_geometry): don't count the
14807         first item when calculating geometry.
14808
14809         * glyphs.c (map_subwindow): remove redundant code.
14810         (update_frame_subwindows): be more circumspect about when to
14811         update subwindows.
14812
14813         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14814         when items haven't changed. Update faces if faces have changed as
14815         well as just the widget face.
14816         (x_tab_control_update): Update faces if faces have changed as well
14817         as just the widget face.
14818
14819 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14820
14821         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14822         registration.
14823         (build_syscolor_string): Use mswindows_color_to_string to try to
14824         get a named color.
14825         (mswindows_device_system_metrics): Reverse the foreground and
14826         background colors so that they match the documentation.
14827
14828         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14829         they match the default Windows palette.
14830         (mswindows_color_to_string): New function.
14831
14832 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14833
14834         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14835
14836 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14837
14838         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14839         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14840
14841         * symbols.c (init_symbols_once_early): Removed obsolete
14842         DATA_SEG_BITS related kludge.
14843         (defvar_magic): Ditto.
14844
14845         * malloc.c: Removed obsolete DATA_SEG_BITS
14846         * ralloc.c: Ditto.
14847         * mem-limits.h: Ditto.
14848
14849         * Makefile.in.in: Removed obsolete HAVE_SHM
14850         * emacs.c: Ditto.
14851
14852 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14853
14854         *  device-msw.c (mswindows_delete_device): Free DDE string
14855         handles.
14856
14857 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14858
14859         * keymap.c (get_keyelt):
14860         * unexnt.c (unexec):
14861         * vm-limit.c (memory_warnings):
14862         * ntheap.c (recreate_heap):
14863         * ntheap.h (UNINIT_PTR):
14864         * select-msw.c (Fmswindows_get_clipboard):
14865         (Fmswindows_set_clipboard):
14866         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14867         * objects-msw.c:
14868         * menubar-msw.c (displayable_menu_item):
14869         * glyphs-msw.c:
14870         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14871         * sysdep.c (sys_subshell):
14872         * process-nt.c (nt_create_process):
14873         * nt.c (normalize_filename):
14874         (dostounix_filename):
14875         (unixtodos_filename):
14876         * ntproc.c (win32_executable_type):
14877         * ntplay.c (play_sound_data_1):
14878         (play_sound_file):
14879         * editfns.c (get_home_directory):
14880         * event-msw.c (struct winsock_stream):
14881         (mswindows_dde_callback):
14882         * device-msw.c (msprinter_init_device):
14883         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14884
14885         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14886         mswindows_clear_toolbar were swapped!
14887
14888         * objects-msw.c:(colormap_t):
14889         (fontmap_t):
14890         * emacs.c (struct standard_args): Fixed const jumble.
14891
14892         * glyphs-widget.c (update_widget): Fixed comparison notation.
14893
14894         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14895
14896         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14897         __declspec(noreturn) syntax.
14898
14899 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14900
14901         * eldap.c (Fldap_open):
14902         (Fldap_search_basic):
14903         (Fldap_add):
14904         (Fldap_modify):
14905         Use new coding system conversion macros.
14906
14907 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14908
14909         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14910
14911 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14912
14913         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14914         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14915
14916         * eldap.c (Qadd, Qreplace): New constant symbols
14917         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14918         interruptions by XEmacs signals
14919         Remove unnecessary calls to slow_down_interrupts and
14920         speed_up_interrupts
14921         (Fldap_search_basic): Renamed from Fldap_search_internal
14922         Added new optional parameter VERBOSE that triggers the
14923         display of progress messages
14924         Remove unnecessary calls to slow_down_interrupts and
14925         speed_up_interrupts
14926         LDAP result code analysis rewritten
14927         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14928         (syms_of_eldap): Define the new symbols and functions
14929
14930
14931 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14932
14933         * realpath.c: Determine PATH_MAX maximally portably.
14934
14935         * insdel.c (bytecount_to_charcount): Optimize.
14936         The function used to be optimized for entirely ASCII sequences.
14937         Now it is optimized for successive characters from the same
14938         charset.  This also wins big for _mostly_ ASCII sequences.
14939
14940         * fileio.c (Ffile_truename): convert return from realpath() using
14941         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14942         - Rewrite GCPROing slightly.
14943
14944         * sysdep.c (sys_open): Do filename conversion, like all other
14945         sys_* functions.  Fixes bug:
14946         (let ((file-name-coding-system 'iso-8859-2))
14947            (write-region x y latin2-name))
14948         ==> writes filename using internal encoding.
14949
14950 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14951
14952         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14953         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14954         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14955         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14956         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14957         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14958         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14959         (CONST_IF_NOT_DEBUG): Delete.
14960         * alloc.c (this_one_is_unmarkable): Delete.
14961         (mark_object): Don't check for this_one_is_unmarkable. Use the
14962         c_readonly flag instead.
14963         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14964
14965 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14966
14967         * event-msw.c (mswindows_drain_windows_queue):
14968         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14969         away redundant repaint events.
14970
14971 2000-02-17  Andy Piper  <andy@xemacs.org>
14972
14973         * redisplay.h: declare mark_redisplay_structs.
14974
14975         * redisplay.c (redisplay_window):
14976         (redisplay_frame): don't check subwindows_state_changed.
14977         (mark_redisplay): mark gutters here.
14978
14979         * glyphs.c: (instantiate_image_instantiator): always layout if we
14980         haven't done so already.
14981         (allocate_image_instance): don't mark as dirty.
14982         (update_subwindow): bind inhibit_quit.
14983
14984         * gutter.c (mark_gutters): new function.
14985
14986         * glyphs-x.c (x_update_widget): Always resize to get round a
14987         widget bug.
14988
14989         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14990         breaking absolutely everything.
14991
14992         * gutter.h: declare mark_gutters.
14993
14994 2000-02-16  Martin Buchholz <martin@xemacs.org>
14995
14996         * XEmacs 21.2.29 is released.
14997
14998 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14999
15000         * fns.c (size_bit_vector): Fix computation of the size.
15001
15002 2000-02-15  Martin Buchholz  <martin@xemacs.org>
15003
15004         * *.[ch]: Change CONST to const globally.
15005         find -name '*.[ch]' | \
15006         xargs global-replace \
15007         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
15008         - Remove vestigial references to CONST_IS_LOSING
15009
15010 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15011
15012         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
15013         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
15014         events instead of dispatching them directly.
15015         (mswindows_handle_paint): New function to do repainting.
15016         (mswindows_wnd_proc):
15017         (emacs_mswindows_handle_magic_event): Call above function.
15018
15019 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15020
15021         * objects-msw.c (mswindows_create_font_variant): Return the new
15022         font handle.
15023         (initialize_font_instance): Get font metrics from the underlined
15024         variant of the font to cope with the case where the underlined
15025         font has a bigger descent.
15026
15027 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15028
15029         * gui.c (gui_item_accelerator): Return the first underlined
15030         character in item name.
15031
15032 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15033
15034         * lisp.h: Added Qprinter.
15035
15036         * general.c (syms_of_general): Initialized it.
15037
15038         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
15039         (get_frame_dc):
15040         (get_frame_compdc): Made inline.
15041
15042         * console.h (struct console_methods): Added eject_page method.
15043
15044         * frame.h: Added FRAME_DISPLAY_P and friends.
15045         Aligned backslahes in many macros in more readable fashion.
15046         Added page_number to struct frame, and an accessor macro
15047         for it.
15048
15049         * defice.h: Added DEVICE_DISPLAY_P and friends.
15050
15051         * device.c (Fdevice_printer_p): Used these.
15052
15053         * frame.c (allocate_frame_core): Initialize page number.
15054         (Fprint_job_page_number):
15055         (Fprint_job_eject_page): Implemented.
15056
15057         * frame-msw.c (msprinter_eject_page): Added method.
15058         (msprinter_start_page): Added.
15059
15060         * window.c (Fwindow_truncated_p): Fixed docstring.
15061         (Fwindow_last_line_visible_height): Implemented.
15062
15063 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15064
15065         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15066
15067 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15068
15069         * syntax.c (scan_words): Always advance at least one character.
15070
15071 2000-02-13  Andy Piper  <andy@xemacs.org>
15072
15073         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15074         to make sure the glyph is in the cachels.
15075
15076         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15077         global image instance flag.
15078         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15079         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15080
15081         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15082         (Fset_image_instance_property): mark layout as changed.
15083         (invalidate_glyph_geometry_maybe): mark layout as changed.
15084         (glyph_width): use new NEEDS_LAYOUT macro.
15085         (glyph_ascent): ditto.
15086         (glyph_descent): ditto.
15087         (glyph_height): ditto.
15088         (image_instance_layout): mark layout as clean after laying out.
15089         (update_subwindow): don't mark layout as clean here.
15090
15091         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15092         should no longer be needed.
15093
15094         * glyphs-x.c (x_update_widget): sanitize asserts.
15095         (x_finalize_image_instance): sanitize assignment to widgets.
15096
15097         * glyphs-widget.c (widget_instantiate): don't need to clear the
15098         layout flag here.
15099
15100 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15101
15102         * sysdep.c (getcwd): Use standard prototype.
15103         * sysdep.h (getcwd): Use standard prototype.
15104
15105         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15106         (sequence, start, end).
15107         Remove redundant type checking.
15108         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15109         view of `caller-protects') to avoid a crash where the real fix was
15110         found elsewhere.
15111
15112 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15113
15114         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15115
15116         * s/sol2.h: Remove feature macro initialization.
15117
15118         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15119         (vector_hash): New.  Code from internal_hash.
15120         * lrecord.h:
15121         Fix up allocation subsystem comments.
15122
15123         * config.h.in: Add __EXTENSIONS__ for Solaris.
15124
15125         * systime.h (EMACS_GETTIMEOFDAY): New.
15126         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15127         Remove Solaris-specific code.
15128         Use void* for the (ignored) second arg for gettimeofday().
15129
15130         * elhash.c (hash_table_hash): Implement it, finally.
15131         * elhash.c:  Use hashcode_t.
15132
15133         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15134         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15135
15136         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15137         * fns.c (size_bit_vector):
15138         * alloc.c (size_vector):
15139         (make_vector_internal):
15140         (make_bit_vector_internal):
15141         (sweep_bit_vectors_1):
15142         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15143
15144 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15145
15146         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15147         Include strings.h to avoid warnings for bzero and strcasecmp.
15148
15149 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15150
15151         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15152         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15153
15154         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15155         sequence.
15156
15157 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15158
15159         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15160         use a value field instead.
15161         (symbol_value_forward_forward): Use value field.
15162         (DEFVAR_SYMVAL_FWD): Use value field.
15163         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15164         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15165         (DEFVAR_CONST_INT): Ditto.
15166         (DEFVAR_BOOL): Ditto.
15167         (DEFVAR_CONST_BOOL): Ditto.
15168         (DEFVAR_INT_MAGIC): Ditto.
15169         (DEFVAR_BOOL_MAGIC): Ditto.
15170
15171         * symbols.c (guts_of_unbound_marker): Use value field.
15172         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15173         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15174
15175         * lisp.h: Declare dumpopaque and noninteractive1.
15176
15177         * alloc.c (dumpopaque): Added.
15178         (pdump_dump_opaquevec): Added.
15179         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15180         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15181         noninteractive.
15182
15183 2000-02-10  Andy Piper  <andy@xemacs.org>
15184
15185         * glyphs.c (image_instance_layout): if the size changes, mark it
15186         as such.
15187
15188         * redisplay-output.c (redisplay_output_layout): Update the
15189         subwindow here.
15190         (redisplay_output_subwindow): ditto.
15191
15192         * glyphs.c (update_subwindow): make sure we reset flags for
15193         layouts as well as everything else.
15194
15195         * glyphs-widget.c (layout_layout): don't need to set the instances
15196         dimensions here.
15197
15198 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15199
15200         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15201         not HAVE_DLOPEN, which is a lower-level thing.
15202
15203         * .cvsignore: Ignore gmon.out
15204
15205 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15206
15207         * .cvsignore: Ignore portable dumper xemacs.dmp file
15208
15209 2000-02-09  Andy Piper  <andy@xemacs.org>
15210
15211         * redisplay-output.c (redisplay_output_layout): be more clever
15212         about when we output based on the changed flags.
15213
15214         * glyphs.h (struct image_instantiator_methods): add update_method.
15215         (struct Lisp_Image_Instance): add changed flags. Declare new
15216         macros for manipulating them.
15217
15218         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15219         (image_instance_parent_glyph): find an image_instance's parent
15220         glyph or image_instance.
15221         (image_instance_layout): mark the size as changed.
15222         (set_image_instance_dirty_p): new function. mark an image
15223         instance, plus all of its parents, as dirty.
15224         (Fset_image_instance_property): use it.
15225         (Fglyph_animated_timeout_handler): use it.
15226         (update_subwindow): call update_widget and device methods for
15227         update_subwindow. Mark all changed flags as clean.
15228         (Fresize_subwindow): mark size as changed.
15229
15230         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15231         failures.
15232         (x_update_subwindow): only resize subwindows here.
15233         (x_update_widget): new function. Update all changed properties of
15234         a widget.
15235         (x_resize_subwindow): deleted.
15236         (x_widget_set_property): deleted.
15237         (x_progress_gauge_set_property): deleted.
15238         (x_progress_gauge_update): new function. Implement recorded
15239         changes.
15240         (x_tab_control_update): ditto.
15241         (x_tab_control_set_property): deleted.
15242         (console_type_create_glyphs_x): declare new functions.
15243         (image_instantiator_format_create_glyphs_x): ditto.
15244
15245         * glyphs-widget.c (widget_set_property): mark text changed.
15246         (update_widget): new function. Update properties of a widget.
15247         (widget_instantiate): for layouts make sure we set their
15248         children's parent correctly.
15249         (tab_control_set_property): new function. Record changes that will
15250         take place under redisplay's control.
15251         (progress_gauge_set_property): ditto.
15252         (image_instantiator_progress_guage): declare new functions.
15253         (image_instantiator_tab_control): ditto.
15254
15255         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15256         now.
15257         (mswindows_update_widget): new function. Update all properties on
15258         a widget that have changed.
15259         (mswindows_button_update): new function. Update a button's set
15260         state.
15261         (mswindows_tab_control_update): new function. Update the items in
15262         a tab.
15263         (mswindows_tab_control_set_property): deleted.
15264         (mswindows_progress_gauge_update): new function. Update the
15265         progress gauge's progress.
15266         (mswindows_widget_set_property): deleted. This is all done
15267         asynchronously now.
15268         (mswindows_progress_gauge_set_property): ditto.
15269         (console_type_create_glyphs_mswindows): declare new methods.
15270         (image_instantiator_format_create_glyphs_mswindows): ditto.
15271
15272         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15273         (msprinter_set_frame_properties): ditto.
15274
15275         * console.h (struct console_methods): Add update_widget_method.
15276
15277 2000-02-09  Andy Piper  <andy@xemacs.org>
15278
15279         * gui-msw.c (Fmswindows_shell_execute): Make
15280         mswindows-shell-execute industrial strength.
15281
15282 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15283
15284         * lrecord.h: Make macro argument `props' match member function `plist'.
15285         * fns.c (Fget):
15286         * fns.c (Fput):
15287         * fns.c (Fremprop):
15288         * fns.c (Fobject_plist):
15289         * alloc.c:
15290         * symbols.c:
15291         Object property list frobbing cleanup.
15292         - Allow any lisp object (compared with `eq'), not just symbols, as
15293           keys in object plists.
15294         - Move symbol plist frobbing into symbols.c, where it belongs.
15295         - Move string plist frobbing into alloc.c, where it belongs.
15296         - Everything's an lrecord now, so no need to test for symbolp, etc.
15297         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15298
15299         * extents.c: Reorder code to remove declarations.
15300
15301         * frame.h (store_in_alist): Remove useless declaration.
15302
15303 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15304
15305         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15306         * config.h.in: Add HAVE_XCONVERTCASE.
15307
15308 2000-02-07  Andy Piper  <andy@xemacs.org>
15309
15310         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15311         it breaks many things.
15312
15313 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15314
15315         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15316         actually can start a common comment type.
15317         * src/syntax.h (SYNTAX_END_P): ditto for end.
15318
15319 2000-02-07  Martin Buchholz <martin@xemacs.org>
15320
15321         * XEmacs 21.2.28 is released.
15322
15323 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15324
15325         * event-Xt.c (x_keysym_to_character): New.
15326         (maybe_define_x_key_as_self_inserting_character): New.
15327         (x_has_keysym): New.
15328         Auto-define all keys on the keyboard as self-insert-key.
15329
15330 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15331
15332         * menubar.c (vars_of_menubar): A small code simplification.
15333
15334         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15335
15336         * ExternalShell.c:
15337         * ExternalClient.c:
15338         * EmacsShell-sub.c:
15339         * EmacsManager.c:
15340         * EmacsFrame.c:
15341         Use consistent style for specifying X resources.
15342
15343         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15344         This makes (dontusethis-set-symbol-value-handler) actually usable.
15345
15346         * lrecord.h (lrecord_decription_type):
15347         * alloc.c (pdump_register_sub):
15348         (pdump_dump_data):
15349         (pdump_reloc_one):
15350         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15351         Comply with XEmacs coding style.
15352         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15353         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15354
15355         * keymap.c (Faccessible_keymaps):
15356         Make (accessible-keymaps map "\C-h") do the Right Thing.
15357         Make (accessible-keymaps map []) do the Right Thing.
15358         Make (accessible-keymaps map "") do the Right Thing.
15359         (check_keymap_definition_loop): New function.
15360         (keymap_store_internal): Keep luser from shooting self in foot,
15361           via (define-key ctl-x-4-map "p" global-map).
15362         Remove fullness slot from struct Lisp_Keymap, since hash tables
15363         are now reliable.
15364         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15365
15366 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15367
15368         * redisplay.c (init_redisplay): Fix small memory leak.
15369         * elhash.h:
15370         * elhash.c (pdump_reorganize_hash_table):
15371         Rename from reorganize_hash_table. Change prototype.
15372         Reuse the original memory for hentries.  Save 100k.
15373         * alloc.c (PDUMP_READ): new macro.
15374         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15375         * alloc.c: No need to #ifndef before #undef.
15376
15377         * print.c: Allow debug_print() to print readably by modifying
15378         debug_print_readably.  Use consistent variable names.
15379
15380         * .dbxrc: Try to get things to work even if stopped in a function
15381         without source available by explicitly specifying source files.
15382 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15383
15384         * unexnt.c (_start): Removed bogus code which caused loading heap
15385         from differrent executable file.
15386         Removed bogus assignment to _fmode, which caused inconsistencies.
15387
15388 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15389
15390         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15391         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15392         Do not preliminary `#define signal sigset'.
15393
15394         * systime.h: Do not prototype environ on windows nt and cygwin,
15395         this conflicts with system header.
15396
15397         * syssignal.h: Use correct define for WINDOWSNT
15398
15399         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15400         with system header.
15401
15402         * sysdep.c (near start of file): Fixed commentary and rearranged
15403         ifdefs in readable order.
15404         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15405         (start_of_text):
15406         (end_of_text):
15407         (end_of_data): Do not compile in if using PDUMP.
15408
15409         * symsinit.h: Prototyped vars_of_nt().
15410
15411         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15412         (find_child_console): Use it.
15413         (sys_kill): Use it.
15414
15415         * ntheap.h: Do not extern os_subtype.
15416
15417         * ntheap.c (cache_system_info): Do not cache unneeded:
15418         nt_major_version, nt_minor_version and os_subtype.
15419         (recreate_heap): Do not compile in when PDUMPing.
15420
15421         * nt.c (geteuid and friends): Use the new varibale
15422         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15423         (init_user_info): Removed the above mentioned hackery.
15424         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15425         stat has been fixed in the C runtime.
15426         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15427
15428         * file-coding.c (struct file_coding_dump): Do not define
15429         ucs_to_mule_table in the struct if not MULE.
15430         (struct struct lrecord_description fcd_description_1): Do not dump
15431         the above.
15432
15433         * emacs.c (main_1): Call vars_of_nt().
15434         (right before Fdump_emacs_data): Don't need lastfile if using both
15435         portabe dumper and system malloc.
15436
15437         * alloc.c (Fmemory_limit): Conditionalized out.
15438         (pdump): Use OPEN_BINARY for the portable dump file.
15439         (pdump_load): Ditto.
15440
15441 2000-02-02  Mike Alexander  <mta@arbortext.com>
15442
15443         * nt.c (convert_time): Set tm_isdst before calling mktime and
15444         avoid calling it at all if the compiler supports 64 bit integers.
15445         Also initialize utc_base_ft before using it.
15446
15447 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15448
15449         * frame.c (change_frame_size_1): Take f->internal_border_width
15450         into consideration when calculating the width of the frame.
15451
15452 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15453
15454         * window.c (frame_min_height):
15455         (frame_size_valid_p):
15456         (frame_pixsize_valid_p): Added.
15457         (check_frame_size): Generalized.
15458
15459         * window.h: Prototyped the above.
15460
15461         * lisp.h:
15462         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15463         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15464         Deleted Vwin32_* and Vbinary_process_* unused variables.
15465
15466         * device-msw.c (msprinter_init_device): Do not get printer font
15467         list; Added DEVMODE functions.
15468
15469         * frame-msw.c: Added lots of printer code.
15470
15471         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15472         general.c.
15473
15474         * console-msw.h: Added more msprinter device private slots.
15475
15476 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15477
15478         * event-msw.c (key_needs_default_processing_p): Added.
15479         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15480
15481 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15482
15483         * glyphs.c (image_instance_layout): Mark image instance as clean
15484         after layout.
15485         (glyph_dirty_p): Removed redundant function.
15486         (invalidate_glyph_geometry_maybe): Added.
15487         (update_glyph_cachel_data): Call it.
15488
15489         * glyphs.h: Prototyped it.
15490
15491         * redisplay.c (add_glyph_rune): Call it.
15492         (redisplay_window): Reset glyphs cachels when frame faces have
15493         changed, thus forcing recomputation of built-in border glyphs.
15494
15495 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15496
15497         * Makefile.in.in: Make portable dumper and purify play well together.
15498         Add imperfect, but better than nothing, support for pdump.
15499         Remove xemacs.dmp when temacs is re-generated.
15500         Don't ignore errors when dumping xemacs.
15501
15502         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15503
15504 2000-01-28  Andy Piper  <andy@xemacs.org>
15505
15506         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15507         (setup_normal_frame): ditto.
15508         (setup_frame_without_minibuffer): ditto.
15509         (setup_minibuffer_frame): ditto.
15510         (delete_frame_internal): ditto.
15511         (Fmake_frame_invisible): ditto.
15512         (Ficonify_frame): ditto.
15513
15514         * window.h: change Fset_window_buffer signature.
15515
15516         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15517         (Fset_window_buffer): allow recording of buffer if the window is
15518         the selected window.
15519         (window_loop): Use new Fset_window signature.
15520
15521 2000-01-23  Daniel Pittman  <daniel@danann.net>
15522
15523         * config.h.in: Added template for `HAVE_ATHENA_3D'
15524
15525 2000-01-29  Andy Piper  <andy@xemacs.org>
15526
15527         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15528
15529         * gutter.c (output_gutter): Don't output if the window isn't live.
15530
15531 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15532
15533         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15534         of 01/12/00: Moved SetFocus back here where it belongs.
15535
15536 2000-01-23  Andy Piper  <andy@xemacs.org>
15537
15538         * s/cygwin32.h: declare printer things.
15539
15540 2000-01-26  Andy Piper  <andy@xemacs.org>
15541
15542         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15543         Alexander.
15544
15545 2000-01-24  Andy Piper  <andy@xemacs.org>
15546
15547         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15548         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15549
15550         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15551
15552         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15553
15554         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15555
15556         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15557         (mswindows_output_display_block): Avoid local shadows.
15558
15559         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15560         (mswindows_enqueue_mouse_button_event): ditto.
15561         (mswindows_handle_gui_wm_command): remove declaration.
15562
15563         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15564         warnings.
15565
15566         * console-msw.h: Avoid shadows.
15567         (mswindows_get_toolbar_button_text):
15568         (emacs_mswindows_create_stream_pair):
15569         (emacs_mswindows_delete_stream_pair):
15570         (mswindows_handle_toolbar_wm_command): declare.
15571
15572         * device-msw.c (build_syscolor_string): Avoid shadows.
15573
15574 2000-01-23  Andy Piper  <andy@xemacs.org>
15575
15576         * glyphs-widget.c (widget_instantiate): reverse the items for
15577         layouts so that children are in the expected order.
15578
15579 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15580
15581         * ralloc.c: safe_bcopy ==> memmove
15582         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15583         * s/msdos.h: Remove BCOPY macros.
15584         * insdel.c (gap_right): Remove BCOPY conditional code.
15585         * insdel.c (gap_left): Remove BCOPY conditional code.
15586         XEmacs demands a working ANSI C compiler - hence memmove.
15587
15588         * regex.c (regex_compile): Remove accidental use of trigraphs.
15589
15590 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15591
15592         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15593         event timestamp.
15594
15595 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15596
15597         * event-msw.c (mswindows_drain_windows_queue): Added the
15598         parameter.
15599         (mswindows_need_event): Commented the call to
15600         mswindows_drain_windows_queue().
15601         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15602         only.
15603
15604         * console-msw.h: Moved a few function prototypes here from
15605         event-msw.c.
15606
15607         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15608         parameter from unsigned short to unsigned long.
15609         (Fmswindows_shell_execute): Added return value.
15610
15611 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15612
15613         * sysdep.c (init_system_name):
15614           process-unix.c (unix_canonicalized_host_name):
15615         Don't call freeaddrinfo() if getaddrinfo() fails.
15616
15617         * process-unix.c (unix_open_unix_network_stream):
15618         Moved the code to get a port # into address loop.
15619
15620 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15621
15622         * buffer.c (reinit_vars_of_buffer):
15623         The right place to initialize conversion_in_dynarr and
15624         conversion_out_dynarr.
15625
15626         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15627
15628         * process-unix.c (unix_canonicalize_host_name): Muleize.
15629         (unix_open_network_stream): Muleize.
15630
15631         * buffer.h: Fix up prototypes for ralloc.c functions.
15632
15633 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15634         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15635         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15636                 instead of gethostbyname()
15637         * process-unix.c: In unix_canonicalize_host_name() and
15638                 unix_open_network_stream(), add code to use getaddrinfo()
15639                 instead of gethostbyname().
15640
15641 2000-01-27  Daniel Pittman <daniel@danann.net>
15642
15643         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15644         libs when built with flat Athena.
15645
15646 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15647
15648         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15649         Use coding standards for function prototypes.
15650
15651 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15652
15653         * dialog-msw.c (push_lisp_string_as_unicode):
15654         * doc.c (unparesseuxify_doc_string):
15655         * dired.c (Fuser_name_completion_1):
15656         * dired.c (Fuser_name_all_completions):
15657         * dired.c (free_user_cache):
15658         * dired.c (user_name_completion):
15659         * console-x.c (get_display_arg_connection):
15660         * minibuf.c (clear_echo_area_internal):
15661         * minibuf.c (echo_area_append):
15662         * eldap.c (Fldap_open):
15663         * eldap.c (Fldap_search_internal):
15664         * frame-x.c (x_set_frame_text_value):
15665         * frame-x.c (x_set_frame_properties):
15666         * frame-x.c (x_create_widgets):
15667         * redisplay-tty.c (term_get_fkeys_1):
15668         * objects-x.c (x_parse_nearest_color):
15669         * objects-x.c (x_valid_color_name_p):
15670         * objects-x.c (x_initialize_font_instance):
15671         * objects-x.c (x_list_fonts):
15672         * objects-x.c (x_find_charset_font):
15673         * tooltalk.c (Fadd_tooltalk_message_arg):
15674         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15675         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15676         * process-unix.c (unix_create_process):
15677         * ntproc.c (sys_spawnve):
15678         * sound.c (Fplay_sound_file):
15679         * sound.c (Fplay_sound):
15680         * buffer.c (init_initial_directory):
15681         * buffer.c (init_buffer):
15682         * editfns.c (init_editfns):
15683         * editfns.c (Ftemp_directory):
15684         * editfns.c (Fuser_full_name):
15685         * editfns.c (uncache_home_directory):
15686         * editfns.c (get_home_directory):
15687         * editfns.c (Fuser_home_directory):
15688         * editfns.c (Fformat_time_string):
15689         * editfns.c (Fcurrent_time_string):
15690         * gui-x.c (button_item_to_widget_value):
15691         * database.c (Fopen_database):
15692         * event-Xt.c (x_to_emacs_keysym):
15693         * event-Xt.c (x_event_to_emacs_event):
15694         * event-Xt.c (describe_event_window):
15695         * event-msw.c (mswindows_wnd_proc):
15696         * glyphs-eimage.c (jpeg_instantiate):
15697         * glyphs-eimage.c (gif_instantiate):
15698         * glyphs-eimage.c (png_instantiate):
15699         * glyphs-eimage.c (tiff_instantiate):
15700         * glyphs-x.c (xbm_instantiate_1):
15701         * glyphs-x.c (x_xbm_instantiate):
15702         * glyphs-x.c (x_xface_instantiate):
15703         * glyphs-x.c (autodetect_instantiate):
15704         * glyphs-x.c (cursor_font_instantiate):
15705         * glyphs-x.c (x_widget_instantiate):
15706         * glyphs-x.c (x_widget_set_property):
15707         * glyphs-x.c (x_widget_property):
15708         * glyphs-x.c (BUILD_GLYPH_INST):
15709         * print.c (write_string_to_stdio_stream):
15710         * print.c (output_string):
15711         * print.c (Falternate_debugging_output):
15712         * print.c (Fexternal_debugging_output):
15713         * glyphs-msw.c (extract_xpm_color_names):
15714         * glyphs-msw.c (mswindows_xpm_instantiate):
15715         * glyphs-msw.c (bmp_instantiate):
15716         * glyphs-msw.c (resource_name_to_resource):
15717         * glyphs-msw.c (mswindows_resource_instantiate):
15718         * glyphs-msw.c (xbm_instantiate_1):
15719         * glyphs-msw.c (mswindows_xbm_instantiate):
15720         * glyphs-msw.c (mswindows_xface_instantiate):
15721         * glyphs-msw.c (mswindows_widget_instantiate):
15722         * glyphs-msw.c (add_tree_item):
15723         * glyphs-msw.c (add_tab_item):
15724         * glyphs-msw.c (mswindows_combo_box_instantiate):
15725         * glyphs-msw.c (mswindows_widget_property):
15726         * glyphs-msw.c (mswindows_combo_box_property):
15727         * glyphs-msw.c (mswindows_widget_set_property):
15728         * console.c (stuff_buffered_input):
15729         * objects-msw.c (mswindows_initialize_color_instance):
15730         * objects-msw.c (mswindows_valid_color_name_p):
15731         * objects-msw.c (mswindows_list_fonts):
15732         * objects-msw.c (mswindows_font_instance_truename):
15733         * bytecode.c (optimize_compiled_function):
15734         * select-x.c (symbol_to_x_atom):
15735         * select-x.c (x_atom_to_symbol):
15736         * select-x.c (hack_motif_clipboard_selection):
15737         * select-x.c (selection_data_to_lisp_data):
15738         * select-x.c (lisp_data_to_selection_data):
15739         * select-x.c (Fx_get_cutbuffer_internal):
15740         * select-x.c (Fx_store_cutbuffer_internal):
15741         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15742         * buffer.h (TO_INTERNAL_FORMAT): New function.
15743         * emacs.c (make_arg_list_1):
15744         * emacs.c (make_argc_argv):
15745         * emacs.c (main_1):
15746         * emacs.c (Fdump_emacs):
15747         * emacs.c (split_string_by_emchar_1):
15748         * file-coding.h:
15749         * lisp.h:
15750         * lstream.h:
15751         * symsinit.h:
15752         * device-x.c (x_init_device):
15753         * device-x.c (Fx_valid_keysym_name_p):
15754         * device-x.c (Fx_get_font_path):
15755         * device-x.c (Fx_set_font_path):
15756         * glyphs.c (bitmap_to_lisp_data):
15757         * glyphs.c (pixmap_to_lisp_data):
15758         * alloc.c (make_ext_string): Use coding system arguments.  Update
15759         all callers.
15760         * alloc.c (build_string):
15761         * callproc.c (child_setup):
15762         * callproc.c (init_callproc):
15763         * fileio.c (lisp_strerror):
15764         * fileio.c (directory_file_name):
15765         * fileio.c (Fexpand_file_name):
15766         * fileio.c (Ffile_truename):
15767         * fileio.c (Fsysnetunam):
15768         * fileio.c (Fdo_auto_save):
15769         * sysdep.c (sys_readdir):
15770         * tests.c: New file.  Allow adding C tests.
15771         Replace GET_* macros with a more comprehensible and flexible
15772         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15773         Modify all calls.
15774         Any coding system can be used to do format conversion.
15775         Eliminate enum external_data_format.
15776         Eliminate convert_to_external_format.
15777         Eliminate convert_to_internal_format.
15778         Make sure file-name, keyboard, terminal, and ctext are always
15779         defined as coding systems or aliases.  Make
15780         file-name-coding-system, terminal-coding-system, and
15781         keyboard-coding-system magical variables that are equivalent to
15782         defining the corresponding coding system aliases.
15783
15784         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15785         * file-coding.c (Fcoding_system_alias_p): New function.
15786         * file-coding.c (Fcoding_system_aliasee): New function.
15787         * file-coding.c (append_suffix_to_symbol): New function.
15788         * file-coding.c (dangling_coding_system_alias_p): New function.
15789         * file-coding.c (Ffind_coding_system):
15790         * file-coding.c (Fcopy_coding_system):
15791         * file-coding.c (encode_coding_no_conversion):
15792         * file-coding.c (syms_of_file_coding):
15793         * file-coding.c (vars_of_file_coding):
15794         Rewrite coding system alias code.
15795         Allow nested aliases, like symbolic links.
15796         Allow redefinition of coding system aliases.
15797         Prevent existence of dangling coding system aliases.
15798
15799         * dired.c (Fuser_name_completion_1):
15800         * dired.c (Fuser_name_all_completions):
15801         A crash would happen if user did QUIT in the middle of building
15802         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15803
15804         * lisp.h:
15805         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15806
15807         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15808         an unsigned char *.  Update all callers.
15809
15810 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15811
15812         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15813
15814 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15815
15816         * elhash.c (hentry_description): Use more portable definition.
15817         (resize_hash_table): Initialize new hentries using
15818         xnew_array_and_zero, thereby simplifying the code.
15819
15820         * mule-charset.c (make_charset): Make sure entire object is
15821         initialized, to avoid Purify warnings.
15822
15823         * alloc.c (resize_string): Fix unlikely crash with big strings.
15824
15825 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15826
15827         * realpath.c (xrealpath):
15828         Don't call getwd().
15829
15830 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15831
15832         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15833
15834 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15835
15836         * unexelfsgi.c (unexec): Change the way we decide which segment
15837         should be extended.
15838
15839         Assumption that .bss section should be outside the PT_LOADable
15840         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15841         it's present) is inside the 'data' segment. This would fail the
15842         test which was used to find a segment to grow and cover new
15843         heap. Instead of this assumption, I created another one - on IRIX
15844         the segment to grow should start below .bss and it's address
15845         should extent above the end of .bss. Once this segment is
15846         identified, it's grown to accommodate the new heap and new
15847         zero-length .bss section is added at the end of .data2.
15848
15849 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15850
15851         * eval.c (Feval): Wrong number of arguments should use original
15852         function, not the indirect_function version of it.
15853
15854 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15855
15856         * glyphs-x.c (x_button_instantiate): Don't add image if
15857         it is not a pixmap.
15858         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15859         is relative.
15860
15861 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15862
15863         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15864         declaration.
15865         (DEFVAR_INT_MAGIC): Ditto.
15866         (DEFVAR_BOOL_MAGIC): Ditto.
15867         * glyphs.h: Reindent backslash.
15868
15869 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15870
15871         * glyphs-widget.c (layout_query_geometry):
15872         (layout_layout): Use correct types for gheight, gwidth.
15873
15874 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15875
15876         * EmacsManager.c (QueryGeometry): Purified.
15877
15878 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15879
15880         * alloc.c (make_float): Make sure entire object is initialized, to
15881         avoid Purify warnings.
15882         (pdump_register_sub): Remove useless assignment.
15883         (pdump): Use xmalloc, not malloc.
15884         (pdump_load): Use xmalloc, not malloc.
15885
15886 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15887
15888         * callproc.c:
15889         * dired-msw.c:
15890         * fileio.c:
15891         * process-nt.c:
15892         * redisplay-msw.c:
15893         * sysdep.c: Removed redundant #include <windows.h>
15894
15895 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15896
15897         * frame.c (delete_frame_internal): Do not delete device when its
15898         implementation so declares.
15899         (delete_frame_internal): Set device selected frame to nil when
15900         last frame goes away.
15901
15902         * device-msw.c (msprinter_device_system_metrics): Implemented.
15903         (mswindows_device_system_metrics): Added 'device-dpi property.
15904
15905         * device.c: (Fdevice_printer_p): Added.
15906         Added 'offset-workspace device metric.
15907
15908         * console.h (device_metrics): Declared DM_offset_workspace.
15909
15910 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15911
15912         * fileio.c (Ffile_truename): Remove pointless and confusing
15913         initialization of elen.
15914
15915         * glyphs-widget.c: Compiler warning fixes.
15916
15917 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15918
15919         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15920         instead of a Lisp_Object as argument to make it consistent with
15921         the other LIVE_P macros.
15922         (CHECK_LIVE_PROCESS): New macro.
15923
15924         * process.c: Declare Qprocess_live_p.
15925         (Fprocess_live_p): New function.
15926         (create_process): Use PROCESS_LIVE_P.
15927         (read_process_output): Ditto.
15928         (set_process_filter): Ditto.
15929         (Fdelete_process): Ditto.
15930         (kill_buffer_processes): Ditto
15931         (process_send_signal): Use CHECK_LIVE_PROCESS.
15932         (Fprocess_input_coding_system): Check whether process is still
15933         alive (fix PR#1061).
15934         (Fprocess_output_coding_system): Ditto.
15935         (Fprocess_coding_system): Ditto.
15936         (Fset_process_input_coding_system): Ditto.
15937         (Fset_process_output_coding_system): Ditto.
15938
15939 2000-01-23  Andy Piper  <andy@xemacs.org>
15940
15941         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15942         layout and widget.
15943
15944         * glyphs.c (mark_image_instance): take into account changed
15945         image_instance format.
15946         (image_instance_equal): ditto.
15947         (image_instance_hash): ditto.
15948
15949         * glyphs-widget.c (widget_instantiate): Incorporate layout
15950         instantiation here. Delay layout of the layout until later.
15951         (layout_instantiate): deleted.
15952         (layout_query_geometry): new function. get the geometry of a
15953         layout.
15954         (layout_layout): layout a layout dynamically.
15955         (image_instantiator_widget): New function - splitting up
15956         image_instantiator_format_create_glyphs_widget for netwinder
15957         compilation.
15958         (image_instantiator_buttons):
15959         (image_instantiator_edit_fields):
15960         (image_instantiator_combo_box):
15961         (image_instantiator_scrollbar):
15962         (image_instantiator_progress_guage):
15963         (image_instantiator_tree_view):
15964         (image_instantiator_tab_control):
15965         (image_instantiator_labels):
15966         (image_instantiator_layout): ditto.
15967         (image_instantiator_format_create_glyphs_widget): Call preceding
15968         functions.
15969
15970 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15971
15972         * process.c (Fset_process_coding_system):
15973         * device-x.c (Fx_keysym_hash_table):
15974         Docstring fixes.
15975
15976         * lstream.c (Lstream_write): Return documented value, not 0.
15977
15978         * fileio.c (directory_file_name):
15979         (Fsubstitute_in_file_name):
15980         (Fsubstitute_insert_file_contents_internal):
15981         (Fwrite_region_internal):
15982         * emacs.c:
15983         * sysdep.c:
15984         * getloadavg.c:
15985         * systty.h:
15986         Remove vestigial APOLLO-conditional code.
15987
15988 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15989
15990         * getpagesize.h: Add guard macros.
15991         * libsst.h: Add guard macros.
15992         * libst.h: Add guard macros.
15993         * line-number.h: Add guard macros.
15994         * ndir.h: Add guard macros.
15995         * sysfloat.h: Add guard macros.
15996         * sysfile.h: Add guard macros.
15997         * sysproc.h: Add guard macros.
15998         * syswait.h: Add guard macros.
15999         * xintrinsic.h: Add guard macros.
16000         * xintrinsicp.h: Add guard macros.
16001         * xmmanager.h: Add guard macros.
16002         * xmmanagerp.h: Add guard macros.
16003         * xmprimitive.h: Add guard macros.
16004         * xmu.h: Add guard macros.
16005         * gpmevent.h: Add copyright statement. Add guard macros.
16006         * miscplay.h: Add guard macros.
16007         * *.h: Use consistent C-standards-approved guard macro names.
16008
16009         * opaque.c (make_opaque): Switch parameter order.
16010         * opaque.h (make_opaque): Switch parameter order.
16011         Update all callers.
16012         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
16013
16014         * config.h.in (type_checking_assert): Added.
16015         (bufpos_checking_assert): Added.
16016
16017 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16018
16019         * alloc.c: Harmless pdump changes.
16020         - Use countof().
16021         - spell alignment correctly.
16022         * sysdep.c: Use countof()
16023
16024 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16025
16026         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
16027         initially_selected_for_input() console method, default to 0.
16028         (semi_canonicalize_console_connection): Try to delegate to
16029         canonicalize_console_connection if no such console method.
16030         (canonicalize_console_connection): Vice versa.
16031         (print_console): Do not print nil connection.
16032
16033         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
16034         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
16035         (XDEVIMPF_FRAMELESS_OK): Added.
16036         (CONSOLE_INHERITS_METHOD): Added.
16037
16038         * console-msw.c (mswindows_canonicalize_console_connection):
16039         Added.
16040         (mswindows_canonicalize_device_connection): Added.
16041
16042         * console-msw.h (struct msprinter_device): Added this struct and
16043         accessor macros.
16044         (mswindows_device): Made fontlist a lisp object.
16045
16046         * device.c (semi_canonicalize_device_connection):  Try to delegate
16047         to canonicalize_device_connection if no such console method.
16048         (canonicalize_device_connection): Vice versa.
16049         (print_device): Do not print nil connection.
16050
16051         * device-msw.c (mswindows_init_device): Call InitCommonControls
16052         when have widgets.
16053         (mswindows_delete_device): Removed fontlist deallocation.
16054         (mswindows_mark_device): Added.
16055
16056         * events.c (event_equal): Added abort() at unreached code.
16057         (event_hash): Ditto.
16058
16059         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
16060         fallback tags of Windows devices.
16061
16062         * general.c (syms_of_general): Initialized Qmsprinter.
16063
16064         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16065         of fallback tags of Windows devices.
16066
16067         * lisp.h: Declared Qmsprinter.
16068
16069         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16070         of strings.
16071         (mswindows_list_fonts): Ditto.
16072         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16073         that it can be used by both mswindows and msprinter devices.
16074         (initialize_font_instance): Added.
16075         (mswindows_initialize_font_instance): Use it.
16076         (msprinter_initialize_font_instance): Added.
16077
16078         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16079         and implementation flags check.
16080         (redisplay_without_hooks): Changed the call to the above.
16081         (Fredraw_device): Ditto.
16082         (Fredisplay_device): Ditto.
16083
16084         * redisplay-msw.c (get_frame_dc): Implemented.
16085         (get_frame_compdc): Implemented.
16086         (many functions): Use the two functions above to get device
16087         contexts, ether for a window or a printer.
16088
16089 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16090
16091         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16092         initialization here.
16093         (init_symbols_once_early): Call it.
16094         * emacs.c (main_1): Call it.
16095         * symsinit.h: Declare it.
16096
16097 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16098
16099         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16100         Lisp_Object.
16101         (pdump_backtrace): Ditto.
16102         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16103         (pdump_get_entry): Abort if trying to register a null pointer.
16104         (pdump_dump_data): Cleanup types when relocating.
16105         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16106         (pdump_dump_rtables): Remove bad casts.
16107         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16108         Lisp_Object instead of a EMACS_INT for the hashtable
16109         reorganization.
16110
16111 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16112
16113         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16114
16115         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16116
16117         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16118
16119         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16120
16121 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16122
16123         * faces.h (FACE_STRIKETHRU_P): Added.
16124
16125         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16126         of font variants.
16127
16128         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16129         (mswindows_set_dc_font): New function, aware of font variants,
16130         separated from mswindows_update_dc.
16131
16132         * objects-msw.h (struct mswindows_font_instance_data): Added
16133         definition.
16134
16135         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16136         cached fonts and the data structure.
16137         (mswindows_initialize_font_instance): Added creation of font data
16138         structure.
16139         (mswindows_print_font_instance): Print at least something.
16140         (mswindows_create_font_variant): Implemented.
16141         (mswindows_get_hfont): Implemented.
16142
16143 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16144
16145         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16146         prototyping problem with msvc.
16147
16148         * emacs.c (main_1): added syms_of_gui_mswindows() call
16149
16150         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16151         syms_of_gui_mswindows() function
16152
16153         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16154
16155 2000-01-18  Martin Buchholz <martin@xemacs.org>
16156
16157         * XEmacs 21.2.27 is released.
16158
16159 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16160
16161         * glyphs-eimage.c (struct tiff_error_struct):
16162         (tiff_error_func):
16163         (tiff_warning_func):
16164         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16165
16166         * unexmips.c:
16167         * unexhp9k3.c:
16168         * unexfreebsd.c:
16169         * unexec.c: Remove vestigial Lucid C code.
16170         * unexalpha.c:
16171         * unexaix.c:
16172         * termcap.c:
16173         * libsst.c: Ansify.
16174         Remove declarations of errno and strerror().
16175
16176         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16177
16178         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16179
16180 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16181
16182         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16183         Optimize.
16184
16185 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16186
16187         * md5.c:
16188         * file-coding.c:
16189         * file-coding.h:
16190         Change enum eol_type to eol_type_t.
16191
16192 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16193
16194         * gui.c (get_gui_callback): Check cons before accessing car.
16195
16196 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16197
16198         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16199         (XSETSPECIFIER_TYPE): Ditto.
16200
16201 2000-01-17  Didier Verna  <didier@xemacs.org>
16202
16203         * redisplay.c (generate_fstring_runes): compute string size in
16204         characters, not bytes.
16205
16206 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16207
16208         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16209
16210 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16211
16212         * print.c (print_error_message): Call print_prepare().
16213
16214 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16215
16216         * .dbxrc: Renamed from dbxrc.
16217
16218         * events.c (event_to_character):
16219         Use `assert (foo)' instead of `if (!foo) abort()'
16220
16221         * .gdbinit (xtype): Add documentation.
16222         * .gdbinit (check-temacs): New function.
16223         * .gdbinit (check-xemacs): New function.
16224         * dbxrc (check-xemacs): New function.
16225         * dbxrc (check-xemacs): New function.
16226
16227 2000-01-14  Andy Piper  <andy@xemacs.org>
16228
16229         * glyphs-widget.c (widget_query_geometry): Make sure that we
16230         calculate default dimensions correctly.
16231
16232 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16233
16234         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16235
16236         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16237         pdump_wire'd variable.
16238
16239         * emacs.c: (main_1): Conditionalized calls to
16240         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16241
16242 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16243
16244         * window.c (Fset_window_configuration):
16245         * sysdep.c (_start):
16246         * input-method-motif.c (res):
16247         * event-Xt.c (Xt_process_to_emacs_event):
16248         Simple compiler warning fixes.
16249
16250         * bytecode.c (funcall_compiled_function): Use the original
16251         function symbol on the backtrace list in preference to the
16252         compiled_function object in error messages.
16253
16254 2000-01-13  Andy Piper  <andy@xemacs.org>
16255
16256         * glyphs-x.c (update_widget_face): Make sure we update the widget
16257         background as well as foreground.
16258
16259 2000-01-13  Andy Piper  <andy@xemacs.org>
16260
16261         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16262         fields to subwindow.
16263         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16264         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16265         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16266         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16267
16268         * glyphs-widget.c (check_valid_tab_orientation): new function.
16269         (initialize_widget_image_instance): zero orientation and
16270         justification.
16271         (widget_instantiate): pick up orientation.
16272         (tab_control_query_geometry): return appropriate values for
16273         vertical tabs.
16274
16275         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16276         appropriate creation flags for left, right and bottom tabs.
16277
16278         * s/cygwin32.h: add tab definitions.
16279
16280 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16281
16282         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16283         frame upon hiding a subwindow.
16284         (mswindows_button_instantiate): Changed the push button style to
16285         BS_PUSHBUTTON.
16286         (mswindows_button_instantiate): Removed button BS_NOTIFY
16287         style.
16288         (mswindows_button_instantiate): Removed redundant check for
16289         a disabled gui item.
16290         (mswindows_button_instantiate): Made use of WS_TABSTOP
16291         consistent: "operable" controls (edit, button, tree, scroll) have
16292         this style, "display-only" ones (static, progress gauge) do
16293         not. This style is currently ignored by XEmacs though. Also,
16294         removed the WS_EX_CONTROLPARENT style - it is not for children,
16295         it is for their parents!
16296         (mswindows_edit_field_instantiate): Ditto.
16297         (mswindows_progress_gauge_instantiate): Ditto.
16298         (mswindows_tree_view_instantiate): Ditto.
16299         (mswindows_tab_control_instantiate): Ditto.
16300         (mswindows_scrollbar_instantiate): Ditto.
16301         (mswindows_combo_box_instantiate): Ditto.
16302         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16303         style to the "clip" window.
16304         (mswindows_button_instantiate): Removed compilation warning by
16305         equally typing terms of the ?: operator.
16306
16307 2000-01-12  Didier Verna  <didier@xemacs.org>
16308
16309         * redisplay.c (generate_fstring_runes): new parameter holding the
16310         last modeline-format extent.
16311         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16312         extent, fill the glyph block with it.
16313         (generate_fstring_runes): handle these parameters.
16314         (generate_formatted_string_db): ditto.
16315
16316         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16317         glyphs'extents in the modeline.
16318
16319 1999-01-11  Mike Woolley  <mike@bulsara.com>
16320
16321         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16322         256Mb, as a workaround for the non-starting problem many people
16323         have experienced.
16324
16325 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16326
16327         * console-tty.c (Fset_console_tty_output_coding_system):
16328         Force redrawing tty frame.
16329
16330 2000-01-10  Didier Verna  <didier@xemacs.org>
16331
16332         * redisplay.c (generate_fstring_runes): fix size computation bug.
16333
16334 2000-01-09  William M. Perry <wmperry@aventail.com>
16335
16336         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16337
16338 2000-01-09  Andy Piper  <andy@xemacs.org>
16339
16340         * glyphs-msw.c: index -> i to avoid shadows.
16341         (xbm_create_bitmap_from_data): make static.
16342         (check_valid_string_or_int): deleted.
16343         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16344
16345         * glyphs-x.c (x_update_subwindow): remove unused args.
16346
16347         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16348         back pointer - this is done in allocate_image_instance.
16349         (query_string_font): return Qnil to make the compiler happy.
16350         (unmap_subwindow): set to ~0 to make the compiler happy.
16351         (glyph_query_geometry): comment out until used.
16352         (glyph_layout): ditto.
16353
16354 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16355
16356         * insdel.c (signal_after_change): Remove extraneous unbind_to().